СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Лабораторная работа

Категория: Математика

Нажмите, чтобы узнать подробности

Численные методы

Просмотр содержимого документа
«Лабораторная работа»

Лабораториялык иш №19

Тема: Кадимки дифференциaлдык теңдемелерди сандык чыгаруу. Рунге – Кутта методу

Ишти аткарууга көрсөтмө:

  1. Төмөнкү формуланы пайдаланып калькулятордун жардамы менен эсептөө.

2. Программасын түзүү жана ЭММде реализациялоо;

3. Алынган эки жыйынтыкты салыштыруу.

1– мисал. Рунге – Кутта методу боюнча жоопту болжолду аныктагыла: y=x2+y2 , y0=1, x0=0, h=0.1

Чыгаруу: y=x2+y2 , y0=1, x0=0, h=0.1

1)

2)

3)

4)

5)

Программасы

Program RungeKutta;

Uses crt;

var x0,y0,h,k1,k2,k3,k4,dy0,yi,xi:real; i:integer;

function f(x,y:real):real;

begin f:=sqr(x)+sqr(y); end;

beginclrscr;

writeln('x0,y0,h kirgiz');

read(x0,y0,h);

yi:=y0;

xi:=x0;

for i:=1 to 5 do

begin

k1:=h*f(xi,yi);

k2:=h*f(xi+h/2,yi+k1/2);

k3:=h*f(xi+h/2,yi+k2/2);

k4:=h*f(xi+h,yi+k3);

dy0:=1/6*(k1+2*k2+2*k3+k4);

yi:=yi+dy0;

writeln('x=',xi:2,2,' ','y=',yi:2:3);

xi:=xi+h; end;

end.

Паскаль программасында алынган жообу:

x0,y0,h kirgiz

0 1 0.1

x= 0.0E+002 y=1.111

x= 1.0E-012 y=1.253

x= 2.0E-012 y=1.440

x= 3.0E-012 y=1.696

x= 4.0E-012 y=2.067



2 – мисал. Рунге – Кутта методу боюнча жоопту болжолду аныктагыла: y=y-x, y0=1.5, x0=0, h=0.1

Чыгаруу: y=y-x, y0=1.5, x0=0, h=0.1

1)

2)

3)



4)

5)

Программасы:

Program RungeKutta;

Uses crt;

var x0,y0,h,k1,k2,k3,k4,dy0,yi,xi:real; i:integer;

function f(x,y:real):real;

begin f:=1+x+sqr(y); end;

beginclrscr;

writeln('x0,y0,h kirgiz');

read(x0,y0,h);

yi:=y0;

xi:=x0;

for i:=1 to 5 do

begin

k1:=h*f(xi,yi);

k2:=h*f(xi+h/2,yi+k1/2);

k3:=h*f(xi+h/2,yi+k2/2);

k4:=h*f(xi+h,yi+k3);

dy0:=1/6*(k1+2*k2+2*k3+k4);

yi:=yi+dy0;

writeln('x=',xi:2,2,' ','y=',yi:2:3);

xi:=xi+h; end;

end.

Паскаль программасында алынган жообу:

x0,y0,hkirgiz

0 1 0.1

x= 0.0E+002 y=1.228

x= 1.0E-012 y=1.533

x= 2.0E-012 y=1.959

x= 3.0E-012 y=2.608

x= 4.0E-012 y=3.731





3 – мисал. Рунге – Кутта методу боюнча жоопту болжолду аныктагыла: h=0.2

Чыгаруу: h=0.2

















Программасы

Program Runge Kutta;

Var x0,y0,h,k1,k2,k3,k4,dy0,yi,xi:real; i:integer;

Function f(x,y:real):real;

Begin f:=sqr(y)-sqr(x); end;

Begin writeln(‘x0,y0,h ty kirgiz’);

Read(x0,y0,h); yi:=y0; xi:=x0;

For I;=1 to 5 do

Begin

K1;=h*f(xi,yi);

K2;=h (xi+h/2,yi+k1/2);

K3:=h*f(xi+h/2)yi+k2/2);

K4:=h*f(xi+h, yi+k3);

Dy0:=1/6*(k1+2*k2+2*k3+k4);

Yi:=yi+dy0;

Writeln(‘x=’ xi:2.2, ‘ ‘, ‘y=’yi:2:3);

Xi:=x+h;

End;

End.






4 – мисал. Рунге – Кутта методу боюнча жоопту болжолду аныктагыла:

Чыгаруу:

1)

y1=1+0,218=1,218

y2=1,218+0,267=1,485

3)

y3=1,485+0,348=1,833

4)

y4=1,833+0,494=2,325

5)

y5=2,325+0,778=3,103 Жооп:3,103