Info
此问题已关闭。 请重新打开它进行编辑或回答。
what exactly this Logical indexing refering to?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Fangjun Jiang
2016-8-3
Please look at the "Using Logicals in Array Indexing" part of this "Matrix Indexing"
web(fullfile(docroot, 'matlab/math/matrix-indexing.html'))
0 个评论
Thorsten
2016-8-3
编辑:Thorsten
2016-8-3
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 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!