showing error " Array indices must be positive or logical values"
조회 수: 25 (최근 30일)
이전 댓글 표시
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
VBBV
2024년 4월 4일 15:10
이동: VBBV
2024년 4월 5일 5:16
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
lambda=sigma.*a((sqrt(1+32.*theta.*r)./(sigma.*a))-1) % same in this line
답변 (2개)
Torsten
2024년 4월 4일 14:13
편집: Torsten
2024년 4월 4일 14:15
lambda=sigma.*a.*((sqrt(1+32.*theta.*r)./(sigma(i).*a))-1)
instead of
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
Image Analyst
2024년 4월 4일 14:27
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일 14:27
이동: VBBV
2024년 4월 5일 5:16
See the FAQ for a thorough discussion of the error:
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!