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

1 view (last 30 days)
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
a(1)=0;
b(1)=1;
c(1)=0;
z=0;
s=0;
for i=1:20
for p=1:1:i-1
s=s+(a(p)*c(i-p))
z=z+(a(p)*b(i-p))
c(i+1)=(1/(i+1))*((z-c(i)));
b(i+1)=(1/(i+1))*((a(i))-(b(i))-(s));
a(i+1)=(1/(i+1))*(a(i)-b(i));
end
end
pl the program
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!