clear; clc;% clear
the screen and memory
Nx=500; %number of
space nodes
Nt=10000; %number of
time nodes
Lx=0.3; %length of
space (m)
Lt=10; %length of
physical time (s)
dx=Lx/(Nx-1); %grid
spacing
dt=Lt/(Nt-1); %time step
c=0.000097; %speed of
wave (constant)
a=c*dt/dx.^2;
u=100*ones(Nx,1); %initialization
of matrix for the property under investigation
x=zeros(Nx,1); %initialization
of space
for i=1:Nx-1 %space
loop
x(i+1)=x(i)+dx;
end
u(1)=-20; %boundary
condition
u(Nx)=50; %boundary
condition
for t=0:dt:Lt %time loop
un=u; %u(i,t)
for i=2:Nx-1 %solution loop, backward in
space forward in time
u(i)=((1-2*a)*un(i))+a*(un(i+1)+un(i-1)); %discretized equation,
u(i,t+1)
end
plot(x,u) %plotting
title({t;'Time Elaplsed (s)'},'FontSize',38.5);
pause(0.001)
end