【发布时间】:2015-02-19 16:35:23
【问题描述】:
假设我有一个矩阵 A,其第一列是 ID,还有一个向量 B,其中包含随机顺序的某些 ID(其中一些可能会丢失等)。
如何按照B给出的顺序选择具有匹配ID的A的行?
示例:
使用矩阵
A = [2, 0.4, 0.3;
9, 0.2, 0.8;
3, 0.3, 0.4;
5, 0.1, 0.5];
B = [9; 2; 5];
我想得到矩阵
C = [9, 0.2, 0.8;
2, 0.4, 0.3;
5, 0.1, 0.5];
【问题讨论】:
-
@knedlsepp 我认为链接问题的答案可能会在之后需要
sorting来解决它。当然,这是假设这里的 OP 想要使用向量作为索引数组。 -
好吧,也许不是那么清楚。 A 包含两列,一列是 ID,另一列是值。 B 只是按特定顺序包含 ID。 B 不包含我想要的索引,但是我想要的 Ids
-
@Flos 然后查看发布的解决方案?认为你想要这样的东西?
-
如果你不关心订单:
A(ismember(A(:,1),B),:)----如果你关心订单并且B的大小固定为3 ----A([find(A(:,1)==B(1)), find(A(:,1)==B(2)), find(A(:,1)==B(3))],:)跨度>