You are on page 1of 2

dx =.

01;
dt=.001;
c=5;
L=10;
stop=10;
r=c*dt/dx;
n=L/dx+1;
curr=.5-.5*cos(2*pi/L*[0:dx:L]);
curr(1:300)=0;
curr(700:1000)=0;
past=curr;
for t=0:dt:stop
future(1)=0;
future(2:n-1)=r^2*(curr(1:n-2)+curr(3:n))+2*(1-r^2)*curr(2:n-1)-past(2:n-1);
future(n)=0;
past=curr;
curr=future;
if mod(t/dt,10) == 0
plot([0:dx:L],curr)
axis([0 L -2 2])
pause(.1)
end
end

You might also like