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

조회 수: 1 (최근 30일)
Ishfaq Ahmad Bhat
Ishfaq Ahmad Bhat 2016년 11월 23일
댓글: Ishfaq Ahmad Bhat 2016년 11월 23일
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