lax_wendroff.m

来自「差分格式中的一种类型」· M 代码 · 共 28 行

M
28
字号
A=zeros(101,103);
A(1,2)=1;
   for n=1:101
       for  j=2:102
           if j==2
             A(n,j-1)=1;
             A(n+1,j)=0.75*A(n,j)-0.125*A(n,j+1)+0.375*A(n,j-1);
           elseif j==102
            A(n,j+1)=0;
           A(n+1,j)=0.75*A(n,j)-0.125*A(n,j+1)+0.375*A(n,j-1);
           else
              A(n+1,j)=0.75*A(n,j)-0.125*A(n,j+1)+0.375*A(n,j-1);
         end
       end
    end
%开始画图
z=zeros(1,101);  %解析解
for k=1:50
    z(k)=1;
for k=51:101
    z(k)=0;
end
end
x=0:0.01:1;
y=A(101,2:102);
w=[y;z];
plot(x,y,x,w)
title('Lax-Wendroff')

⌨️ 快捷键说明

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