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

6 ビュー (過去 30 日間)
shiv gaur 2022 年 3 月 6 日
コメント済み: Jan 2022 年 3 月 12 日
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 件のコメント表示 なし非表示 なし
Jan 2022 年 3 月 12 日

サインインしてコメントする。

### 採用された回答

Torsten 2022 年 3 月 6 日
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 件のコメント表示 12 件の古いコメント非表示 12 件の古いコメント
shiv gaur 2022 年 3 月 6 日
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

サインインしてコメントする。

### カテゴリ

Find more on Matrix Indexing in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!