Сопряженные задачи для уравнений переноса и диффузии

Курсовой проект - Математика и статистика

Другие курсовые по предмету Математика и статистика

Form1.EdNKeyUp(Sender: TObject; var Key: Word;: TShiftState);.Caption:=tay/h^2= +FloatToStr(StrToFloat(EdTay.Text)/sqr(1/StrToFloat(EdN.Text)));;TForm1.EdTayKeyPress(Sender: TObject; var Key: Char);(Key=.)or (Key=,) then:=DecimalSeparatornot ((Key0) and ((key=decimalSeparator) or (key=-)) then:=#0;;u(x,t:real):real;:=sin(pi*x)*t;;fij(x,t:real):real;:=sin(pi*x)+sqr(pi)*t*sin(pi*x);;TForm1.BtnJavnClick(Sender: TObject);tay,h,l:real;,i,j,m,q:integer;,t:mas;,f:matr;i:=0 to 15 do Chart1.Series[i].Clear;:=StrToInt(EdN.Text);:=1/n;:=StrToFloat(EdTay.Text);:=round(1/tay);:=m+1;:=n+1;(y,m,n);(f,m,n);(x,n);(t,m);:=n-1;:=m-1;[0]:=StrToFloat(EdT1.Text);[1]:=StrToFloat(EdT2.Text);[2]:=StrToFloat(EdT3.Text);[3]:=StrToFloat(EdT4.Text);q:=0 to 3 do:=round(time[q]/tay);j:=0 to m do[j]:=j*tay;[j,0]:=0;[j,n]:=0;;i:=0 to n do[i]:=i*h;[0,i]:=u(x[i],0);;j:=0 to m doi:=0 to n do f[j,i]:=fij(x[i],t[j]);j:=0 to m-1 doi:=1 to n-1 do[j+1,i]:=tay*y[j,i+1]/sqr(h)+(1-2*tay/sqr(h))*y[j,i]+tay*y[j,i-1]/sqr(h)+tay*f[j,i];:=0;l<=1 do.Series[q].AddXY(l,u(l,t[m]));:=l+0.001;;i:=0 to n do.series[q+4].AddXY(x[i],y[m,i]);;;TForm1.BtnNeJavnClick(Sender: TObject);,h,l: real;,i,j,p,m,q: integer;,y: matr;,t,al,bt,a,b,c: mas;: array[0..3] of real;i:=0 to 15 do Chart1.Series[i].Clear;:=strtoint(EdN.Text);[0]:=strtofloat(EdT1.Text);[1]:=strtofloat(EdT2.Text);[2]:=strtofloat(EdT3.Text);[3]:=strtofloat(EdT4.Text);q:=0 to 3 do begin:=1/n;(n);:=strtofloat(EdTay.Text);:=round(time[q]/tay);(m);(t,m);(y,m,n);(f,m,n);(x,n);(al,n);(bt,n);(a,n);(b,n);(c,n);(m);(n);i:=0 to n do[i]:=-tay;[i]:=-tay;[i]:=sqr(h)+2*tay;;[0]:=0;[n]:=0;[0]:=1;[n]:=1;[0]:=0;[n]:=0;j:=0 to m do[j]:=j*tay;[j,0]:=0;[j,n]:=0;;i:=0 to n do[i]:=i*h;[0,i]:=u(x[i],0);;j:=0 to m doi:=0 to n do f[j,i]:=fij(x[i],t[j]);j:=0 to m-1 do[n-1]:=-a[n]/b[n];[n-1]:=sqr(h)*(f[j,n]*tay+y[j,n])/b[n];p:=n-1 downto 1 do[p-1]:=-a[p]/(al[p]*c[p]+b[p]);[p-1]:=(sqr(h)*(f[j,p]*tay+y[j,p])-bt[p]*c[p])/(al[p]*c[p]+b[p]);;i:=0 to n-2 do y[j+1,i+1]:=al[i]*y[j+1,i]+bt[i];;:=0;l<=1 do.Series[q].AddXY(l,u(l,t[m]));:=l+0.001;;i:=0 to n do chart1.Series[q+8].AddXY(x[i],y[m,i]);// chart1.Series[j+4].AddXY(x[i],f[j,i]);;;TForm1.BtnSimClick(Sender: TObject);,h,l: real;,i,j,p,m,q: integer;,y: matr;,t,al,bt,a,b,c: mas;: array[0..3] of real;i:=0 to 15 do Chart1.Series[i].Clear;:=strtoint(EdN.Text);[0]:=strtofloat(EdT1.Text);[1]:=strtofloat(EdT2.Text);[2]:=strtofloat(EdT3.Text);[3]:=strtofloat(EdT4.Text);q:=0 to 3 do begin:=1/n;(n);:=strtofloat(EdTay.Text);:=round(time[q]/tay);(m);(t,m);(y,m,n);(f,m,n);(x,n);(al,n);(bt,n);(a,n);(b,n);(c,n);(m);(n);i:=0 to n do[i]:=-tay;[i]:=-tay;[i]:=2*(sqr(h)+tay);;[0]:=0;[n]:=0;[0]:=1;[n]:=1;[0]:=0;[n]:=0;j:=0 to m do[j]:=j*tay;[j,0]:=0;[j,n]:=0;;i:=0 to n do[i]:=i*h;[0,i]:=u(x[i],0);;j:=0 to m doi:=0 to n do f[j,i]:=fij(x[i],t[j]+tay/2);j:=0 to m-1 do[n-1]:=-a[n]/b[n];[n-1]:=(2*tay*sqr(h)*f[j,n]+{tay*y[j,n+1]}+tay*y[j,n-1]-y[j,n]*(2*tay-2*sqr(h)))/b[n];p:=n-1 downto 1 do[p-1]:=-a[p]/(al[p]*c[p]+b[p]);[p-1]:=(2*tay*sqr(h)*f[j,p]+tay*y[j,p+1]+tay*y[j,p-1]-y[j,p]*(2*tay-2*sqr(h))-bt[p]*c[p])/(al[p]*c[p]+b[p]);;i:=0 to n-2 do y[j+1,i+1]:=al[i]*y[j+1,i]+bt[i];;:=0;l<=1 do.Series[q].AddXY(l,u(l,t[m]));:=l+0.001;;i:=0 to n do chart1.Series[q+12].AddXY(x[i],y[m,i]);;;TForm1.CheckBox1Click(Sender: TObject);.Active:=CheckBox1.Checked;.Active:=CheckBox1.Checked;.Active:=CheckBox1.Checked;.Active:=CheckBox1.Checked;.Active:=CheckBox2.Checked;.Active:=CheckBox2.Checked;.Active:=CheckBox2.Checked;.Active:=CheckBox2.Checked;.Active:=CheckBox3.Checked;.Active:=CheckBox3.Checked;.Active:=CheckBox3.Checked;.Active:=CheckBox3.Checked;.Active:=CheckBox4.Checked;.Active:=CheckBox4.Checked;.Active:=CheckBox4.Checked;.Active:=CheckBox4.Checked;;.