0

我上传了一张图片,描述了我想要做什么。我有一个情节,在这个情节里面我有矩形。我想知道整个情节我有多少分。然后我在矩形内有多少点。这将帮助我获得百分比。如图所示,矩形从 x>1 和 y>-50 开始。

http://postimg.org/image/96w4s1x9t/

4

1 回答 1

0

假设您的数据在矩阵xy中,您可以执行以下操作

xRange = [1 7];
yRange = [-50 -20];

dataInRangeInd = (x >= xRange(1)) & (x <= xRange(2)) & (y >= yRange(1)) & (y <= yRange(2));

这将创建一个逻辑索引数组,您可以使用它来提取所需的数据点,

xDataInRange = x(dataInRangeInd);
yDataInRange = y(dataInRangeInd);

如果您只想知道矩形中有多少项目,您可以将索引数组中的值相加,因为1如果数据点在范围内,它将具有值,否则将具有值0

countInRange = sum(dataInRangeInd(:));

要获得最初的元素总数,您可以使用numel

countTotal = numel(x); % or numel(y); whatever floats your boat

那么百分比是

rangePercentOfTotal = 100 * countInRange / countTotal;
于 2013-05-11T10:07:45.277 回答