Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

I get this error "Subscript indices must either be real positive integers or logicals."

1 visualización (últimos 30 días)
I have the following loop. It runs fine when r=1, but it gives me the following error when r=2 "Subscript indices must either be real positive integers or logicals."
for r=1:m
H_MMSE(:,r) = H_MMSE(RxP(:,r),TxP(:,r),N,pilotFrequency,h,SNR);
end

Respuestas (3)

the cyclist
the cyclist el 28 de Nov. de 2015
The proximate cause is most likely that RxP(:,r) and/or TxP(:,r) are returning non-integer values, so you are trying to index into the array H_MMSE at a non-existent location.
A larger issue is that it looks like you may have defined H_MMSE as both a function and as an array variable. You shouldn't do that. Try renaming one of them.

Image Analyst
Image Analyst el 28 de Nov. de 2015

Walter Roberson
Walter Roberson el 29 de Nov. de 2015
H_MMSE is a function before this starts. The function is invoked on the first iteration, and then the array H_MMSE is assigned to because it is the name that appears on the left hand side. So at iteration 2, H_MMSE is no longer a function and is instead now a array and you to access the array with parameters that belong to a function.
Change the name that you are assigning the value to.
for r=1:m
H_MMSE_vals(:,r) = H_MMSE(RxP(:,r),TxP(:,r),N,pilotFrequency,h,SNR);
end

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by