plotxt.m
来自「非线性偏微分方程用不同差分格式求解两种TVD格式」· M 代码 · 共 51 行
M
51 行
cfl=0.5;
h=0.01;
dt=cfl*h;
x1=0;
x2=0.4;
x3=0.6;
x4=2.5;
m=(x4-x1)/h;
tn=0.2;
n=tn/dt;
s=0.5;
x=zeros(n,m);
u=zeros(1,m);
x0=zeros(1,m);
t=zeros(1,n);
for i=2:1:n
t(i)=t(i-1)+dt;
end
for j=2:1:m
x0(j)=x0(j-1)+h;
end
x(1,:)=x0;
for i=2:1:n
if t(i)<0.4
for j=1:1:m
if x(i,j)<=x2+t(i)&&x(i,j)>x2
u(j)=x(i,j)/t(i);
elseif x(i,j)>x2+t(i)&&x<=x3+s*t(i)
u(j)=1;
else
u(j)=0;
end
end
else t(i)>=0.4
for j=1:1:m
if x(i,j)<=x2+t(i)&&x<=x3+s*t(i)
u(j)=x(i,j)/t(i);
else
u(j)=0;
end
end
end
for j=1:1:m
x(i,j)=x(i-1)+u(j)*dt;
end
end
for j=1:1:m
plot(x(:,j),t)
hold on;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?