Invalid index showing Index exceeds the number of array elements. Index must not exceed 1.
1 view (last 30 days)
Show older comments
a(1)=1;
b(1)=1;
c(1)=1;
S=0;
Z=0;
for i=1:20
for p=1:i-1
a(i+1)=(1/(i+1))*(a(i)-b(i));
S=S+a(p)*c(i-p);
b(i+1)=(1/(i+1))*(a(i)-S-b(i));
Z=Z+a(p)*b(i-p);
c(i+1)=(1/(i+1))*(Z-c(i));
disp([S Z])
end
end
Index exceeds the number of array elements. Index must not exceed 1.
display is showing
1 Comment
Jan
on 12 Mar 2022
@shiv gaur: You have been asked repeatedly to use a proper code formatting. Please read an consider this: https://www.mathworks.com/matlabcentral/answers/help/rtc#rtc_summary . Thanks.
Accepted Answer
Torsten
on 6 Mar 2022
For i=1, the p-loop is empty since your loop index goes from p=1:i-1.
Thus for i=1, a(i+1) = a(2), b(i+1) = b(2) and c(i+1) = c(2) will not be defined.
But for i=2, you refer to a(2), b(2) and c(2) in the p-loop in the expressions for a(3), b(3) and c(3). This causes the error.
13 Comments
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!