| 查看: 1254 | 回复: 0 | ||
BreakX金虫 (小有名气)
|
[求助]
大神们帮帮忙 一个matlab程序转成fortran
|
|
MATLAB 的程序如下 %program 2 :the pseudospectral method %iu_t+u_xx+2abs(u)^2u=0 L=80;N=256;dt=0.02;tmax=20;nmax=round(tmax/dt); dx=L/N;x=[-L/2:dx:L/2-dx];K=[0:N/2-1,-N/2:-1]*2*pi/L;k2=K.^2; s1=1.2;s2=0.8;b1=1;b2=0;d1=20;d2=0; u=s1*sech(s1*(x+d1)).*exp(b1*1i*x)+s2*sech(s2*(x+d2)).*exp(b2*1i*x); udata=u;tdata=0; for nn=1:nmax du1=1i*(ifft(-k2.*fft(u))+2*u.*u.*conj(u)); v=u+0.5*du1*dt; du2=1i*(ifft(-k2.*fft(v))+2*v.*v.*conj(v)); v=u+0.5*du2*dt; du3=1i*(ifft(-k2.*fft(v))+2*v.*v.*conj(v)); v=u+du3*dt; du4=1i*(ifft(-k2.*fft(v))+2*v.*v.*conj(v)); u=u+(du1+2*du2+2*du3+du4)*dt/6; if mod(nn,round(nmax/25))==0 udata=[udata;u]; tdata=[tdata nn*dt]; end end % plot waterfall(x,tdata,abs(udata)); colormap([0 0 0]); view(10,60) text(-2,-6,'x','fontsize',15) text(50,5,'t','fontsize',15) zlabel('|u|','fontsize',15) axis([-L/2 L/2 0 tmax 0 2]);grid off set(gca ,'xtick',[-40 -20 0 20 40]) set(gca ,'ytick',[0 10 20]) set(gca ,'ztick',[0 1 2]) |
» 猜你喜欢
浙江师范大学是怎么坑我的
已经有3人回复
浙江师范大学是怎么坑我的
已经有8人回复
售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急
已经有3人回复
求教各位大神:2026教育部人文社科青年基金项目何时公示呀?
已经有6人回复
面上有专家说实验设备不是我们单位的
已经有8人回复
科研求助
已经有4人回复
博士去二本高校当辅导员,如何调整心态?
已经有11人回复
江苏省自然基金 什么时候出结果
已经有6人回复
闲聊
已经有3人回复









回复此楼