我有一个大小为Nx2(包含(x,y)坐标)的矩阵x
和一个大小为Px1(P <= N)的矩阵c
,其中包含某些x坐标,即I'我很感兴趣。例如:
x = [10 3; 21 9; 98 54; 4 30; 37 12];
c = [4 98];
我想获取c
中元素的坐标(在上面的例子[4 3]
中)。我怎样才能做到这一点?当c
是1x1矩阵(即标量)时,我才找到了一种方法。
答案 0 :(得分:3)
ismember
可用于测试多个值的成员资格。您可以将N-by-2矩阵切片以仅搜索x坐标。
coords = [1 2; 3 4; 5 6; 7 8];
c = [3 7 99];
[v i] = ismember(c, coords(:, 1));
i =
[2 4 0]
i
应包含索引,其中c
中的值显示为coords
中的x坐标,如果未找到该元素则显示为0。
如果您有最新版本的Matlab,则可以将v
替换为~
。