MATLAB: Index out of bounds because numel(uold)=1 Error

numeric code

Please help in removing the error in matlab code. I tried with changing the variable but that didn't help.
% Defining constants;
L=10; % length of domain in x-direction
tmax=10; % end time
nx=50; % number of nodes in x-direction
nt=50; % number of time steps
dx=L/(nx-1); % Length of space interval
dt=tmax/(nt-1); % Length of time interval
alpha=input('Enter the value of alpha: ');
r=alpha*dt/dx^2;
r2=1-2*r;
% INITIAL CONDITION
t=0;
u=0;
% LOOP OVER TIME STEPS
for m=1:nt
uold=u;
t=t+dt;
% LOOP OVER SPACE STEPS
for i=2:nx-1
u(i)=r*uold(i-1)+r2*uold(i)+r*uold(i+1);
end
end

Best Answer

hi,
initialize u with a vector of zeros instead of '0'. for ex
u =zeros(1,nx-1)
Related Question