Численное решение задачи Коши

Теоретическая часть

Численное решение задачи Коши - student2.ru

Метод Эйлера.Решить задачу Коши

c начальным условием x0=0.2 , y0=0.25

  A B C D E F G
             
             
x0= 0,2 h= 0,1 y0= 0.25
i xi y=f(xi;xi) dy=h*y
=C3 =G3 =$E$3*(0,215*(D5^2+COS(1,5*D5))+1,287*E5)
=D5+$E$3 =E5+F5 =$E$3*(0,215*(D6^2+COS(1,5*D6))+1,287*E6)
=D6+$E$3 =E6+F6 =$E$3*(0,215*(D7^2+COS(1,5*D7))+1,287*E7)
=D7+$E$3 =E7+F7 =$E$3*(0,215*(D8^2+COS(1,5*D8))+1,287*E8)
=D8+$E$3 =E8+F8 =$E$3*(0,215*(D9^2+COS(1,5*D9))+1,287*E9)
=D9+$E$3 =E9+F9 =$E$3*(0,215*(D10^2+COS(1,5*D10))+1,287*E10)
=D10+$E$3 =E10+F10 =$E$3*(0,215*(D11^2+COS(1,5*D11))+1,287*E11)

Результат:

x0= 0,2 h= 0,1 y0= 0,25
i xi y=f(xi;xi) dy=h*y
0,2 0,25 0,053575
0,3 0,303575 0,060365
0,4 0,363939 0,068024
0,5 0,431963 0,0767
0,6 0,508663 0,08657
0,7 0,595233 0,097839
0,8 0,693072 0,110749
0,9 0,803821 0,125575
0,929396 0,142634
1,1 1,07203 0,162284
1,2 1,234315 0,184931
1,3 1,419246 0,211033
1,4 1,630279 0,241103
1,5 1,871382 0,275716
1,6 2,147098 0,315518
1,7 2,462616 0,361227
1,8 2,823843 0,413651
1,9 3,237494 0,473688
3,711182 0,542344
2,1 4,253527 0,620745
2,2 4,874271 0,710148
2,3 5,584419 0,811964
2,4 6,396383 0,927774

I= 6,397.

Алгоритм решения в TMTPascal.

Задача. Численно решить задачу Коши для обыкновенного дифферен-циального уравнения 1-го порядка

Численное решение задачи Коши - student2.ru

на отрезке Численное решение задачи Коши - student2.ru с шагом Численное решение задачи Коши - student2.ru методом Эйлера. Найти точное решение задачи.

f(t,y) t0 T y0
Численное решение задачи Коши - student2.ru

Решение.

program metod_Euler;

var a,b,t0,y0,t1,y1,h,e,dy,d:real;

n,k,i:integer;

function ff(y,t:real):real;

begin ff:=-y/(2*t)+t*t end;

begin

clrscr;

write('a=');

readln(a);

write('b=');

readln(b);

write('t0=');

readln(t0);write('y0=');

readln(y0);write('n=');

readln(n);k:=0;h:=(b-a)/n;

dy:=h*ff(t0,y0);

for i:=1 to n do begin

t1:=t0+h;

y1:=y0+dy;

k:=k+1;

dy:=h*ff(t1,y1);

write('k=',k:2);write(' t=',t1:7:4);

write(' y=',y1:7:4);write(' dy=',dy:7:4);

d:=abs(y1-y0);

writeln(' d=',d:7:3);

t0:=t1;y0=y1;

end;

readln;end.

Результат:

. Численное решение задачи Коши - student2.ru

Метод Рунге-Кутта 4-го порядка. Особо широко известно вычислительное правило Рунге-Кутта четвертого порядка точности: Численное решение задачи Коши - student2.ru , где

Численное решение задачи Коши - student2.ru ,

Численное решение задачи Коши - student2.ru ,

Численное решение задачи Коши - student2.ru ,

Численное решение задачи Коши - student2.ru

Метод Рунге-Кутта имеет погрешность четвертого порядка (~h4).

Если приближенный метод имеет порядок погрешности m, то погрешность можно приближенно оценить по формуле: Численное решение задачи Коши - student2.ru .(22)

В формуле O(xi) – главный член погрешности, Численное решение задачи Коши - student2.ru и Численное решение задачи Коши - student2.ru - приближенные решения в точке xi, найденные с шагом h и 2h соответственно.

Алгоритм решения дифференциальных уравнений методом Рунге-Кутта.

Задача. Рассмотрим пример. Решить дифференциальное уравнение

Численное решение задачи Коши - student2.ru

