Array indices must be positive integers or logical values error
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hope Damogbe
le 16 Mar 2019
Modifié(e) : Hope Damogbe
le 16 Mar 2019
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 commentaires
Réponse acceptée
Walter Roberson
le 16 Mar 2019
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 commentaires
Walter Roberson
le 16 Mar 2019
Yes, but array indices start at 1 in MATLAB. 0 is not a valid index in MATLAB.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!