在matlab图中计算矩形内的点数

时间:2013-05-11 09:59:59

标签: matlab plot figure

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

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

1 个答案:

答案 0 :(得分:0)

假设您的数据位于ma xy,您可以执行以下操作

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

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

这会创建一个logical index array,您可以使用它来提取所需的数据点,

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;