у0=0, х0=0 на отрезке [0,1] с шагом 0.1 методом Рунге-Кутта 4-го порядка.

Решение. Воспользуемся формулами (21), (22), построим таблицу

  A B C D E F
           
           
  h= 0,1  
           
i xi yi xi+h/2 k1 yi+k1/2
=C6+$D$3/2 =$D$3*(COS(C6+D6)+0,5*(C6-D6)) =D6+F6/2
=C6+$D$3 =D6+N6 =C7+$D$3/2 =$D$3*(COS(C7+D7)+0,5*(C7-D7)) =D7+F7/2
=C7+$D$3 =D7+N7 =C8+$D$3/2 =$D$3*(COS(C8+D8)+0,5*(C8-D8)) =D8+F8/2
=C8+$D$3 =D8+N8 =C9+$D$3/2 =$D$3*(COS(C9+D9)+0,5*(C9-D9)) =D9+F9/2

…… …….. ……… ………………………….. ……

G H I
     
     
     
     
k2 Yk+K2/2 K3
=$D$3*(COS(E6+G6)+0,5*(E6-G6)) =D6+$H$6/2 =$D$3*(COS(E6+I6)+0,5*(E6-I6))
=$D$3*(COS(E7+G7)+0,5*(E7-G7)) =D7+$H$6/2 =$D$3*(COS(E7+I7)+0,5*(E7-I7))
=$D$3*(COS(E8+G8)+0,5*(E8-G8)) =D8+$H$6/2 =$D$3*(COS(E8+I8)+0,5*(E8-I8))
=$D$3*(COS(E9+G9)+0,5*(E9-G9)) =D9+$H$6/2 =$D$3*(COS(E9+I9)+0,5*(E9-I9))

……………………………… ……………. ……………………………….

J K L M
       
       
       
       
Xi+h Yi+K3 K4 dy
=C6+$D$3 =D6+J6 =$D$3*(COS(K6+L6)+0,5*(K6-L6)) =1/6*(F6+2*H6+2*J6+M6)
=C7+$D$3 =D7+J7 =$D$3*(COS(K7+L7)+0,5*(K7-L7)) =1/6*(F7+2*H7+2*J7+M7)
=C8+$D$3 =D8+J8 =$D$3*(COS(K8+L8)+0,5*(K8-L8)) =1/6*(F8+2*H8+2*J8+M8)
=C9+$D$3 =D9+J9 =$D$3*(COS(K9+L9)+0,5*(K9-L9)) =1/6*(F9+2*H9+2*J9+M9)

………. …….. ………………………….. ………………………….

Результат

C D E F G H I J K L M N
Метод Рунге - Кутта
h= 0,1
i xi yi xi+h/2 k1 yi+k1/2 k2 Yk+K2/2 K3 Xi+h Yi+K3 K4 dy
0 0,05 0,1 0,05 0,0995 0,0497 0,0995 0,1 0,0995 0,0980 0,0993
0,1 0,0993 0,15 0,0980 0,14836 0,0956 0,1490 0,0955 0,2 0,1949 0,0925 0,0955
0,2 0,1948 0,25 0,0925 0,24113 0,0886 0,2446 0,0880 0,3 0,2828 0,0843 0,0883
0,3 0,2832 0,35 0,0843 0,3253 0,0792 0,3329 0,0776 0,4 0,3608 0,0743 0,0787
0,4 0,3619 0,45 0,0742 0,39910 0,068 0,4117 0,0653 0,5 0,4272 0,0636 0,0676
0,5 0,4296 0,55 0,0633 0,46127 0,0575 0,4793 0,0518 0,6 0,4814 0,0529 0,0558
0,6 0,4854 0,65 0,0523 0,51163 0,0467 0,5351 0,0381 0,7 0,5236 0,0428 0,0441
0,7 0,5296 0,75 0,0419 0,55060 0,0366 0,5793 0,0247 0,8 0,5543 0,0337 0,0330
0,8 0,5627 0,85 0,0325 0,57897 0,0276 0,6124 0,012 0,9 0,5747 0,0258 0,0229
0,9 0,585 0,95 0,0242 0,59778 0,0199 0,6354 0,0001 0,5857 0,0192 0,0139
                                     

y=0,585.

Алгоритм решения задачи Коши методом Рунге-Кутта на языке TMTPascal.

program metod_Runge_Kutta;

var { решение дифф-ных уравнений }

a,b,h,x,y,y0,x0,k1,k2,k3,k4:real; { методом Рунге-Кутта }

