# In the program below, the loop stops at theta(4). It will be a great help if you can please help me to rectify the error.

조회 수: 1(최근 30일)
Tuhin 26 Aug 2014
댓글: Ben11 26 Aug 2014
clear
theta(1)= input('Enter your guess:')
theta(3)= theta(1)
S1=0.5
S2=.32
S3=0.56
dx=(1/30)
for i= 2:30
theta(i)=(theta(i+1)+theta(i-1)+S3*(dx)^2)/(S1*theta(i)*(dx)^2+S2*(dx)^2+2)
end
theta(i)
The error message is-----
??? Attempted to access theta(4); index out of bounds because numel(theta)=3.
Error in ==> discrtization at 9. theta(i)=(theta(i+1)+theta(i-1)+S3*
(dx)^2)/(S1*theta(i)*(dx)^2+S2*(dx)^2+2)

로그인 to comment.

### 채택된 답변

Ben11 26 Aug 2014
Initialize your array theta and change the upper limit of your for loop like so:
theta = zeros(1,30);
theta(1)= input('Enter your guess:')
theta(3)= theta(1)
S1=0.5
S2=.32
S3=0.56
dx=(1/30)
for i= 2:size(theta,2)-1
theta(i)=(theta(i+1)+theta(i-1)+S3*(dx)^2)/(S1*theta(i)*(dx)^2+S2*(dx)^2+2)
end
theta(i)

#### 댓글 수: 2

Tuhin 26 Aug 2014
Dear Ben, Thanks a ton for the reply. It is working now.
Ben11 26 Aug 2014
great then glad to help!

로그인 to comment.

### 추가 답변(0개)

이 질문에 답변하려면 로그인을(를) 수행하십시오.

Translated by