# showing error " Array indices must be positive or logical values"

1 回表示 (過去 30 日間)
Prasannakumar reddy 2024 年 4 月 4 日

clc
clear all
N=2;
c=linspace(0.035,0.010,21)
r=linspace(0.0001,1,21)
thetaroot=15;
thetatip=4;
a=5.7
R=0.35;
theta=(thetaroot+(r.*(thetatip-thetaroot)))./57.3
sigma=(N.*c(i))./(pi.*R)
lambda=sigma.*a((sqrt(1+32.*theta.*r)./(sigma(i).*a))-1)
##### 1 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
VBBV 2024 年 4 月 4 日

i & j are complex quantities in Matlab, if you use it as index without assigning any value to them would give such error, since Matlab uses 1 based positive integer indexing
clc
clear all
N=2;
c=linspace(0.035,0.010,21);
r=linspace(0.0001,1,21);
thetaroot=15;
thetatip=4;
a=5.7;
R=0.35;
theta=(thetaroot+(r.*(thetatip-thetaroot)))./57.3;
sigma=(N.*c)./(pi.*R) % i & j are complex quantities in Matlab
sigma = 1x21
0.0637 0.0614 0.0591 0.0568 0.0546 0.0523 0.0500 0.0477 0.0455 0.0432 0.0409 0.0387 0.0364 0.0341 0.0318 0.0296 0.0273 0.0250 0.0227 0.0205 0.0182
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
lambda=sigma.*a((sqrt(1+32.*theta.*r)./(sigma.*a))-1) % same in this line
Array indices must be positive integers or logical values.

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

### 回答 (2 件)

Torsten 2024 年 4 月 4 日

lambda=sigma.*a.*((sqrt(1+32.*theta.*r)./(sigma(i).*a))-1)
lambda=sigma.*a((sqrt(1+32.*theta.*r)./(sigma(i).*a))-1)
And since "i" is undefined, c(i) and thus sigma(i) are empty.
##### 2 件のコメントなしを表示なしを非表示
Prasannakumar reddy 2024 年 4 月 4 日
thanks it's working.
Image Analyst 2024 年 4 月 4 日
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

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

Image Analyst 2024 年 4 月 4 日

See the FAQ for a thorough discussion of the error:

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

### カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by