- •Раздел 6.
- •Раздел 6. Модели и алгоритмы решения задач численными методами с использованием математических пакетов Рекомендации по использованию учебного пособия
- •Тема 6.1. Элементы теории погрешностей
- •6.1.1. Точные и приближенные числа
- •6.1.2. Абсолютная и относительная погрешность
- •Тема 6.2. Методы решения нелинейных уравнений
- •6.2.1. Постановка задачи
- •Отделение корней (локализация корней);
- •Итерационное уточнение корней.
- •6.2.2. Отделение корней
- •6.2.2.1. Графическое отделение корней
- •6.2.2.2. Аналитическое отделение корней
- •6.2.3. Уточнение корней
- •6.2.3.1. Метод половинного деления
- •6.2.3.2. Метод итерации
- •6.2.3.3. Метод Ньютона (метод касательных)
- •6.2.3.4. Метод хорд
- •6.2.3.5. Сравнение методов решения нелинейных уравнений
- •6.2.4. Технология решения нелинейных уравнений средствами MathCad
- •Тема 6.3. Интерполяция функций
- •6.3.1. Постановка задачи
- •6.3.2. Интерполяционная формула Лагранжа
- •6.3.3. Интерполяционные формулы Ньютона
- •6.3.3.1. Конечные разности
- •6.3.3.2. Первая интерполяционная формула Ньютона
- •6.3.3.3. Вторая интерполяционная формула Ньютона
- •6.3.4. Сплайн – интерполяция
- •6.3.5. Сравнение интерполяционных многочленов по применению
- •6.3.6. Технология интерполяции функций в среде математических пакетов
- •Тема 6.4. Численное интегрирование
- •6.4.1. Постановка задачи
- •6.4.2. Метод прямоугольников
- •6.4.3. Формула трапеций
- •6.4.4. Формула Симпсона
- •6.4.5. Оценка погрешности численного интегрирования
- •6.4.6. Технология вычисления интегралов в среде математических пакетов
- •Тема 6.5. Методы решения обыкновенных дифференциальных уравнений
- •6.5.1. Постановка задачи
- •6.5.2. Метод Эйлера
- •6.5.3. Методы Рунге-Кутты
- •6.5.4. Решение оду n-го порядка
- •6.5.5. Сравнение методов решения оду
- •6.5.6. Технология решения обыкновенных дифференциальных уравнений средствами математических пакетов
- •6.6.2. Метод дихотомии
- •6.6.3. Метод золотого сечения
- •6.6.4. Сравнение методов
- •6.6.5. Технология решения задач одномерной оптимизации средствами математических пакетов
- •Тема 6.7. Аппроксимация функций
- •6.7.1. Постановка задачи аппроксимации
- •6.7.2. Метод наименьших квадратов
- •6.7.3. Технология решения задач аппроксимации функций средствами математических пакетов
- •Тема 6.8. Многомерная оптимизация
- •6.8.1. Постановка задачи и основные определения
- •6.8.2. Методы спуска
- •6.8.3. Метод градиентного спуска с дроблением шага
- •6.8.4. Метод наискорейшего спуска
- •6.8.5. Проблема оврагов. Метод покоординатного спуска
- •6.8.6. Технология решения задач многомерной оптимизации средствами математических пакетов
- •Список литературы
- •Тема 6.4. Численное интегрирование................................................71
- •Тема 6.5. Методы решения обыкновенных дифференциальных Уравнений............................................................................. 92
- •Тема 6.6. Одномерная оптимизация................................................ 115
- •Тема 6.7. Аппроксимация функций....................................................132
- •Тема 6.8. Методы многомерной оптимизации............................... 149
- •Список литературы.................................................................... 204
6.4.3. Формула трапеций
Разобьем интервал интегрирования [a;b] на n равных отрезков (рис. 6.4.3-1) и восстановим из полученных точек a, х1, x2, …, b перпендикуляры до пересечения с графиком функции. Соединив последовательно точки пересечения, представим площадь полученной криволинейной трапеции как сумму прямолинейных трапеций, площади которых легко подсчитать. Заменив подынтегральную функцию f(x) в пределах элементарного отрезка [xi;xi+1] интерполяционным многочленом первой степени, получим следующие формулы для элементарных площадей:
Рис. 6.4.3-1
Тогда общая площадь равна:
Отсюда получаем формулу трапеций:
(6.4.3-1)
6.4.4. Формула Симпсона
Для получения формулы Симпсона применяется квадратичный интерполирующий полином, следовательно, за элементарный интервал интегрирования принимается отрезок [xi;xi+2]. Поэтому разобьем интервал интегрирования [a;b] на n отрезков, где n=2m – четное число (рис. 6.4.4-1).
Рис. 6.4.4-1
Для получения интерполирующей функции на интервале [xi;xi+2] воспользуемся первой интерполяционной формулой Ньютона, используя в качестве узлов интерполяции точки xi, хi+1 и xi+2.
(6.4.4-1)
В пределах отрезка [xi;xi+2], на котором подынтегральная функция аппроксимирована многочленом (6.4.4-1), получим приближенную формулу Симпсона:
(6.4.4-2)
Для отрезка [x0;x2]
Для отрезка [x2;x4]
Тогда для всего интервала интегрирования [a;b] формула Симпсона выглядит:
или
при (6.4.4-3)
6.4.5. Оценка погрешности численного интегрирования
Замена подынтегральной функции интерполяционным полиномом приводит к погрешности вычисления его значения R=|I1 – I|, где
Очевидно, что вычислить эту погрешность можно только, если известно точное значение интеграла. Поэтому на практике принято проводить оценку погрешности численного интегрирования следующим образом (подынтегральная функция задана таблично (Т) или аналитически (А)):
при использовании форму левых или правых прямоугольников
при использовании формулы средних прямоугольников
при использовании формулы трапеций
при численном интегрировании по формуле Симпсона:
В приведенных выше формулах: a, b – границы интервала интегрирования; h=(b-a)/n – шаг интегрирования; . и – среднее арифметическое, соответственно, первых, вторых и четвертых конечных разностей.
Поскольку в формуле погрешности для метода трапеций присутствует вторая производная, а в формуле Симпсона – четвертая, то формула трапеций точна только для линейных функций, а формула Симпсона для линейных, квадратичных и кубических.
Из приведенных формул видно, что уменьшение шага интегрирования (h) приводит к уменьшению погрешности. При этом, поскольку квадратичная интерполяция представляет функцию с большей точностью, чем линейная, то при использовании формулы Симпсона требуемая точность достигается при меньших значениях n (количестве разбиений), чем, например, при использовании формулы трапеций и формулы прямоугольников.
Формулы для оценки погрешности могут быть также использованы для выбора числа разбиений n или шага интегрирования h, необходимых для обеспечения заданной точности. Однако практическое использование этих формул ограничено в связи с трудоемкостью их вычислений, поэтому при реализации численных методов на ПК используется прием, позволяющий получить оценку погрешности в неявном виде. Этот прием основан на двукратном вычислении значения интеграла вначале с шагом h (где h=(b-a)/n), а затем с шагом h/2. Полученные значения интегралов Ih и Ih/2 могут быть применены для оценки погрешности интегрирования по формуле:
(6.4.5-1)
где: k=1 – для формул левых и правых прямоугольников;
k=2 – для формул трапеции и средних прямоугольников;
k=4 – для формулы Симпсона.
Если полученная погрешность не удовлетворяет требуемой точности, то вычисляется значение интеграла при h=h/4 и снова оценивается погрешность, и т.д. до тех пор, пока не окажется, что погрешность стала меньше заданной точности. Это правило называется правилом Рунге (или правилом двойного просчета).
Пример 6.4.5-1. Вычислить значение определенного интеграла
Предположим, что, подынтегральная функция задана таблично:
-
x
0.0
0.1
0.2
0.3
0.4
0.5
f(x)
1.0
0.99005
0.960789
0.913913
0.852144
0.778801
-
0.6
0.7
0.8
0.9
1.0
0.697676
0.612626
0.527292
0.44858
0.367879
Используем формулы правых и левых прямоугольников, считая, что h = 0.2, а n=(b-a)/h=5, имеем:
Используем формулу трапеций:
Используем формулу средних прямоугольников:
Используем формулу Симпсона при m=2∙n=10(2∙5) и шаге h=0.1:
Произведем оценку погрешности каждого из полученных значений, используя известное аналитическое выражение подынтегральной функции f(x):
Следовательно,
Анализируя значения погрешностей, можно с уверенностью сказать, что самый точный результат получен с использованием формулы Симпсона.