我正在使用Matlab(这是个好主意)。如何通过标量乘以直方图中的频率
我需要将直方图的频率乘以标量值(对于每个bin)。 我已经在similar question中试过这种方法,但它是为hist而不是直方图函数定义的。 这是我原来的分布需要乘以:
此外,当我完成这一部分,我将有更多的直方图我需要总结成一个直方图。那么我该怎么做?他们可能有不同的范围。
我正在使用Matlab(这是个好主意)。如何通过标量乘以直方图中的频率
我需要将直方图的频率乘以标量值(对于每个bin)。 我已经在similar question中试过这种方法,但它是为hist而不是直方图函数定义的。 这是我原来的分布需要乘以:
此外,当我完成这一部分,我将有更多的直方图我需要总结成一个直方图。那么我该怎么做?他们可能有不同的范围。
该文档clearly explains如何复制hist
与histogram
的行为。
例如:
A = rand(100, 1);
h = histogram(A);
figure
h_new = histogram('BinCounts', h.Values*2, 'BinEdges', h.BinEdges);
生成以下直方图:
完美。这正是我期待的! – numb
您可以修改Bincounts这样的:
X = normrnd(0,1,1000,1); % some data
h = histogram(X,3); % histogram with 3 bins
h.BinCounts = h.Values.*[3 5 1]; % scale each bin by factor 3, 5 and 1 respectively
什么样的数据,或你的代码?您可以在直方图之前对数据尝试'repmat',然后您将获得多个相同数据量。 – Adiel
@Adiel目前我只有一个大小的矢量(150877x1),所以我不能在这里发布它。我绘制了该矢量的直方图。现在我想用标量乘以它的频率。 此外,我将有更多这些向量,我将需要乘以标量。最后,我需要在一个直方图上总结它们。 – numb
您应该尝试创建一个最小示例,描述您的方法(向我们展示您的代码)以及您面临的问题:[问]。 – Irreducible