Необходимо написать код программы.Компьютерное моделирование

Ответить
Натали-Наталья
Сообщения: 1
Зарегистрирован: 20 дек 2012, 23:59

Помогите пожалуйста написать код программы на делфи по компьютерному моделированию
Условие : промоделировать движение исследовательского зонда, снабженного разгонным двигателем небольшой мощности запущенного вверх с уровня земли
вообще не представляю как это делать
знаю что надо делать методом ранге -кутта .


const gi=10;
var
Form1: TForm1;
var t,v,s: array [0..20] of real;
var i: integer;
F1, F2, F3, k,h,k1, k2, k3, k4,l, l1, l2, l3, l4,
m, b1, b2,R, c,ro,mu: real;

implementation

{$R *.dfm}
function f(t,v,s:real):real;
begin
f=(m*gi+F2-(b1*v+b2*v*v))/m;
end;
function g(t,v,s:real):real;

procedure TForm1.Button1Click(Sender: TObject);

begin
F3=b1*v+b2*v*v;
b1=
F2=180;
m=100;
R=0.2;
c=0.4; // коэфф сопротивления среды
ro=1000;
mu=1.0002;

for i := 0 to 19 do
begin
k1:= h*f(t,v, s); // метод ранге-кутта
l1:= h*g(t,v, s);
k2:= h*f(t+h/2, v+k1/2, s+ l1/2);
l2:= h*g(t+h/2, v[i]+k1/2, s[i]+ l1/2);
k3:= h*f(t[i]+h/2, v[i]+k2/2, s[i]+ l2/2);
l3:= h*g(t[i]+h/2, v[i]+k2/2, s[i]+ l2/2);
k4:= h*f(t[i]+h, v[i]+k3, s[i]+l3);
l4:= h*g(t[i]+h, v[i]+k3, s[i]+l3);
k:=(k1+2*k2+2*k3+k4)/6;
l:= (l1+2*l2+2*l3+l4)/6;
t[i+1]:=t[i]+h;
v[i+1]:=v[i]+k;
s[i+1]:=s[i]+l;
end;
end;

end.
Ответить