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

2 次查看(过去 30 天)
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 个评论
KSSV
KSSV 2016-11-23
YOur code will work only when u is made a vector. At present u is only scalar equals to 0.

请先登录,再进行评论。

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by