Subscript indices must either be real positive integers or logicals

what should i do to not get this error? >> Subscript indices must either be real positive integers or logicals.

1 Comment

Make sure that the values of sqrt(EbN0) and sqrt(2*EbN0) always are "real positive integers or logicals"

Sign in to comment.

 Accepted Answer

Remember,
Q(sqrt(EbN0))
means to take the square root of EbN0, and then try to use that square root as an index into the variable Q (which is a scalar.) There is no implied multiplication in MATLAB: if you want
Q .* sqrt(EbN0)
then you have to write that.

2 Comments

Thank you very much for helping me. I really appreciate your help. I tried running => Q .* sqrt(EbN0) Still i am getting error >> Subscript indices must either be real positive integers or logicals.
It looks like you ran that in the command window, but you did not actually fix line in your script g.m. You need to edit the script before you run it.
Also, you will need to fix the next line
Q .* sqrt(2*EbN0)

Sign in to comment.

More Answers (2)

It looks like you have somehow created a variable with the name sqrt, and you are inadvertently accessing that variable, rather than the sqrt function.

3 Comments

No, not in this particular case -- but that does certainly happen sometimes!
Ah, you are right. I missed the evidence that the workspace didn't have an sqrt variable.
Hello Sir, Thank you very much for helping me. sqrt is matlab function i am using and Q is input signal, which is '1'

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!