退赛之前看能不能给有缘人一些启发吧
边界条件没有写进去
%第一问
%采用D-F无条件稳定差分格式求解
clear;clc;close all;
J=1520;
N=5400;
U=zeros(N+1,J+1);
s1=1948.991527;
s2=2043.973042;
s3=3513.725392;
s4=236107.5976;
for n=1:N+1
% U(n,1)= %边界条件?????
% U(n,2)=
end
for j=1:J+1
U(1,j)=310.15; %初始条件
end
for n=1:N
for j=2:J
if j<=59
U(n+1,j+1)=(2+2*s1)/s1*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s1)/s1*U(n,j)-U(n,j+1);
end
if j==60
U(n+1,j+1)=1.22162*U(n+1,j)-0.22162*U(n+1,j-1);
end
if j>=61&&j<=659
U(n+1,j+1)=(2+2*s2)/s2*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s2)/s2*U(n,j)-U(n,j+1);
end
if j==660
U(n+1,j+1)=9.22222*U(n+1,j)-8.22222*U(n+1,j-1);
end
if j>=661&&j<=1019
U(n+1,j+1)=(2+2*s3)/s3*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s3)/s3*U(n,j)-U(n,j+1);
end
if j==1020
U(n+1,j+1)=2.60714*U(n+1,j)-1.60714*U(n+1,j-1);
end
if j>=1021&&j<=1520
U(n+1,j+1)=(2+2*s4)/s4*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s4)/s4*U(n,j)-U(n,j+1);
end
end
end
边界条件没有写进去
%第一问
%采用D-F无条件稳定差分格式求解
clear;clc;close all;
J=1520;
N=5400;
U=zeros(N+1,J+1);
s1=1948.991527;
s2=2043.973042;
s3=3513.725392;
s4=236107.5976;
for n=1:N+1
% U(n,1)= %边界条件?????
% U(n,2)=
end
for j=1:J+1
U(1,j)=310.15; %初始条件
end
for n=1:N
for j=2:J
if j<=59
U(n+1,j+1)=(2+2*s1)/s1*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s1)/s1*U(n,j)-U(n,j+1);
end
if j==60
U(n+1,j+1)=1.22162*U(n+1,j)-0.22162*U(n+1,j-1);
end
if j>=61&&j<=659
U(n+1,j+1)=(2+2*s2)/s2*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s2)/s2*U(n,j)-U(n,j+1);
end
if j==660
U(n+1,j+1)=9.22222*U(n+1,j)-8.22222*U(n+1,j-1);
end
if j>=661&&j<=1019
U(n+1,j+1)=(2+2*s3)/s3*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s3)/s3*U(n,j)-U(n,j+1);
end
if j==1020
U(n+1,j+1)=2.60714*U(n+1,j)-1.60714*U(n+1,j-1);
end
if j>=1021&&j<=1520
U(n+1,j+1)=(2+2*s4)/s4*U(n+1,j)-U(n+1,j-1)-U(n,j-1)-(2-2*s4)/s4*U(n,j)-U(n,j+1);
end
end
end