基于行数据的矩阵查找值(MATLAB)

时间:2012-11-03 17:06:09

标签: matlab matrix row lookup

我有以下内容:

X = [1 5; 2 5; 3 7; 4 7; 5 2; 6 7];

X =

 1     5
 2     5
 3     7
 4     7
 5     2
 6     7

b = [1;4;6];

b =

 1
 4
 6

有没有办法查找值(从X),输入为b,输出以下内容:

b1 =

 1     5
 4     7
 6     7

2 个答案:

答案 0 :(得分:0)

查看INTERSECT

对于downvoter和/或没有得到它的人:

[~,index] = intersect(X(:,1),b)
b1 = [b X(index,2)];

答案 1 :(得分:0)

如果您确定b的值在X范围内:

c = X(b,:);

X的第一列不是1:N

[~,idx]=ismember(b,X(:,1));
idx(idx==0)=[];
c = X(idx,:);