Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ(1-9) ЧИСЛЕННЫЕ МЕТОДЫ.doc
Скачиваний:
370
Добавлен:
29.05.2015
Размер:
8.35 Mб
Скачать

9.2. Метод Пикара

Метод Пикара позволяет получить приближенное решение дифференциального уравнения (9.2) в виде функции, заданной аналитически.

Пусть в условиях теоремы существования требуется найти решения (9.2) с начальным условием . Запишем уравнение (9.1) в следующем эквивалентном виде

. (9.14)

Проинтегрируем обе части (9.14) от доx:

. (9.15)

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

. (9.16)

Очевидно, что решение интегрального уравнения (9.16) будет удовлетворять ДУ (9.2) и начальному условию . Действительно, приполучим:

.

Интегральное уравнение (9.16) позволяет использовать метод последовательных приближений. Положим и получим из (9.16) первое приближение:

. (9.17)

Интеграл, стоящий в правой части (9.17) содержит только переменную x, после нахождения этого интеграла будет получено аналитическое выражение приближения как функции переменнойx. Заменим теперь в уравнении (9.16) y найденным значением и получим второе приближение:

(9.18)

и т.д.

В общем случае итерационная формула имеет вид:

(9.19)

Последовательное применение формулы (9.19) дает последовательность функций

(9.20)

Так как функция f непрерывна в области G, то она ограничена в некоторой области , содержащей точку, т.е.

. (9.21)

Применяя к уравнению (9.19) принцип сжимающих отображений можно показать, что последовательность (9.20) сходится по метрике в пространстве непрерывных функций, определенных на сегменте , таких, что. Предел последовательности является решением интегрального уравнения (9.16), а, следовательно, и дифференциального уравнения (9.2) с начальными условиями. Это означает, чтоk-й член последовательности (9.20) является приближением к точному решению уравнения (9.2) с определенной степенью точности.

Оценка погрешности k-го приближения дается формулой:

, (9.22)

где M  константа Липшица (9.7), N  верхняя грань модуля функции f из неравенства (9.21), а величина d для определения окрестности вычисляется по формуле

. (9.23)

9.3. Метод Эйлера

В основе метода Эйлера лежит идея графического построения решения ДУ (рис. 9.1).

Рис. 9.1

Пусть дано уравнение (9.2) с начальным условием . Выбрав достаточно малый шагh, построим, начиная с точки , систему равноотстоящих точек. Вместо искомой интегральной кривой на отрезкерассмотрим отрезок касательной к ней в точке, уравнение которой.

При из уравнения касательной получаем. Следовательно, приращение функции на первом шаге равно.

Проведя аналогично касательную к интегральной кривой в точке в точке , получим:

,

что при дает, т.е.получается издобавлением приращения.

Таким образом, вычисление таблицы значений функции, являющейся решением ДУ (2.8), состоит в последовательном применении пары формул:

, (9.24)

. (9.25)

Метод Эйлера, как, видно из рисунка, имеет погрешность. Определим локальную погрешность, присутствующую на каждом шаге, которая определяется разностью между точным значением функции и соответствующим значением касательной. Для первого шага:

(9.26)

Из (9.26) видно, что локальная погрешность пропорциональна . Суммарная погрешностьпослеN шагов пропорциональна , поскольку, то, т.е. метод Эйлера метод первого порядка точности по h.

Известны различные уточнения метода Эйлера. Модификации данных методов направлены на уточнение направления перехода из точки в точкуНапример, в методе ЭйлераКоши используют следующий порядок вычислений:

,

. (9.27)

Геометрически это означает, что определяется направление интегральной кривой в исходной точке и во вспомогательной точке, а в качестве окончательного берется среднее значение этих направлений.

Пример 9.1. Найти решение задачи Коши дифференциального уравнения

, ,

методами Эйлера и методом Эйлера-Коши.

1. Нахождение численного решения ДУ методом Эйлера.

Для нахождения решения данного ДУ необходимо создать файл Euler.m, содержащий описание функции, возвращающей решение дифференциального уравнения методом Эйлера.

% листинг файла euler_g9.m

function [X,Y]=Euler_g9(y0,x0,x1,N)

dx=(x1-x0)/N;

x(1)=x0;

y(1)=y0;

for i=1:N

x(i+1)=x(1)+dx*i;

y(i+1)=y(i)+dx*F9(x(i));

end;

X=x;

Y=y;

function z=F9(x)

z=x.^2;

Далее необходимо выполнить следующую последовательность команд:

>> x0=0; % левая граница отрезка интегрирования

>> x1=5; % правая граница отрезка интегрирования

>> y0=1.3; % начальное условие

>> N=50; % число узлов разбиения отрезка интегрирования

>> [X Y]=Euler_g9(y0,x0,x1,N); % нахождение численного решения

% задачи Коши

>> i=1:length(X);

>> Z(i)=y0+1/3*X(i).^3; % вычисление значений точного решения

>> plot(X,Z,X,Y,':') % визуализация точного и численного решений

% (рис. 9.2)

>> plot(X,abs(Z-Y)) % визуализация разности между численным и

% точным решениями ДУ (рис. 9.3)

2. Нахождение численного решения ДУ методом Эйлера-Коши.

Для нахождения решения данного ДУ необходимо создать файл EulerKoshi, содержащий описание функции, возвращающей решение дифференциального уравнения методом Эйлера-Коши.

Рис. 9.2

Рис. 9.3

Рис. 9.4

% листинг файла EulerKoshi.m

function [X,Y]=EulerKoshi(y0,x0,x1,N)

dx=(x1-x0)/N;

x(1)=x0;

y(1)=y0;

for i=2:N

x(i)=x(1)+dx*(i-1);

Z=y(i-1)+dx*F9(x(i-1),y(i-1));

y(i)=y(i-1)+(F9(x(i-1),y(i-1))+F9(x(i),Z))*dx/2;

end;

X=x;

Y=y;

function z=F9(x,y)

z=x.^2;

Далее необходимо выполнить следующую последовательность команд:

>> x0=0; % левая граница отрезка интегрирования

>> x1=5; % правая граница отрезка интегрирования

>> y0=1.3; % начальное условие

>> N=50; % число узлов разбиения отрезка интегрирования

>> [X Y]=EulerKoshi(y0,x0,x1,N); % нахождение численного

% решения задачи Коши

>> i=1:length(X);

>> Z(i)=y0+1/3*X(i).^3; % вычисление значений точного решения

>> plot(X,Z,X,Y,':') % визуализация точного и численного решений

% (рис. 9.4)

>> plot(X,abs(Z-Y)) % визуализация разности между численным и

% точным решениями ДУ (9.5)

Рис. 9.5

Из сравнения рис. 9.3, 9.5 видно, что погрешность, как и ожидалось уменьшилась в 102 раз (h = 0.1).