Вычисление определенных интегралов

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

Integ = trapz(х, у);

Одномерный массив х (вектор) содержит дискретные значения аргументов подынтегральной функции [5, 6]. Значения подынтегральной функции в этих точках сосредоточены в одномерном массиве у. Чаще всего для интегрирования выбирают равномерную сетку, то есть значения элементов массива х отстоят друг от друга на одну и ту же величину - шаг интегрирования. Точность вычисления интеграла зависит от величины шага интегрирования: чем меньше этот шаг, тем больше точность.

Вычислим простой интеграл:

методом трапеций с разной величиной шага интегрирования. Сначала зададим шаг интегрирования равным pi/10:

dx = pi/10; х = 0:dx:pi; y=cos(x); I = trapz(x,y);

I = 5.5511e-017

и получим поразительно точный результат (абсолютно точный равен нулю), ко­торый бесполезно пытаться улучшать, так как уже достигнута предельная точ­ность, обусловленная конечной точностью хранения вещественных чисел на компьютере (примерно 16 десятичных знаков после запятой). Такая высокая точность является скорее исключением, чем правилом. Обыч­но же для достижения высокой точности требуется выполнять интегрирование с очень малыми шагами, а контроль достигнутой точности осуществлять путем сравнения последовательных результатов. Например, при вычислении методом трапеций интеграла:

с шагом интегрирования dx = 1

dx = 1; х = 0:dx:5;

l2 = trapz(x, y);

получается следующий результат:

l2 = 0.4226.

Если провести повторное интегрирование с шагом dx = 0.1, то результат будет:

l2 = 0.5014.

Уменьшая далее шаги интегрирования последовательно в 10 раз, находим, что при dx = 0.01 интеграл равен 0.5023, то есть уже здесь видна тенденция к стабилизации результата. При dx = 0.001 снова получаем:

l2 = 0.5023,

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: