Программа для решения системы обыкновенных дифференциальных уравнений

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

? для работы с файлами-textd

Текст программы

 

program kursach;jm=3;mas=array[1..3]of real;k1,k2,k3,k22,k23,fs:real;,t,tk,h:real;,n:integer;,x0,x:mas;:text;:string;rp(t:real;var x0,f:mas);

{процедура вычисления правых частей}

begin[1]:= x[3];[2]:= (fs-k23*x[2])/k22;[3]:= (x[2]-x[3]*k2-x[1]*k3)/k1;;eu(var t,t0,h:real;var x0:mas;var x:mas);

{процедура, выполняющая действия по методу Ейлера}

var j:integer;(t,x0,f);j:=1 to 3 do[j]:=x0[j]+h*f[j];:=t0+h;

end;

begin

writeln('введите путь к файлу с исходными данными');

readln(l);(d,l);(d);(d,k1,k2,k3,k22,k23,fs);(d) ;

writeln('введите путь к файлу вывода');

readln(l);(d,l);(d);:=0.0; tk:=5.0;:=0.01;

{k1:=1.0; k2:=1.0; k3:=1.0; k22:=1.0; k23:=1.0; fs:=1.0; }:=0;[1]:=0.0; x0[2]:=0.0; x0[3]:=0.0;:=t0;('t=',t:2:2,'; x1=',x0[1]:5:6,'; x2=',x0[3]:5:6,'; x3=',x0[2]:5:6,';');(d,'t=',t:2:2,'; x1=',x0[1]:5:6,'; x2=',x0[3]:5:6,'; x3=',x0[2]:5:6,';');t<=tk do(t,t0,h,x0,x);:=n+1;n=10 then(d,'t=',t:2:2,'; x1=',x[1]:5:6,'; x2=',x[3]:5:6,'; x3=',x[2]:5:6,';');('t=',t:2:2,'; x1=',x[1]:5:6,'; x2=',x[3]:5:6,'; x3=',x[2]:5:6,';');:=0;;j:=1 to 3 do0[j]:=x[j];

t0:=t;

end;

close(d);

end.

 

Файл с исходными данными

 

 

Результат работы программы

 

tx1x2х20.000.0000000.0000000.0000000.100.0001160.0042640.0956180.200.0010460.0168150.1820930.300.0035400.0359140.2603000.400.0081800.0600020.3310280.500.0154020.0876940.3949940.600.0255100.1177670.4528430.700.0386920.1491480.5051610.800.0550360.1809100.5524770.900.0745440.2122550.5952681.000.0971430.2425110.6339681.100.1226970.2711170.6689671.200.1510200.2976190.7006201.300.1818850.3216570.7292461.400.2150330.3429580.7551351.500.2501800.3613270.7785481.600.2870270.3766420.7997231.700.3252660.3888390.8188731.800.3645840.3979140.8361921.900.4046700.4039080.8518552.000.4452200.4069030.866020tx1x2х22.100.4859390.4070200.8788312.200.5265450.4044040.8904172.300.5667730.3992290.9008952.400.6063750.3916850.9103712.500.6451240.3819780.9189412.600.6828120.3703210.9266922.700.7192550.3569360.9337022.800.7542900.3420470.9400412.900.7877770.3258780.9457743.000.8195980.3086490.9509593.100.8496550.2905750.9556483.200.8778750.2718630.9598893.300.9042020.2527130.9637243.400.9286020.2333100.9671933.500.9510560.2138320.9703303.600.9715660.1944410.9731673.700.9901450.1752870.9757333.801.0068250.1565060.9780533.901.0216490.1382200.9801524.001.0346690.1205360.9820494.101.0459520.1035480.9837664.201.0555710.0873350.985318tx1x2х24.301.0636060.0719660.9867224.401.0701430.0574920.9879924.501.0752750.0439550.9891404.601.0790970.0313850.990178

График зависимости x(t)

 

 

Список использованной литературы

 

1. А.М. Епанешников, В.А. Епанешников. Программирование в среде TURBO PASCAL 7.0. - 3-е изд.,стер. - М.: ДИАЛОГ-МИФИ, 2004 - 367с.

. Вирт Н. Алгоритмы и структуры данных с примерами на Паскале.- 2-е изд. - СПб. : Невский диалект, 2007 .- 352с.

. Марченко А.И. Программирование в среде Turbo Pascal 7.0 / А.И. Марченко,Л.А. Марченко .- 8-е изд. - Киев : Корона Принт, 2004 .- 464с.

. Фаронов, В.В. Turbo Pascal : учеб. пособие для вузов / В.В. Фаронов .- М.[и др.] : Питер, 2007 .- 367с

. Шафрин Ю. А. Информационные технологии: В 2 ч. - М.: Лаборатория Базовых Знаний, 2001.