Другие языки программирования и технологии

Вопрос программистам, математикам и просто грамотным образованым людям. Численное интегрирование.

Вот дали нам в институте пару примеров численного интегрирования, методами симпсона и трапеции. По самим методам вопросов нет. Интересно, как находится точность. Программно это задается просто, берем n делений отрезка, вычисляем интеграл, потом берем n+1 делений отрезка, вычисляем и сравниваем с предыдущим, все в цикле по условию, и когда, разница будет меньше заданной точности - выходим.
Так вот у меня вопрос, а правильно ли это? Может быть такое, например, что первый член будет равен 10 второй 9, точность заданная 1.1 , а истинное значение интеграла 7? цифры из воздуха.
Иными словами появятся такие два члена в последовательности, разница между которыми будет удовлетворять точности, а до истинного значение интеграла еще очень далеко?
интеграл (или площадь под кривой) , полученный численными методами - не обязательно будет монотонная функция от количества итераций, но сходиться при уменьшении шага он обязан (иначе теряет смысл понятие площадь)
Евгений Сафронов
Евгений Сафронов
36 737
Лучший ответ
Евгений Сафронов тоесть тебе нада не разницу между значениями, а модуль разницы :)) хранитель ...
Христофорос Пападопулос естественно, что сходится будет, вопрос немного не в том. Правильно ли так интегрировать с заданной точностью?
Теоретически можно придумать такие функции, но практически они не попадаются. Обычно функции достаточно гладкие.
ВО
Вова Огнев
95 660
Во-первых, как правило, берут следующий шаг в n/2, шагов вдвое больше.
Во-вторых, как правильно сказал Краб, на практике функции с пиками в точках, где вычисляются значения, попадаются редко.
В-третьих, если уж совсем стремно, то можно точки брать случайным образом, вероятность того, что они попадут в "неудачные" холмы и провалы, быстро сходится почти к нулю.
Bo
Bootlegger
91 723
Это полностью определяется "гладкостью" под интегральной функции, еще говорят об ее интегрируемости.Есть соответствующие теоремы.Можно легко построить сингулярую функцию, значения интеграла которой будут неопределенны .А в вашем примере при точности 1.1(??) уж точно ни одного верного знака нет.
К примеру, попробуйте про интегрировать ln(x) от 0 до 1 численно.
Вы будете неприятно удивлены, хотя точное значение интеграла =-1.
Любые численные методы проверяются по-старинке: берётся интеграл, который можно без проблем решить без компьютера, решается, получается ответ. Этот же самый интеграл загоняется в программу, и путём подбора точности определяется что лучше.
Не забывайте про графический смысл интеграла - это площадь фигуры между линией, описанной функцией и осью Х на заданом участке.
BT
B Taskynov
35 665