clear; clc;% clear
the screen and memory
Nx=41; %number of
space nodes
Nt=82; %number of
time nodes
Lx=2; %length of
space (m)
Lt=1; %length of
time (s)
dx=Lx/(Nx-1); %grid
spacing
dt=Lt/(Nt-1); %time step
a=dt/dx;
u=ones(Nx,1); %initialization
of solution matrix
x=zeros(Nx,1); %initialization
of space
hold on
for i=1:Nx-1 %space
loop
x(i+1)=x(i)+dx;
end
for i=0.5/dx:1/dx %initial
conditions
u(i)=2;
end
for t=1:Nt %time loop
un=u; %u(i,t)
for i=2:Nx %solution loop, backward in
space forward in time
u(i)=un(i)-u(i)*a*(un(i)-un(i-1)); %discretized
equation, u(i,t+1)
end
plot(x,u,'k') %plotting
pause(0.1)
end