ЛЕКЦИЯ09N (Методы решения ДУ).ppt
- Количество слайдов: 13
ОДНОШАГОВЫЕ МЕТОДЫ РЕШЕНИЯ ОДУ
3. Одношаговые методы решения ОДУ Лекция 9
3. 1. Метод Эйлера Простейшим численным методом решения задачи Коши для ОДУ является метод Эйлера. Метод основан на разложении искомой функции Y(x) в ряд Тэйлора в окрестностях узлов x=xi (i=0, 1, …), в котором отбрасываются все члены, содержащие производные второго и более высоких порядков. Запишем разложение в виде: (1) Заменим значения функции Y в узлах xi значениями сеточной функции yi. Кроме того, используя исходное ДУ , полагаем Будем считать, что узлы равноотстоящие, т. е. С учетом введенных обозначений, пренебрегая членами порядка O(h 2), из равенства (1) получим: (2) Полагая i =0, из (2) находим значение сеточной функции y 1 при x=x 1 где y 0=Y(x 0)= Y 0 – задано начальным условием.
Аналогично могут быть найдены значения сеточной функции в других узлах: --------------------------------------Данный алгоритм называется методом Эйлера. Его разностная схема представлена соотношением (2), которое имеет вид рекуррентной формулы: значение сеточной функции yi+1 вычисляется по её значению yi в предыдущем узле xi. Из этого следует, что метод Эйлера относится к одношаговым методам (глубина рекурсии k=1). Результат решения ДУ представляется в виде таблицы числовых значений аргумента xi и сеточной функции yi, аппроксимирующей искомую функцию Y(x) в узлах xi , с шагом h : {xi, yi} xi=x 0+ih, i=0, 1, …. , n.
Геометрическая интерпретация метода Эйлера Изобразим первые два шага метода, т. е. вычисление сеточной функции в точках х1 и х2. Интегральные кривые 0, 1, 2 описывают точные решения ДУ y 0 1 2 3 C • dy/dx=f (x, y). При этом кривая 0 соответствует точно. A му решению задачи Коши, т. к. проходит • • через начальную точку А(x 0, y 0). Точки y 2 В и С получены в результате численного y 1 y 0 решения. Их отклонения от кривой 0 характеризуют погрешность метода. При 0 x 1 x 2 x выполнении каждого шага мы попадаем фактически на другую интегральную кривую. Отрезок АВ – отрезок касательной к кривой 0 в точке А, её наклон характеризуется значением производной Касательная ВС уже проводится к другой интегральной кривой 1. Таким образом, погрешность метода Эйлера приводит к тому, что на каждом шаге решение переходит на другую интегральную кривую. B
Погрешность метода Эйлера ei в точке xi можно записать так: , где ei ‑ разность между значением сеточной функции yi и точным значением искомой функции Y(xi). Погрешность состоит из 2 -х частей: , где – определяется погрешностью начального значения (обычно, начальное значение задаётся точно, т. е. y 0=Y(x 0) ), тогда. – обусловлена отброшенными членами ряда Тэйлора. На каждом шаге эта погрешность имеет порядок O(h 2) , т. к. отброшены члены 2 -го порядка. При нахождении решения в точке xn , отстоящей на расстоянии L от x 0, погрешность, как легко убедиться, суммируется. Суммарная погрешность равна, очевидно. Если учесть, что h=L/n, то для суммарной погрешности имеем: . Таким образом, метод Эйлера имеет первый порядок точности. Рассмотрим другую схему метода Эйлера.
3. 2. Модифицированный метод Эйлера, или метод Эйлера с пересчетом заключается в следующем. Значение правой части f(x, Y) в схеме метода Эйлера (2) возьмём равным среднему арифметическому значению между f(xi, yi) и f(xi+1, yi+1) т. е. вместо данной разностной схемы запишем несколько другую схему: (3) Эта схема является неявной, т. к. искомое значение yi+1 входит в обе части соотношения (3) и выразить явно его нельзя. Для вычисления yi+1 можно применить один из известных итерационных методов. В частности, если имеется хорошее начальное приближение yi, можно построить решение с использованием 2 -х итераций следующим образом:
a) Первая итерация – вычисляется по схеме Эйлера предварительное значение (4) где yi – начальное приближение. b) Полученное значение подставляем вместо yi+1 в правую часть (3) и находим окончательное значение (5) В общем виде алгоритм может быть записан так: (6) Рекуррентные соотношения (5) и (6) описывают новую разностную схему модифицированного метода Эйлера (с пересчетом).
Метод Эйлера с пересчетом можно получить иначе, используя разложение функции в ряд Тэйлора. При этом можно показать, что этот метод имеет второй O(h 2) порядок точности. Запишем: (7) Сохраним в этой схеме член с h 2. Для этого аппроксимируем 2 -ю производную с помощью отношения конечных разностей (8) Подставляя (8) в (7), получим (9) Заменяя производные в (9) выражениями где находится по формуле метода Эйлера, приходим к расчётной схеме (5) метода Эйлера с пересчетом. Погрешность метода на каждом
3. 3. Метод Рунге-Кутта является одним из методов повышенной точности. Имеет много общего с методом Эйлера. Допустим на отрезке [a, b] требуется найти численное решение дифференциального уравнения y'=f(x, Y) с начальными условиями Y(x 0)=Y 0. (10) Разобьём [a, b] на n равных частей точками В методе Рунге-Кутта, также как и в методе Эйлера, последовательные значения yi+1 искомой функции Y определяются по рекуррентной формуле yi+1= yi+Δyi А) Если разложить функцию в ряд Тейлора и ограничиться членами до четвёртого порядка (h 4), то приращение функции ΔY можно представить в виде: (11)
Производные дифференцированием: определяются из (10) последовательным Б) Вместо непосредственных вычислений ΔY по формуле (11) в методе Рунге-Кутта определяются 4 числа: (12) Можно доказать, что если числам k 1, k 2, k 3, k 4 придать соответствующие веса k 1=1/6; k 2=1/3; k 3=1/3; k 4=1/6, то приращение функции может быть записано: (13) что с точностью до 4 -го порядка (четвёртых степеней h) равно ΔY, вычисленному по формуле (11).
В) Таким образом, алгоритм метода заключается в следующем: 1) для каждой пары текущих значений xi, yi определяются значения коэффициентов (14) Затем находится приращение функции (15) и значение функции в следующей точке сетки по рекуррентной формуле (16)
Грубую оценку погрешности этого метода можно получить с помощью двойного просчета (двойной прогонки) по формуле (17) где Y(xi) значение точного решения в точке x=xi; yi – значение приближённого решения в i-й точке при шаге h; yi*– значение приближённого решения в i-ой точке при шаге h/2. Если ε – заданная точность решения, то число делений n для определения шага интегрирования h=(b–a)/n вычисляется так, чтобы h 4< ε. Погрешность более точного значения yn* оценивается по формуле: где Y(xn) значение точного решения при x=xn; yn – приближённое значение, полученное на n-ом шаге при расчете с шагом h; yn* – приближённое значение, полученное на n-ом шаге при расчете с шагом h/2.


