index out of bounds because numel(uold)=1 Error

2 Ansichten (letzte 30 Tage)
Ishfaq Ahmad Bhat
Ishfaq Ahmad Bhat am 23 Nov. 2016
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
  1 Kommentar
KSSV
KSSV am 23 Nov. 2016
YOur code will work only when u is made a vector. At present u is only scalar equals to 0.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Preethi
Preethi am 23 Nov. 2016
hi,
initialize u with a vector of zeros instead of '0'. for ex
u =zeros(1,nx-1)

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by