kdvequationsimulation.m

来自「%模拟偏微分方程kdv方程的水波。 %通过修改已可以用来模拟其他的如KP方程等」· M 代码 · 共 23 行

M
23
字号
% 模拟偏微分方程kdv方程的水波。
%通过修改已可以用来模拟其他的如KP方程等。
dt=0.0001;dx=0.1;c=dt/dx^3;d=dt/dx;
x=-6:0.1:25;n=length(x);
y(:,1)=3*(sech(x')).^2;%初始条件
h=plot(x(1:end),y(1:end,1),'linewidth',2);
axis([-6,25,-3,6])
set(h,'EraseMode','xor','MarkerSize',18);
y(3:(n-2),2)=-c/2*(y(5:n,1)-2*y(4:(n-1),1)+...
2*y(2:(n-3),1)-y(1:(n-4),1))+y(3:(n-2),1)...
-6*y(3:(n-2),1).*d.*(y(4:(n-1),1)-y(2:(n-3),1));
for j=1:100000;
y(3:(n-2),3)=-c*(y(5:n,2)-2*y(4:(n-1),2)+...
2*y(2:(n-3),2)-y(1:(n-4),2))+y(3:(n-2),1)...
-6*y(3:(n-2),2).*d.*(y(4:(n-1),2)-y(2:(n-3),2));
y(3:(n-2),1)=y(3:(n-2),2);
y(3:(n-2),2)=y(3:(n-2),3);
if mod(j,40)==0;
set(h,'XData',x,'YData',y(:,2));
drawnow;
end
end

⌨️ 快捷键说明

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