Array indices must be positive integers or logical values error
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hope Damogbe
el 16 de Mzo. de 2019
Editada: Hope Damogbe
el 16 de Mzo. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 16 de Mzo. de 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 comentarios
Walter Roberson
el 16 de Mzo. de 2019
Yes, but array indices start at 1 in MATLAB. 0 is not a valid index in MATLAB.
Más respuestas (0)
Ver también
Categorías
Más información sobre Operators and Elementary Operations en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!