A=[0,1,2;
5,6,7]
B=logical(A)
C=A(B)
C=[ 5
1
6
2
7]
C是列矩阵
A=[0,1,2]
B=logical(A)
C=A(B)
C=[1,2]
C是行矩阵
能解释一下为什么后面这个不是列矩阵吗C=[1
2]
你好,这是matlab内部机制,当行数和列数都大于1的时候,matlab矩阵在逻辑索引下无法保持矩阵原有的形状,matlab自动将被索引的元素转化成一个列向量;当行数等于1的时候,可以保持一行的形状,所以索引出来的就是一行;当列数为1的时候,自然索引出来就是1列。