Array indices must be positive integers or logical values error
조회 수: 6 (최근 30일)
이전 댓글 표시
I am trying to perform the following on MATLAB

However, I keep getting the error which says "Array indices must be positive integers or logical values error"
Please help. Here's my code:
nT=0
for n=0:10000 %part 5
beta=alpha*sqrt(1-((2*n)/N-1)^2);
if abs(n)<= (N-1)/2
syms k x
Ibeta=1+symsum((((1/factorial(k))*(beta/2)^k)^2),k,1,Inf)
Ialpha=1+symsum((((1/factorial(k))*(alpha/2)^k)^2),k,1,Inf)
wk(nT)=Ibeta/Ialpha
nT=nT+1;
else
wk(nT)=0
nT=nT+1;
end
n=n+1;
end
THIS IS THE ERROR I GET:
Array indices must be positive integers or logical values.
Error in DSPproj (line 25)
wk(nT)=Ibeta/Ialpha
댓글 수: 0
채택된 답변
Walter Roberson
2019년 3월 16일
You initialize nT to 0. You access wk(nT) but nT is still 0.
You need to move the increments of nT to before you use nT as indices.
댓글 수: 2
Walter Roberson
2019년 3월 16일
Yes, but array indices start at 1 in MATLAB. 0 is not a valid index in MATLAB.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!