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

在matlab绘图中计算矩形内的点数,matlab,plot,figure,Matlab,Plot,Figure,我上传了一张描述我想做什么的图片。我有一个图,在这个图中我有一个矩形。我想知道我对整个情节的看法。然后是矩形内有多少个点。这将有助于我提高百分比。如图所示,矩形从x>1和y>-50开始 假设您的数据在matrcesx和y中,您可以执行以下操作 xRange = [1 7]; yRange = [-50 -20]; dataInRangeInd = (x >= xRange(1)) & (x <= xRange(2)) & (y >= yRange(1)) &a

我上传了一张描述我想做什么的图片。我有一个图,在这个图中我有一个矩形。我想知道我对整个情节的看法。然后是矩形内有多少个点。这将有助于我提高百分比。如图所示,矩形从x>1和y>-50开始


假设您的数据在matrces
x
y
中,您可以执行以下操作

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

dataInRangeInd = (x >= xRange(1)) & (x <= xRange(2)) & (y >= yRange(1)) & (y <= yRange(2));
如果您只想知道矩形中有多少项,您可以将索引数组中的值相加,因为如果数据点在范围内,则该数组的值为
1
,否则:

countInRange = sum(dataInRangeInd(:));
要最初获取元素总数,可以使用
numel

countTotal = numel(x); % or numel(y); whatever floats your boat
那么百分比是多少

rangePercentOfTotal = 100 * countInRange / countTotal;

你能发布所有数据集的代码,包括矩形参数吗?简单脚本应该迭代每个矩阵的元素,并检查它是否在三角形内。事实上,这和阴谋无关。嗨,非常感谢你。问题是我有一个循环,我正在循环中应用你的代码。因此,它将只计算一圈的百分比。它如何计算所有循环的百分比?!我建议你把它变成一个单独的问题,这样你就有足够的空间来清楚地解释你需要什么,因为你评论中的问题可能意味着很多事情中的任何一个。
rangePercentOfTotal = 100 * countInRange / countTotal;