% Advection Example 1 % numerical wave speeds c = 1; dx = .01; x = 0:dx:5; n = length(x); u = zeros(1,n); v = zeros(1,n); R = .25; dt = R*dx; kmax = 1000; t = 0:dt:(kmax-1)*dt; for i=1:n u(i) = InC(x(i)); end plot(x,u); axis([0 5 -0.1 1.1]); for k=1:kmax-1 v(1) = 0; v(n) = 0; for i=2:n-1 v(i) = u(i) - R*(u(i)-u(i-1)); end for i=1:n w(i) = InC(x(i)-c*t(k)); end plot(x,v,x,w); axis([0 5 -0.1 1.1]); pause u = v; end