Первая краевая задача методом сеток
Листинг программы решения первой краевой задачи уравнения параболического типа методом сеток (по явной схеме).
program metodSetok; uses Crt; Type ar = array[0..100,0..100] of Real; Const L=1; h=0.1; tay=0.00167; m=10; var u: ar; i,k,n:integer; function F(x:Real):real; begin F:=3*x*(1-x)+0.12; end; function Fi(x:Real):real; begin Fi:=2*(x+0.06); end; function Psi(x:Real):real; begin Psi:=0.84; end; BEGIN ClrScr; n:=Trunc(L/h+0.5); for k:=1 to m do begin u[0,k]:=Fi(k*tay); u[n,k]:=Psi(k*tay); end; for i:=1 to n-1 do u[i,0]:=f(i*h); for k:=0 to m-1 do begin for i:=1 to n-1 do begin u[i,k+1]:=(u[i-1,k]+4*u[i,k]+u[i+1,k])/6; end; end; writeln('Rezyltati vichisleniy'); write(''); for i:=1 to n do write('',i:2,''); Writeln; write(''); for i:=0 to n do write('',i*h:1:2,''); for k:=0 to m do begin Writeln; write(k:2,'|'); for i:=0 to n do begin write(u[i,k]:1:2,''); end; end; Writeln; Writeln('Kolichestvo razbieniy po osi Ox= ',n:2); Writeln('Shag razbieniya= ',h:1:5); Writeln('Shag po vremennomy slou= ',tay:1:5); Writeln('Kolichestvo shagov= ',m:2); while not keypressed do; END.
Скрин выполнения программы