Пример 2.
Вычислить определенный интеграл из примера 1 по формуле трапеций.
Введем исходные данные: отрезок интегрирования (А4:B4); количество отрезков разбиения (C4); формулу расчета шага интегрирования h (D4) (см. рис. 7).
В ячейках B6:C6 вычислим значения y0 = y(a), yn = y(b); в ячейке D6 – значение h(y0 + yn).
Заполним блок А8:B19, используя формулы Excel самостоятельно (в ячейке В9 воспользуемся функцией ЕСЛИ для вывода надписи «Стоп» при достижении точки b). Введем подынтегральную функцию
в ячейку С8 и заполним блок С8:С18.
В столбце D накапливается сумма h(y0 + y1 + … + yn).
Представим формулу трапеций в виде:
Данная формула реализуется в столбце E и выдается значение интеграла с пятью знаками после запятой.
Рис. 7. Численное интегрирование по методу трапеций
Скопировав полученное решение на тот же лист, выполним вычисление интеграла по формуле трапеций при n = 20.
Формула Симпсона. Разобьем отрезок интегрирования [a, b] на четное число элементарных отрезков.
В основе формулы Симпсона лежит интерполяция подынтегральной функции y = y(y) многочленом второй степени, т.е. подынтегральная функция на каждом элементарном отрезке двойной длины заменяется параболой, построенной по трем точкам – (x2i, y2i), (x2i+1, y2i+1) и (x2i+2, y2i+2). Тогда значение интеграла можно приближенно получить по формуле
где h = (b – a)/n, y(x0 = a) = y0, y(xn = b) = yn, y(xi = a + ih) = yi, i = 0, 1, ..., n. Указанная формула называется формулой Симпсона и имеет четвертый порядок точности относительно h, т.е. O(h4).
Пример 3.
Вычислить определенный интеграл из примера 1 по формуле Симпсона.
Введем исходные данные: отрезок интегрирования (А4:B4); количество отрезков разбиения (C4); формулу в ячейку D4 (см. рис. 8), которая предупредит об ошибке при задании нечетного n.
Рис. 8. Численное интегрирование по методу Симпсона
Вычислим значение yn = y(b) в ячейке В6. Заполним блок А8:B19 (в ячейке В9 воспользуемся функцией ЕСЛИ для вывода надписи «Стоп» при достижении точки b). Введем подынтегральную функцию
в ячейку С8 и заполним блок С8:С18.
Преобразуем формулу Симпсона с учетом того, что последнее значение yn = y(b) всегда будет иметь четный индекс, к виду:
При вычислении частичных сумм в столбце D необходимо учесть, что значения подынтегральной функции при четном n умножаются на 2, а при нечетном n – на 4, поэтому для определения четности или нечетности индекса, используем формулу ОСТАТ(n; 2) (указанная формула выдает значение остатка при делении на 2). Очевидно, что для четных n остаток при делении на 2 будет равен нулю, а при нечетных n – отличен от нуля (см. рис. 9).
В столбце E выведем значение интеграла с пятью знаками после запятой.
|
D |
E |
7 |
частичные суммы |
Интеграл |
8 |
=C8 |
|
9 |
=ЕСЛИ(ОСТАТ(A9;2)=0;D8+2*C9; D8+4*C9) |
=ЕСЛИ(B9>=$B$4;"Интеграл=" &ОКРУГЛ((D9–$B$6)*$D$4/3;5);"…") |
Рис. 9. Формулы метода Симпсона
Скопировав полученное решение на тот же лист, выполним вычисление интеграла по формуле Симпсона при n = 20.
Метод Монте-Карло. Основная идея метода Монте-Карло заключается в многократном повторении случайных испытаний. Характерной особенностью этого метода является использование случайных чисел (числовых значений некоторой случайной величины). Такие числа можно получать с помощью датчиков случайных чисел. Например, в языке программирования Turbo Pascal имеется стандартная функция random, значениями которой являются случайные числа, равномерно распределенные на отрезке [0; 1]. Сказанное означает, что если разбить указанный отрезок на некоторое число равных интервалов и вычислить значение функции random большое число раз, то в каждый интервал попадет приблизительно одинаковое количество случайных чисел. В языке программирования BASIC подобным датчиком является функция rnd. В табличном процессоре Excel функция СЛЧИС возвращает равномерно распределенное случайное число большее или равное 0 и меньшее 1 (изменяется при пересчете).
Рассмотрим интеграл
Для того чтобы оценить (вычислить) интеграл, необходимо воспользоваться формулой
где xi (i = 1, 2, …, n) – случайные числа, лежащие в интервале [a; b].
Для получения таких чисел на основе последовательности случайных чисел xi, равномерно распределенных в интервале [0; 1], достаточно выполнить преобразование xi = a + (b – a)xi.
Точность оценки зависит только от количества точек n.
Для определения площади под графиком функции (рис. 10) можно использовать следующий стохастический алгоритм:
Рис. 10. Численное интегрирование функции методом Монте-Карло
ограничим функцию прямоугольником (n-мерным параллелепипедом в случае многих измерений), площадь которого Spar можно легко вычислить;
«набросаем» в этот прямоугольник (параллелепипед) некоторое количество точек (N штук), координаты которых будем выбирать случайным образом;
определим число точек (K штук), которые попадут под график функции;
площадь области, ограниченной функцией и осями координат, S даётся выражением
Для небольшого числа измерений интегрируемой функции производительность этого метода ниже, чем производительность детерминированных методов. Тем не менее, в некоторых случаях, когда функция задана неявно, а необходимо определить область, заданную в виде сложных неравенств, стохастический метод может оказаться более предпочтительным.
