I want to apply forward downstream scheme on a linear advection equation; this code was used in forward upstream scheme and I could not modify it to fit my application.
The error is caused by the "k+1" in line 18 of the code
dx = 0.05; dt = 0.01; C = 1; A1 = 1-C*dt/dx; A2 = C*dt/dx;x = [0:dx:20];N = length(x);for k = 2:N if (x(k) >= 4) && (x(k) <= 6) u(k) = cos(0.5*pi*(x(k)-5)); else u(k) = 0; endendu(1) = u(N);for k = 1:N uplot(1,k) = u(k);endfor iout = 1:5 for n = 1:5 for k = 2:N u1(k) = A1*u(k)+A2*u(k+1); end u1(1) = u1(N); for k = 1:N u(k) = u1(k); end end for k = 1:N uplot(iout+1,k) = u(k); endend
Best Answer