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!