2 Рунге-Кутт әдісінің программа листингі
program RUNGE;
uses crt;
label 1;
var x0,y0,x,y,h,a,b,c:real;
n,i:integer;
function f(x,y:real):real;
begin
f:=x+sin(y/2.8);
end;
begin
window(1,1,80,25);
textbackground(1);
clrscr;
writeln('****************************************************');
writeln('* *');
writeln('* Данной программой определяетсяся *');
writeln('* численное решение дифференциального уравнения *');
writeln('* методом Рунге-Кутта *');
writeln('* *');
writeln('****************************************************');
writeln;
window(15,5,65,15);
textbackground(0);
clrscr;
textcolor(13);
writeln('Введите исходные данные x0, y0, h, n');
readln(x0,y0,h,n);
x:=x0;
y:=y0;
i:=0;
writeln(x:7:4,' ',y:7:4);
1: a:=h*f(x,y);
x:=x+h/2;
y:=y0+a/2;
b:=h*f(x,y);
y:=y0+b/2;
c:=h*f(x,y);
x:=x+h/2;
y:=y0+c;
y:=y0+(a+2*(b+c)+h*f(x,y))/6;
writeln(x:7:4,' ',y:7:4);
if i>n then exit else
i:=i+1;
y0:=y;
goto 1;
end.
*************** ****************** *****************
5 қосымша
1 Функцияларды интерполяциялау
кесіндіде анықталған функцияның нүктелердегі мәндері берілген.
нүктелерді «түйіндер» деп атайды.
Графигі осы нүктелерден өтетін, яғни болатын, ең кіші дәрежелі көпмүшелікті берілген функцияны ең «жақсы» жуықтайтын
Достарыңызбен бөлісу: |