И другие программы этой серии
- Сначала строится несколько интерполирующих полиномов, которые заменяют на интервале интегрирования подынтегральную функцию f(x). В качестве первой итерации полиномы вычисляются по 1, 2 и 4 интервалам. Например, первый полином, построенный по 1 интервалу, - это просто прямая линия, проведенная через две граничные точки интервала интегрирования, второй - квадратичная парабола и т. д.
- Интеграл от каждого полинома с известными коэффициентами легко вычисляется аналитически. Таким образом, определяется последовательность интегралов от интерполирующих полиномов: I1, I2, . . .
- Из-за интерполяции по разному числу точек вычисленные интегралы несколько отличаются друг от друга. Причем чем больше точек используется для интерполяции, тем интеграл от интерполяционного полинома ближе к искомому интегралу, стремясь к нему в пределе бесконечного числа точек. Поэтому определенным образом осуществляется экстраполяция последовательности I1, I2, . . до нулевой ширины элементарного интервала. Результат этой экстраполяции J принимается за приближение к вычисляемому интегралу.
- Осуществляется переход к новой итерации с помощью еще более частого разбиения интервала интегрирования, добавления нового члена последовательности интерполирующих полиномов и вычисления нового (n-го) приближения Ромберга Jn.
- Чем больше количество точек интерполяции, тем ближе очередное приближение Ромберга к вычисляемому интегралу и, соответственно, тем меньше оно отличается от приближения предыдущей итерации. Как только разница между двумя последними итерациями | Jn-Jn-1| становится меньше погрешности TOL, итерации прерываются, и Jn появляется на экране в качестве результата интегрирования.
О расходящихся интегралах
Если интеграл расходится (равен бесконечности), то вычислительный процессор MathCAD может выдать сообщение об ошибке, выделив при этом оператор интегрирования, как обычно, красным цветом. Чаще всего ошибка будет иметь тип \"Found a number with a magnitude greater than 10Л307\" (Найдено число, превышающее значение 10307) или \"Can\'t converge to a solution\" (Не сходится к решению).