如何检索坐标x,y保存在另一个矩阵中的特定行



我有一个数据矩阵 data (8765x138),第一列和第二列是x和y坐标。我在另一个数组 points (2000x2)中采样了一些特定的点,A中的第一列和第二列分别指x和y。我想在Matlab中提取一些与矩阵A匹配的特定行(都是x,y)。输出应该是(2000x138)。我尝试了下面的代码,但结果不正确。

newData = Data(ismember(Data(:,1),Points(:,1))& ismember(Data(:,2),Points(:,2)),:);

我应该怎么做才能从Data中选择它的第一和第二列与我的Points矩阵匹配的行。谁来帮帮我,我觉得我什么都试过了!

可以使用ismember和参数rows

newData = Data(ismember(Data(:,1:2),Points(:,1:2),'rows'),:);

但是当你进行抽样时,最好保存抽样数据的索引,并使用它们来提取坐标。

这是一个措辞不好的问题,所以很难确定,但解决方案可能是使用ismember()找到匹配的行,例如:

DataXY = Data(:,[1,2]);
tf = ismember(DataXY, Points, 'rows');
newData = Data(tf,:);

相关内容

最新更新