【发布时间】:2018-10-06 03:13:51
【问题描述】:
我有矩阵A
A=[ 1 2 3;
3 4 5;
1 6 7;
2 2 1 ]
我需要矩阵B,其中行来自A,第一列有1:
B=[ 1 2 3;
1 6 7 ]
【问题讨论】:
我有矩阵A
A=[ 1 2 3;
3 4 5;
1 6 7;
2 2 1 ]
我需要矩阵B,其中行来自A,第一列有1:
B=[ 1 2 3;
1 6 7 ]
【问题讨论】:
你可以使用逻辑索引
B = A( A(:,1) == 1, : )
这表示“A 的所有行的所有列,其中A 的列1 等于1”。
【讨论】:
您可以使用查找功能来执行此操作。
clc;
A=[ 1 2 3;
3 4 5;
1 6 7;
2 2 1 ];
idx = find(A(:,1) == 1)
B = A(idx,:)
输出:
idx =
1
3
B =
1 2 3
1 6 7
【讨论】:
find函数,你可以用同样的方法使用idx = A(:,1)==1来更快更简单的逻辑索引。但是,此时这个答案与我的earlier solution 完全相同。
find 有时也有它的用途,我只是指出相似之处:)