Presence/Absence 签入多边形 (Matlab)
Presence/Absence checking in a polygon (Matlab)
我有一个数据集(X、Y 位置)用于形成多边形,第二个数据集用于检查它在第一个数据集的多边形中是否存在。我计划通过更改第一个数据集多边形中的数据点数量来做到这一点。
如果在绘制第二个数据集后更改了第一个多边形中的数据点数,那么我可以说第二个数据集存在于第一个数据集中。但是我无法在 Matlab 上为它编写正确的代码。
如何计算多边形中数据点的数量?
您可以使用 inpolygon
检查第二个数据集中的每个点是否在第一个数据集形成的多边形内
is_inside = inpolygon(data2(:,1), data2(:,2), data1(:,1), data1(:,2));
这将生成一个 logical
数组,每个数据点都有一个条目。然后,您可以通过对该向量求和来确定多边形内的点数。
nPointsInside = sum(is_inside);
我有一个数据集(X、Y 位置)用于形成多边形,第二个数据集用于检查它在第一个数据集的多边形中是否存在。我计划通过更改第一个数据集多边形中的数据点数量来做到这一点。 如果在绘制第二个数据集后更改了第一个多边形中的数据点数,那么我可以说第二个数据集存在于第一个数据集中。但是我无法在 Matlab 上为它编写正确的代码。 如何计算多边形中数据点的数量?
您可以使用 inpolygon
检查第二个数据集中的每个点是否在第一个数据集形成的多边形内
is_inside = inpolygon(data2(:,1), data2(:,2), data1(:,1), data1(:,2));
这将生成一个 logical
数组,每个数据点都有一个条目。然后,您可以通过对该向量求和来确定多边形内的点数。
nPointsInside = sum(is_inside);