我上传的图片描述了我想要做的事情。我有一个情节,在这个情节里面我有矩形。我想知道我对整个情节有多少分。然后我在矩形内有多少个点。这将帮助我做出百分比。如图所示,矩形从x> 1开始,y> -50 ..
答案 0 :(得分:0)
假设您的数据位于ma x
和y
,您可以执行以下操作
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;