Info
This question is closed. Reopen it to edit or answer.
what exactly this Logical indexing refering to?
1 view (last 30 days)
Show older comments
I tried this example
C = {'one', 'two', 'three'; 1, 2, 3}
when i do those commands
>> x=logical([0;0]);
nums = [C{x,:}]
The output is: nums =[]
similarly when
>> x=logical([0;1]);
nums = [C{x,:}
The o/p is: 1 2 3
>> x=logical([1;0]);
nums = [C{x,:}]
The o/p is: nums= onetwothree
>> x=logical([1;1]);
>> nums = [C{x,:}]
The o/p is: nums= onetwothree
what i want to know, what exactly does this function nums = [C{x,:}]do to return this values.
I knew that if i put x=scalar value, it will return the row if this scalar number.
but in my case, i don't know what this function nums = [C{x,:}]do that it returned the values illustrated above.
0 Comments
Answers (2)
Fangjun Jiang
on 3 Aug 2016
Please look at the "Using Logicals in Array Indexing" part of this "Matrix Indexing"
web(fullfile(docroot, 'matlab/math/matrix-indexing.html'))
0 Comments
Thorsten
on 3 Aug 2016
Edited: Thorsten
on 3 Aug 2016
When you ask for [C{logical([1 1]),:}] which is the same as [C{:,:}] you ask Matlab to combine variables of unlike classes, namely double and char. In this case Matlab converts the resulting array to char, as detailed in http://de.mathworks.com/help/matlab/matlab_prog/valid-combinations-of-unlike-classes.html
char(2) and char(3) result in a space on my machine, you the result you get is
onetwo three
0 Comments
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!