Subscript indices must either be real positive integers or logicals
1 view (last 30 days)
Show older comments
MOHINI MODI
on 8 Aug 2017
Answered: MOHINI MODI
on 10 Aug 2017
what should i do to not get this error? >> Subscript indices must either be real positive integers or logicals.
1 Comment
per isakson
on 8 Aug 2017
Make sure that the values of sqrt(EbN0) and sqrt(2*EbN0) always are "real positive integers or logicals"
Accepted Answer
Walter Roberson
on 8 Aug 2017
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
the cyclist
on 8 Aug 2017
Edited: the cyclist
on 8 Aug 2017
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)
More Answers (2)
the cyclist
on 8 Aug 2017
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
the cyclist
on 8 Aug 2017
Ah, you are right. I missed the evidence that the workspace didn't have an sqrt variable.
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!