Matlab - 在附近找到点

时间:2016-10-14 03:00:10

标签: matlab dataset multivariate-testing

假设我有一个如下所示的数据集。

X = [170,85; 165,75; 180,100; 190120; 160,80; 170,70];

距离矢量

Y = [10,20];

数据点

Z = [166,77];

我想找到距离点Z

的距离Y内的所有X点

答案应该是 ans = [170,85; 165,75; 160,80; 170,70]

我如何在Matlab中执行此操作

1 个答案:

答案 0 :(得分:1)

a= X(abs(X(:,1)-Z(1))<=Y(1) & abs(X(:,2)-Z(2))<=Y(2),:)

修改

多维解决方案可能如下所示:

a= X(all(abs(X-ones(size(X,1),1)*Z) <= ones(size(X,1),1)*Y,2),:)