Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
02.05.2014
Размер:
2.69 Кб
Скачать
Program TAU;
Uses graph,crt;
Const
hmax=2;
Var
sigm,h:array [0..2501] of single;
I1,I2,I3,I4:array [0..2501] of single;
GD,GM:integer;
fj,Ij:array[1..4] of single;
ha:char;
temp,y,x,f,n,i,j:integer;
dt,t:real;
k,b1,a1,a2,a3:single;
s:string[5];
Begin
Clrscr;
dt:=0.005;
N:=2000;
t:=0;
{randomize;}

For i:=0 to N do Begin
t:=i*dt;
{ sigm[i+1]:=0.1-0.15*exp(-2*t)+0.05*exp(-5*t)+0.008;}
{ sigm[i+1]:=1-2.25*exp(-t)+1.5*exp(-2*t)-0.25*exp(-3*t);}
If i=0 then h[i+1]:=48*exp(-1/0.4*t)-50*exp(-1/0.3*t)-46.666666667*t*exp(-1/0.3*t)+2
else h[i+1]:=48*exp(-1/0.4*t)-50*exp(-1/0.3*t)-46.666666667*t*exp(-1/0.3*t)+2;
end;

{‘Ґ©з б ўлзЁб«пҐ¬ Ї®¤Ё­вҐаЈ «м­лҐ §­ зҐ­Ёп I1,I2,I3,I4}

For i:=1 to N do sigm[i]:=h[i]/hmax;

t:=0;
for i:=1 to N do Begin
t:=(i-1)*dt;
I1[i]:=1-sigm[i];
I2[i]:=(1-sigm[i])*t;
I3[i]:=(1-sigm[i])*t*t;
I4[i]:=(1-sigm[i])*t*t*t;
end;
{‚лзЁб«Ґ­ЁҐ ­ҐЇ®б।б⢥­­® б ¬Ёе I1,I2,I3,I4}
For j:=1 to 4 do Ij[j]:=0;
For i:=1 to N-1 do Begin
Ij[1]:=Ij[1]+(I1[i]+I1[i+1])/2*dt;
Ij[2]:=Ij[2]+(I2[i]+I2[i+1])/2*dt;
Ij[3]:=Ij[3]+(I3[i]+I3[i+1])/2*dt;
Ij[4]:=Ij[4]+(I4[i]+I4[i+1])/2*dt;
end;
{Ќ е®¤Ё¬ Fj}
Fj[1]:=Ij[1];
Fj[2]:=Ij[1]*Ij[1]-Ij[2];
Fj[3]:=Ij[1]*Ij[1]*Ij[1]-2*Ij[1]*Ij[2]+0.5*Ij[3];
Fj[4]:=-Ij[4]/6+0.5*Ij[1]*Ij[3]+Fj[3]*Ij[1]-Fj[2]*Ij[2];

b1:=-Fj[4]/Fj[3];
a1:=b1+Fj[1];
a2:=Fj[2]+b1*Fj[1];
a3:=Fj[3]+b1*Fj[2];
K:=h[N+1];
Writeln ('a1=',a1:6:4,', a2=',a2:6:4,', a3=',a3:6:4,', b1=',b1:6:4,', K=',K:6:4,', n=',n, ', dt=',dt:0:4);
Readkey;
GD:=Detect; GM:=2;
Initgraph (GD,GM,'C:\BP\BGI');
SetBkColor(White);
j:=1;
Setcolor(9);
For i:=1 to 6 do Line(20+60*i,450,20+60*i,450-400);
For i:=0 to 4 do Begin {“б«®ўЁҐ ­ ¤ЇЁбЁ ­  ®бЁ Y}
str(i,s);
Setcolor(1);
OuttextXY(10,450-100*i,s);
Setcolor(9);
Line (20,450-100*i,620,450-100*i);
end;
Setcolor(9);
Line(20,50,20,450);
Line(20,450,620,450);
moveto(20,450);
for i:=0 to 600 do Begin {Џ®бв஥­ЁҐ Ја дЁЄ }
setcolor(4);
y:=round(100*h[j]);
x:=i;
SetLineStyle(0,0,3);
Lineto(x+20,450-y);
SetLineStyle(0,0,1);
j:=j+3;
if (i=0) or (i mod 60 = 0) then Begin {“б«®ўЁҐ ­ ¤ЇЁбЁ ­  ®бЁ X}
setcolor(9);
temp:=round(i/60);
str(temp,s);
Line(20+i,450,20+i,450-400);
setcolor(1);
Moveto(20+i,460);
Outtext(s);
setcolor(4);
moveto(20+x,450-y);
end;

End;
Readkey;
CloseGraph;
end.
Соседние файлы в папке Курсовая работа МХ