function u=b()
dt=0.1; %时间间隔
n=201; %网格数
h=2/(n-1); %空间步长
m=2/dt; %迭代次数
u=ones(m,n);
u(:,1)=0;
u(:,n)=0;
for j=2:n-1
u(1,j)=sin(pi*j*h);
end
for i=1:m
for j=2:n-1
u(i+1,j)=u(i,j)-u(i,j)*dt/2*h*(u(i,j+1)-u(i,j-1))+0.01*(dt/h^2)*(u(i,j+1)-2*u(i,j)+u(i,j-1));
end
end
end
运行出来的结果:(部分)为什么第二行算不出来?
Columns 1 through 7
0 0.0628 0.0941 0.1253 0.1564 0.1874 0.2181
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0