Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NM_Lab_05.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
603 Кб
Скачать
☆

Пример 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. Численное интегрирование функции методом Монте-Карло

  1. ограничим функцию прямоугольником (n-мерным параллелепипедом в случае многих измерений), площадь которого Spar можно легко вычислить;

  2. «набросаем» в этот прямоугольник (параллелепипед) некоторое количество точек (N штук), координаты которых будем выбирать случайным образом;

  3. определим число точек (K штук), которые попадут под график функции;

  4. площадь области, ограниченной функцией и осями координат, S даётся выражением

Для небольшого числа измерений интегрируемой функции производительность этого метода ниже, чем производительность детерминированных методов. Тем не менее, в некоторых случаях, когда функция задана неявно, а необходимо определить область, заданную в виде сложных неравенств, стохастический метод может оказаться более предпочтительным.