laxfriedrichs.m

来自「偏微分方程数值解法的程序包」· M 代码 · 共 29 行

M
29
字号
a=1.0;
h=0.1;
lambda=0.5;
tau=lambda*h;
T=0.5;
N=T/tau;
J=(1.0-0)/h+1;
% for initialization
for j=1:J+1+N
    x(j)=-(j-1)*h+1.0;
    if(x(j)>0.4&x(j)<0.6)
        u0(j)=1.0;
    else
        u0(j)=0;
    end
end
for n=1:N
    for j=1:J+1+N-n
         u1(j)=u0(j)-a*lambda*(u0(j)-u0(j+1));
    end
    for j=1:J+1+N-n
        u0(j)=u1(j);
    end
end
for j=1:J+1;
    axis_x(j)=x(j);
    appr_u(j)=u1(j);
end
plot(axis_x,appr_u)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?