
0,5 0,4 0,8 1,2 1,6
Рис. 6.5. Геометрическая иллюстрация вычисления значения определённого интеграла по формуле левых прямоугольников.
Расчет по формуле правых прямоугольников:
Погрешность
расчета
4,125
- 4,71
= -
0,585.
Для повышения точности необходимо увеличить n или использовать более точные квадратурные формулы.
Расчет по формуле центральных прямоугольников:
Погрешность
расчета
4,125 - 4,114= 0,011.
Формула центральных прямоугольников на порядок точнее предыдущих формул.
Рис. 6.6. Схема алгоритма метода прямоугольников.
6.2. Формула трапеций.
В данном методе элементарная криволинейная трапеция заменяется трапецией (кривая f(x) заменяется хордойCD).
Рис.
6.7. Оценка элементарной площадиSiтрапецией.
Из
рисунка видно, что
Отсюда:
(6.7)
Погрешность
формулы трапеций пропорциональная
квадрату шаг h
т.е.формулы
центральных прямоугольников и трапеций
имеют близкую точность.
Пример
6.2.
Вычислить по формуле трапеций значение
ранее рассмотренного определённого
интеграла
приn
=5, h
= 0,3.
Погрешность
расчета
4,125 – 4,1475.
Формула трапеций имеет такую же точность, как и формула центральных прямоугольников.
Знак погрешности легко объяснить по геометрической иллюстрации применения формулы.
Рис. 6.8. Схема алгоритма метода трапеций.
6.3. Формула Симпсона.
На каждом элементарном отрезке
подынтегральная функция f(x)
заменяется квадратичной параболой,
построенной по трем точкам: концам
элементарного отрезка (),
(
)
и его середине (
).
Площадь полученной криволинейной трапеции служит оценкой элементарной площади Si:
Тогда значение интеграла:
Добавим
в скобки
,
вынесем общий множитель за скобки:
(6.8)
Формула Симпсона имеет высокую точность, так как погрешность метода м= О(h3)
Рис 6.9. Схема алгоритма метода Симпсона.
Пример
6.3.
Вычисление значения ранее рассмотренного
интеграла
по формуле Симпсона:
Для упрощения расчета возьмем n=2, тогда h=0,75.
Погрешность расчета = 4,125 – 4,125 = 0.
Такой результат объясняется тем, что подынтегральная функция в примере является квадратичной параболой, и замена ее параболой не вносит погрешности метода, а погрешность округления в расчётах отсутствует.
Рассмотренные формулы являются частным случаем формулы Ньютона-Котеса, полученной в общем виде при замене подынтегральной функции f(x) полиномомk-ой степени (приk=1 – формула трапеций, приk=2 – формула Симпсона).Чем больше k, тем точнее вычисляется интеграл при одинаковом числе узлов n.
6.4. Выбор шага интегрирования.
При вычислении значения определенного интеграла от функций, заданных аналитически, необходимо обеспечить требуемую точность расчета ε.
Точность вычисления можно повысить двумя способами:
Использовать более точную квадратурную формулу.
Увеличить количество узлов, соответственно уменьшить шаг интегрирования h.
На
практике обычно используется формула
Симпсона, а требуемая точность расчета
достигается вторым из указанных выше
способов. Выполняется расчет с выбранным
числом узлов n,
затем выполняется расчет с удвоенным
их числом. Если результаты отличаются
более чем на требуемую точность, число
узлов вновь удваивается. Расчет
заканчивают, когда
,
полагая, что
,
т.е. последнее вычисленное приближенное
значение интеграла отличается от точного
значения не больше чем на заданную
точность.
Такой способ называется автоматическим выбором шага интегрирования и легко реализуется на ЭВМ.
Начальный шаг интегрирования рекомендуется выбирать из соотношения:
где k = 1 для формул правых и левых прямоугольников;
k = 2 для формул трапеций и центральных прямоугольников;
k = 3 для формулы Симпсона.
Рис. 6.10. Схема алгоритма вычисления определенного интеграла
с автоматическим выбором шага интегрирования.
Важно напомнить, что погрешность решения включает погрешности метода δM и погрешность округления δO. При увеличении числа узлов n δM уменьшается, но растет δO, т.к. увеличивается количество арифметических действий для решения задачи. Зависимость этих величин показана на графике.
Рис. 6.11. Структура погрешности численного интегрирования.
Из графика следует, что требуемую точность ε следует выбирать больше δкр, иначе требуемая точность не может быть достигнута.
Тема 7
Решение обыкновенных дифференциальных уравнений.
Уравнение, содержащее производные от искомой функции y=y(x), называетсяобыкновенным дифференциальным уравнением(ОДУ).
Общий вид дифференциального уравнения:
(7.1)
где n– наивысший порядок производной, определяетпорядок уравнения.
Решением ОДУ называется функция y = y(x), которая после ее подстановки в уравнение (7.1) обращает его в тождество.
Общее решение ОДУ имеет вид:
(7.2)
где C1, C2, …, Cn – постоянные интегрирования.
Частное
решение
получается из общего при конкретных
значениях Ci,
.
Эти значения определяются изn
дополнительных
условий.
В качестве таких условий могут быть
заданы значения функции и ее производных
при некоторых значениях аргумента x,
иначе говоря, в некоторых точках.
В зависимости от того, как заданы эти дополнительные условия, выделяют 2 типа задач:
Задача Коши. Все условия заданы в одной, начальной точке, поэтому они называются начальными условиями.
Краевая задача. Условия заданы в более чем одной точке, обычно в начальной и конечной. Условия в этом случае называются краевыми или граничными. Такая задача может возникнуть только при решении ОДУ с порядком выше первого.
Разработано множество методов решения подобных задач:
Графические методы. Например, метод изоклин - путем графических построений находят точки исходной функции и строят ее график.
Аналитические методы позволяют получить формулу исходной функции путем аналитических преобразований.
Приближенные методы позволяют получить приближенное аналитическое решение в результате принятых упрощений. К приближенным относятся асимптотические методы и метод малых возмущений.
Численные методы позволяют получить таблицу приближенных значений искомой функции для ряда заранее выбранных значений ее аргумента.
На практике чаще всего применяются численные методы: они просты в использовании и не имеют ограничений.
Задача решения ОДУ 1-го порядка (задача Коши) формулируется следующим образом:
Найти y = y(x), удовлетворяющую уравнению
y’ = f(x,y) (7.3)
для x [a,b] при заданном начальном условии y(a) = y0.
Рассмотрим численные методы решения этой задачи.
7.1. Метод Эйлера (метод Рунге-Кутта 1-го порядка).
Разобьем [a,b] наnравных частей –элементарных отрезков,x0,x1,…,xnбудем называтьузлами сетки,h= (b-a)/n-шаг сетки.
Очевидно, что
,
;
,
.
Заменим в уравнении (7.1) y’в точкеxiеё приближенной оценкой – отношением приращений (это следует из определения производной):
Тогда получаем:
Отсюда формула Эйлера:
(7.4)
,
– номер узла
Зная y0в точкеx0(начальное условие) можно найтиy1, затем, используя уже известные значенияx1иy1, вычислитьx2иy2и так далее.
Рассмотрим геометрическую иллюстрацию метода Эйлера. В координатах (x,y) отобразим известные данные: отрезок [a,b] на оси Х и начальное условиеy0– точка А с координатами (a,y0). Отрезок [a,b] разобьем наnравных частей, получим узлы равномерной сеткиa=x0,x1,x2, … ,xn =b. Вычислим значения первой производной искомой функции в точке А, используя координату этой точки и исходное уравнение (7.3)
Полученное значение позволяет построить касательную к искомой функции в точке А. Эту касательную можно использовать для вычисления приближенного значения искомой функции в новом узле х1(кривуюy(x) заменяем на отрезком АВ на элементарном отрезке [x0,x1]).
Рис. 7.1. Геометрическая иллюстрация метода Эйлера.
Зная (x1,y1), можно аналогично получить новую точку (x2,y2) и т.д.
Из геометрической иллюстрации следует, что:
На каждом шаге есть погрешность (на рисунке это отрезок BD).Погрешность тем больше, чем больше шаг.
Ошибка может накапливаться.
Формула
Эйлера (7.4) имеет погрешность метода
Для практического выбора hс целью обеспечения заданной точности решения задачиприменяется следующий прием.
Выполняются 2 расчета: с nи 2nузлами. Если полученные значения функции в во всех узлах отличаются не более чем на, задача считается решенной. Если нет, число узлов вновь удваивают и опять сравнивают полученные значения функций.
Таким образом, расчет продолжается до достижения условия
(7.5)
Значение nможет достигать большой величины – более 1000. Чтобы не печатать столько значений функции, в алгоритме решения ОДУ методом Эйлера нужно предусмотреть печать не всех рассчитанных значений, а только части их, например, 10-ти значений, распределенных равномерно по всему отрезку.
Рис. 7.2. Алгоритм расчета новой точки методом Эйлера:
Пример
7.1.
Дано
уравнение
Найти решение для отрезка [0; 1], если y(0) = 1.
Выберем n= 10, тогда шагh=(1-0)/10 = 0,1.
Запишем уравнение в каноническом
виде
Начальная точка x0= 0,y0= 1.
Вычислим первую точку
x1=x0+h= 0 + 0,1 = 0,1
Вычислим вторую точку
Аналогично нужно вычислить еще восемь точек (выбрано n=10).
Рис. 7.3. Алгоритм решения ОДУ 1-го порядка методом Эйлера.
7.2. Модифицированный метод Эйлера (метод Рунге-Кутта 2-го порядка).
Для повышения точности формула Эйлера
применяется дважды на каждом элементарном
отрезке: сначала для вычисления значения
функции в середине отрезка
,
затем это значение используется для
вычисления тангенса угла наклона
касательной к графику искомой функции
в середине отрезка.
y
_ y1 y1 y0 А-
начальная точка.
L1-
касательная к y(x)
в точке А.
L2-
касательная к у(х) в середине элементарного
отрезка
L3
параллельно L2
через т. А
C
x1
Рис. 7.4. Геометрическая иллюстрация модифицированного метода Эйлера.
Расчётные формулы:
-
значение функции в середине отрезка
[x0,x1].
-
значение функции в конце отрезка [x0,x1].
Формула модифицированного метода Эйлера:
(7.6)
где i= 0, 1, ….,n-1 - номер узла;
xi=a+ih- координата узла;
у0 = у(х0) - начальное условие.
Алгоритм решения ОДУ отличается от описанного ранее алгоритма метода Эйлера (рис 7.3) только алгоритмом расчета новой точки (Рис. 7.5).
Погрешность метода О(h3).
Пример 7.2. Решение ранее рассмотренного уравнения (пример 7.1) модифицированным методом Эйлера.
y’ - 2y + x2 = 1, x [0;1], y(0) = 1.
Пусть n = 10 , h = (1 - 0)/10 = 0,1.
Начальная точка x0 = 0, y0 = 1.
Расчёт первой точки.
Аналогично расчёт следующих точек: 2, 3, ... ,10.
Рис. 7.5. Алгоритм расчёта новой точки модифицированным методом Эйлера:
7.3. Исправленный метод Эйлера.
В этом методе для повышения точности используется усреднённое значение производной на рассматриваемом отрезке:
В приведённой формуле yi+1входит в обе части уравнения и не может быть выражено явно. Чтобы обойти эту трудность, в правую часть, вместоyi+1подставляется значение, рассчитанное по формуле Эйлера(7.4).
Получаем формулу исправленного метода Эйлера:
,
(7.7)
где i= 0, 1, ….,n-1 - номер узла;
xi=a+ih- координата узла;
у0 = у(х0) - начальное условие.
Погрешность исправленного метода Эйлера М = О(h3).
Алгоритм решения ОДУ отличается от описанного ранее алгоритма метода Эйлера (рис 7.3) только алгоритмом расчета новой точки (Рис. 7.6).
Рис. 7.6. Алгоритм расчёта новой точки исправленным методом Эйлера:
L1- касательная к у(х) в начальной точке А, с tg0 = f(x0, y0).
т. В –
значение
вычисляется по формуле Эйлера.
L2
– касательная к у(х) в точке В, с tg1
=
f(x1,
).
L3 – прямая через В со среднеарифметическим углом наклона.
L4 - прямая, паралельная L3, проведенная через точку А.
Рис. 7.6. Геометрическая иллюстрация исправленного метода Эйлера.
Пример 7.3. Решение ранее рассмотренного уравнения (пример 7.1) исправленным методом Эйлера.
y’ - 2y + x2 = 1, x [0;1], y(0) = 1.
Пусть n = 10 , h = (1 - 0)/10 = 0,1.
Начальная точка x0 = 0, y0 = 1.
Рассчет первой точки.
Аналогично можно вычислить значения функции во 2, 3, ... , 10 точках.
7.4. Метод Рунге-Кутта 4 порядка.
На практике наибольшее распространение получил метод Рунге-Кутта 4-го порядка, в котором усреднение проводится по трём точкам, формула Эйлера на каждом отрезке используется 4 раза: в начале отрезка, дважды в его середине и в конце отрезка.
Расчетные формулы метода для дифференциального уравнения (7.3) имеют вид:
, (7.8)
где i= 0, 1, ….,n-1 - номер узла;
xi=a+ih- координата узла;
у0 = у(х0) - начальное условие.
Погрешность метода М = О(h5).
Схема алгоритма решения ОДУ методом Рунге-Кутта 4-го порядка отличается алгоритмом расчёта новой точки (Рис. 7.5).
Пример 7.4. Решение ранее рассмотренного уравнения (пример 7.1) методом Рунге-Кутта 4 порядка.
y’ - 2y + x2 = 1, x [0;1], y(0) = 1.
Пусть n = 10 , h = (1 - 0)/10 = 0,1.
Начальная точка x0 = 0, y0 = 1.
Рассчет первой точки.
Сначала вычислим значения C0, C1, C2, C3:
Вычислим значение y1:
Аналогично можно вычислить значения функции во 2, 3, ... , 10 точках.
Рис. 7.7. Схема алгоритма расчета новой точки методом Рунге-Кутта 4-го порядка.
Общая характеристика методов:
Все методы являются одношаговыми, то есть для вычисления значения функции в новой точке используется ее значение в предыдущей точке. Это свойство называется самостартованием.
Все методы легко обобщаются на системы дифференциальных уравнений 1-го порядка.
Тема 8
Решение систем обыкновенных дифференциальных уравнений.
Дана система дифференциальных уравнений:
,
гдеn–размерность
системы.
Рассмотрим задачу Коши для данной системы. Пусть известны начальные условия при x0=a:y1(x0) =y10,y2(x0) =y20, …,yn(x0) =yn0. Требуется найтиy1(x),y2(x),…,yn(x), проходящие через заданные точки: (x0,y10), (x0,y20), …, (x0,yn0).
Методы решения одного дифференциального уравнения можно обобщить и на их системы.
8.1. Метод Рунге-Кутта 4-го порядка для системы ОДУ 1-го порядка
Расчетные формулы метода Рунге-Кутта 4-го порядка для системы ОДУ 1-го порядка:
где ;
;
;
m– количество узлов;
– номер функции;
– номер узла;
;
;
;
.
На рис. 8.1 – 8.3 представлен алгоритм решения системы обыкновенных дифференциальных уравнений.
Рис. 8.1. Алгоритм решения системы ОДУ.
Рис. 8.2. Алгоритм расчета новой точки методом Рунге-Кутта 4-го порядка:
Рис. 8.3. Схема процедуры вычисления правой части системы ОДУ 1-го порядка:
8.1. Решение обыкновенных дифференциальных уравнений высших порядков.
Рассмотрим задачу Коши для ОДУ n-го порядка:
(8-1)
с начальными условиями:
y(x0) = y0, y(x0) = y0, y(x0) = y0,…, y(n-1)(x0) = y0(n-1).
Задача сводится к решению задачи Коши для систем nОДУ первого порядка.
Обозначим:
,
,…,
.
Тогда для решения уравнения (1) получаем систему ОДУ:
с начальными условиями:
,
,
,…,
.
11Здесь и далее основные определения выделяются в рамке.
2Здесь и далее специальные термины и определения выделяются полужирным курсивом.