i,n:integer;

function FF(x,y:real):real; { исходная функция для определения }

begin { коэфф-тов k1,k2,k3,k4 }

FF:=cos(x+y)+0.5*(x-y);

end;

function f1(y,k1,k2,k3,k4:real):real; { функция для построения таблицы }

begin { приближенных решений данного }

f1:=y+(h/6)*(k1+2*k2+2*k3+k4); { дифф-ного уравнения }

end;

begin

write('введите величину шага h= ');

readln(h);

Write('введите начало интервала a= ');

readln(a);

{Write('введите конец интервала b= ');

readln(b);}

write('введите y(a)= ');

readln(y0);

n:=10; { количество приближенных решений в нашей таблице }

x0:=a;

for i:=1 to n do

begin

k1:=FF(x,y);

k2:=FF(x+h/2,y+(k1*h)/2);

k3:=FF(x+h/2,y+(h*k2)/2);

k4:=FF(x+h,y+(h*k3));

y:=f1(y,k1,k2,k3,k4);

writeln(' Y[',i,'] = ',y:2:4); { вывод таблицы приближенных решений }

x:=x0+i*h;

End;

end.

Практическая часть

Задание 1. Численно решить задачу Коши для обыкновенного дифференциального уравнения 1-го порядка

Численное решение задачи Коши - student2.ru

на отрезке Численное решение задачи Коши - student2.ru с шагом Численное решение задачи Коши - student2.ru а) методом Эйлера; б) методом Рунге-Кутта 2-го порядка с оценкой погрешности по правилу Рунге.

Найти точное решение задачи.

f(t,y) t0 T y0 f(t,y) t0 T y0
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru +1 Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru +1 0.5 Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru -1 1.5 Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru +1 Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru p p+1 Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru 0.5
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru -0.5
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru
Численное решение задачи Коши - student2.ru - Численное решение задачи Коши - student2.ru Численное решение задачи Коши - student2.ru -1

Вопросы к защите лабораторной работы № 6

«Численное решение задачи Коши»

1. Постановка задачи Коши. Дискретная задача Коши: основные понятия и определения (сетка, сеточные функции, численный метод, аппроксимация, сходимость).

2. Численные методы решения задачи Коши: вывод формулы метода Эйлера, его геометрическая интерпретация, устойчивость, оценка погрешности, влияние вычислительной погрешности.

3. Методы Рунге-Кутты. Вывод формул. Оценка погрешности.

СПИСОК ЛИТЕРАТУРЫ

1. Боглаев, Ю.П. Вычислительная математика и программирование./ Ю.П. Боглаев -М.: Высшая школа, 1990.-246с.

2. Додж, М. Эффективная работа в Microsoft Excel 2000./ М. Додж, К.Стинсон. - СПб.: Питер, 2002. - 1056 с.

3. Заварыкин, В.М. Численные методы: Учеб. пособие для студ. Физ.- мат. Спец. пед. ин-тов./ В.М. Заварыкин, В.Г. Житомирский,М.П. Лапчик -М.:Просвещение,1990.- 176с.

4. Исаков, В.Н. Элементы численных методов. Учеб. пособие для студ. высш. пед. учеб. заведений./ В.Н. Исаков - М.: Изд. Центр «Академия»,2003. - 192с.

5. Лапчик, М.П. Численные методы: Учебное пособие для студ. вузов./ М.П. Лапчик, М.И. Рагулина, Е.К. Хеннер. - М.:Академия,2005.-384с.

6. Могилев, А.В. Информатика: Учеб. пособие для студ. пед. вузов./ А.В. Могилев, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. – М.: Изд. Центр «Академия», 2000. – 816 с.

7. Пирумов, У.Г. Численные методы: учеб. пособие для студ. вузов./ У.Г. Пирумов. - М.: Дрофа,2004. - 224с.

Автор составитель:

Кормилицына Татьяна Владимировна

Научно-методическое издание

ЧИСЛЕННЫЕ МЕТОДЫ

методические материалы к лабораторным работам

Редактор

Корректор

Компьютерная верстка Т.В.Кормилицыной, И.А.Козловой

Подписано в печать

Формат 60х84 1/16. Печать ризография. Гарнитура «Times New Roman ».

Усл.-печ.л.2,5. Уч.-изд. л. 2,7.

Тираж . Заказ №

ГОУ ВПО «Мордовский государственный педагогический институт

имени М.Е.Евсевьева»

Лаборатория множительной техники

430007, г. Саранск, ул. Студенческая, 11а

Наши рекомендации