how i can write periodic boundary condition

9 visualizaciones (últimos 30 días)
lulu
lulu el 31 de En. de 2020
Comentada: Mahesh Taparia el 3 de Feb. de 2020
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

Respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by