- •Основы математического моделирования
- •Содержательные математические модели
- •Классификация содержательных моделей
- •Формальные математические модели
- •Законы сохранения
- •Вариационные принципы
- •Элементы теории размерностей
- •Контрольные вопросы
- •Основы работы с системой Maxima
- •Установка и запуск системы Maxima
- •Графический интерфейс wxMaxima
- •Справочная информация в wxMaxima
- •Сохранение данных и управление wxMaxima
- •Система компьютерной математики Maxima
- •Основные возможности системы Maxima
- •Скалярные выражения
- •Векторные и матричные выражения
- •Функции и управляющие структуры
- •Контрольные вопросы
- •Элементы вычислительной математики
- •Основы теории погрешностей
- •Абсолютная и относительная погрешности
- •Погрешности основных операций
- •Численное решение нелинейных уравнений
- •Локализация корней уравнения
- •Метод бисекции
- •Метод простой итерации
- •Метод касательных
- •Методы численного интегрирования
- •Метод прямоугольников
- •Метод трапеций
- •Метод парабол
- •Численное решение задачи Коши
- •Метод Эйлера
- •Метод Эйлера–Коши
- •Методы Рунге–Кутты
- •Контрольные вопросы
- •Моделирование в приложениях
- •Падение тела с учётом сопротивления воздуха
- •Колебания маятника с учётом силы трения
- •Полёт тела с учётом сопротивления воздуха
- •Листинги программ
40 |
3. Элементы вычислительной математики |
3.3.2. Метод трапеций
При аппроксимации площади элементарной криволинейной трапеции площадью элементарной прямолинейной трапеции, с высотой, равной длине отрезка [ −1, ], и основаниями ( −1), ( ), получаем квадратурную формулу трапеций:
≈ ( ) = ( |
( 0) + ( ) |
|
−1 |
( )) . |
|
2 |
+ |
∑ |
(3.10) |
||
|
|
|
=1 |
|
|
При заданной допустимой погрешности аппроксимации также, как и в предыдущем случае, формируется ряд возможных значений
шага 1, 2 = 1 , . . . , для каждого из которых находят апостериор-
2
ную оценку погрешности по формуле (3.8) при = 2.
Пример 3.6. Вычислить значение определённого интеграла функ-
2
ции Гаусса ( ) = √1 − 2 на отрезке [−1, 3] с погрешностью, не
2
превышающей = 10−6, используя квадратурную формулу трапеций (3.10).
Основным отличием от предыдущего примера будет определение новой функции «Jt(x)», которая вычисляет значение искомого интеграла по формуле (3.10).
Листинг 3.6 Численное интегрирование методом трапеций
(%i1) f(x):=exp(-x^2/2)/sqrt(2*%pi)$
(%i2) a:-1$ b:3$ en:1.E-6$
Jt(h):=float(h*((f(a)+f(b))/2 +
sum(f(a+h*i),i,1,(b-a)/h-1)))$
(%i6) h:1/2$ J0:Jt(2*h)$ J1:Jt(h)$
(%i9) while abs(J1-J0)/3 > en do (
h:h/2, J0:J1, J1:Jt(h))$
print("J[", h, "]=", round(J1/en)*en)$
[ 2561 ] = 0.839995
На рис.3.4 показана аппроксимация трапециями интеграла функ-
ции Гаусса на отрезке [−1, 3] с начальным значением шага 1 = 1 .
2
Чёрная утолщённая линия соответствует графику функции = ( ),
3.3. Методы численного интегрирования |
41 |
основная линия красного цвета соответствует огибающей аппроксимирующих трапеций, а точки красного цвета –– значениям функции( ), использованным для построения аппроксимации.
Рис. 3.4. Аппроксимация прямолинейными трапециями определённого интеграла для функции Гаусса ( ) на отрезке [−1, 3] с шагом узлов
1 = 12
После инициализации переменных «h», «J0» и «J1» запускается цикл «while» в рамках которого происходит вычисление приближений искомого интеграла ( ) и оценки их апостериорной погрешности ( ) при последовательном уменьшении шага . Условием входа в цикл, как и в предыдущем случае, является превышение требуемой погрешности аппроксимации | ( )| > .
По завершении вычислений на экран выводится искомое приближение интеграла 1 = 0,839995 с предельной абсолютной погреш-
256
ностью = 10−6. Из полученного результата видно, что для достижения заданной погрешности аппроксимации при использовании формулы трапеций (3.10) в приведённом примере потребовалось сократить шаг узлов до значения 8 = ( 1 )8 = 1 , которое достигается за восемь итераций. 2 256
Сравнивая показанное на рисунках 3.3 и 3.4 положение огибающих следует отметить, что в приведённых примерах формула центральных прямоугольников будет давать положительную, а форму-
42 |
3. Элементы вычислительной математики |
ла трапеций –– отрицательную погрешности аппроксимации, причём по абсолютному значению результат, полученный для формулы трапеций, будет незначительно отличаться от результата, полученного для формулы центральных прямоугольников.
3.3.3. Метод парабол
Ещё одним способом аппроксимации площади элементарной криволинейной трапеции является её замена площадью параболической трапеции, проходящей через три точки ( , ( )), − 12 ( − 12 ,( − 12 )), −1( −1, ( −1)). В результате получаем квадратурную формулу парабол или формулу Симпсона:
|
|
( ( 0) + ( ) + 4 |
|
|
|
|
−1 |
( )) . |
|
≈ ( ) = |
6 |
∑ |
( − |
1 |
) + 2 |
∑ |
(3.11) |
||
2 |
|||||||||
|
|
|
=1 |
|
|
|
=1 |
|
|
При заданной допустимой погрешности аппроксимации также, как и в предыдущих случаях, формируется ряд возможных значений
шага 1, 2 = 1 , . . . , для каждого из которых находят апостериор-
2
ную оценку погрешности по формуле (3.8) при = 3.
Пример 3.7. Вычислить значение определённого интеграла функ-
ции Гаусса ( ) = √1 |
2 |
на отрезке [−1, 3] с погрешностью, не |
− 2 |
2
превышающей = 10−6, используя квадратурную формулу парабол
(3.11).
Основным отличием от предыдущих примеров будет определение новую функции «Jp(x)», которая вычисляет значение искомого интеграла по формуле (3.11).
Листинг 3.7 Численное интегрирование методом парабол
(%i1) f(x):=exp(-x^2/2)/sqrt(2*%pi)$
(%i2) a:-1$ b:3$ en:1.E-6$
Jp(h):=float(h/6*(f(a) + f(b) +
4*sum(f(a+h*(i-1/2)),i,1,(b-a)/h) +
2*sum(f(a+h*i),i,1,(b-a)/h-1)))$
(%i6) h:1/2$ J0:Jp(2*h)$ J1:Jp(h)$
(%i9) while abs(J1-J0)/7 > en do (
3.3. Методы численного интегрирования |
43 |
h:h/2, J0:J1, J1:Jp(h))$
print("J[", h, "]=", round(J1/en)*en)$
[ 18 ] = 0.839995
На рис.3.5 показана аппроксимация параболическими трапециями интеграла функции Гаусса на отрезке [−1, 3] с начальным значением шага 1 = 0.5. Чёрная утолщённая линия соответствует графику функции = ( ), основная линия красного цвета соответствует огибающей аппроксимирующих трапеций (на рис.3.5 она практически сливается с чёрной линией), а точки красного цвета–– значениям функции ( ), использованным для построения аппроксимации.
Рис. 3.5. Аппроксимация параболическими трапециями определённого интеграла для функции Гаусса ( ) на отрезке [−1, 3] с шагом узлов
1 = 12
После инициализации переменных «h», «J0» и «J1» запускается цикл «while» в рамках которого происходит вычисление приближений искомого интеграла ( ) и оценки их апостериорной погрешности ( ) при последовательном уменьшении шага . Условием входа в цикл, как и в предыдущем случае, является превышение требуемой погрешности аппроксимации | ( )| > .
По завершении вычислений на экран выводится искомое прибли-
жение интеграла 1 = 0,839995 с предельной абсолютной погрешно-
8
