Invalid index showing Index exceeds the number of array elements. Index must not exceed 1.

18 views (last 30 days)
shiv gaur
shiv gaur on 6 Mar 2022
Commented: Jan on 12 Mar 2022
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

Accepted Answer

Torsten
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
shiv gaur
shiv gaur on 6 Mar 2022
the p loop for calculating the value of s and z ie
s=s+sum(a(p)*c(i-p));z=s+sum(a(p)*b(i-p))
first how to calculate the z s form this because this is complexity of s z

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by