how i can write periodic boundary condition
8 次查看(过去 30 天)
显示 更早的评论
clear
clc
xmin=0;
xmax=1;
N=10;
dt=0.001;
t=0;
tmax=0.5;
a=0.1;
L=2;
dx=(xmax-xmin)/N;
x=xmin-dx:dx:xmax+dx;
u0=exp(-(x-L/2).^2);
u=u0;
unp1=u0;
v0=exp(-(x-L/2).^2);
v=v0;
vnp1=v0;
nstep=tmax/dt;
for n=1:nstep
u(1)=u(3);
u(3+N)=u(1+N);
v(3)=v(1);
v(N+1)=v(N+3);
for i=2:N+2
unp1(i)= -a*u(i-1);
vnp1(i)=a*v(i-1);
end
t=t+dt;
u=unp1;
v=vnp1;
end
plot(u,'b');
hold on
plot(v);
hold off
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!