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

1 vue (au cours des 30 derniers jours)
Ishfaq Ahmad Bhat
Ishfaq Ahmad Bhat le 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 commentaire
KSSV
KSSV le 23 Nov 2016
YOur code will work only when u is made a vector. At present u is only scalar equals to 0.

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by