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

1 次查看(过去 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 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by