Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вычислить определенный интеграл методом средних прямоугольников с точностью 0,0001, оценить точность по правилу рунге

Савва Симонов Ученик (88), закрыт 2 месяца назад
Лучший ответ
Ксения Райт Гений (94079) 3 месяца назад
Вы на главный вопрос так и не ответили! Здесь Вам отвечает известный на Ответах Мэйл Ру психически больной, который даже не понял что Вам требуется, и Вы его почему-то не баните, просто прожав дизлайк, следовательно серьёзных ответов на свои вопросы Вам не надо! И ответ Александра тоже совершенно бесполезный, а тогда и его вместе с его дурацким ответом не плохо было бы отправить прямиком в мут, но и он у Вас почему-то до сих пор не в бане, равно как и душевнобольной Фурсов!
А вот как можно сделать автоматизированный расчёт на плюсах то, что Вам действительно нужно:
 #include  
#include
#include

using namespace std;

double f(double x) { return pow(64. - x * x, -1.5); }

double middle_rectangles(double (*fun)
(double), double a, double b, double n)
{
double h = (b - a) / n, i, s = 0.;
for (i = 0.; i < n; i += 1.) s += fun(a + (i + 0.5) * h);
return s * h;
}

int main()
{
double a = 0., b = 4. * sqrt(3), n, s, s2;
cout.setf(ios::fixed); cout.precision(16);
while (true)
{
cout << "n: "; cin >> n;
s = middle_rectangles(f, a, b, n);
s2 = middle_rectangles(f, a, b, 2. * n);
cout << "Middle Rectangles: " << s2 <<
"\nε (Runge): " << fabs(s2 - s) / 3.<< endl;
}
}
Результаты работы кода в интерактивном сеансе:Начальное количество интервалов n, равное десяти, умножается на два, то есть всего двадцать равномерных интервалов вполне обеспечивают необходимую точность вычислений в соответствии с оценкой погрешности по правилу Рунге, которая, вообще-то, не очень точная, а поэтому n надо всегда брать избыточным, то есть с неким техническим запасом. А если ещё точность имеется в виду не абсолютная, а относительная, то n требуется брать значительно бо́льшим, а именно не n=10, a n=62.
Остальные ответы
Александр Искусственный Интеллект (298535) 3 месяца назад
без разницы на сколько прямоугольников делим? или нужно минимальное количество разбиений? или главное достигнуть точности по указанному правилу?
Савва СимоновУченик (88) 3 месяца назад
Главное достигать точности
Не важно сколько
Ксения Райт Гений (94079) Видите ли, оценку погрешности по правилу Рунге саму надо проверять (а то мало ли что кто-то ляпнул по какому-либо поводу в далёком позапрошлом веке !), для чего подойдёт, например, сравнение значений интегралов, вычисленных методами средних (порядок ошибки O(h²)) и Симпсона (порядок ошибки О(h⁴)). И все расчёты лучше сделать автоматизированными. В общем вот что получается для приближённо вычисленных разными методами интегралов и оценок абсолютных погрешностей:Короче правило Рунге, как сами видите, в данном случае работает достаточно неплохо. Поэтому метод Симпсона можно убрать за ненадобностью. Главный вопрос: Вам вручную, что ли, надо всё это пересчитать? Но тут таких безумцев нет! А если автоматизированно, тогда почему сразу инструментальные средства не указываете?
Похожие вопросы