Why is the result of my logical indexing smaller than the original vector?

4 views (last 30 days)
I have a vector "x" and a logical indexing vector "idx", which is the same size as "x". However, when I index into "x" using "idx", the result is a different size.
Why does this happen?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 5 Jul 2017
Logical indexing in MATLAB only returns values for the locations where indexing vector is 1, any other values from the original vector are ignored.
To acquire a result of the same size of "x" and "idx", you can consider using the "element-wise multiplication" operator ( .* ), or the "logical and" operator ( & ). For more information, please refer to the following documentation page on Matrix Indexing:
https://www.mathworks.com/help/matlab/math/matrix-indexing.html#bq7egb6-1
     

More Answers (0)

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!