Matlab 如何将直方图中的频率乘以标量

Matlab 如何将直方图中的频率乘以标量,matlab,histogram,Matlab,Histogram,我使用Matlab来实现这个(更好的想法) 我需要将直方图的频率乘以一个标量值(对于每个箱子)。 我在一个例子中尝试过这种方法,但它是为hist而不是直方图函数定义的。 这是我需要倍增的原始分布: 这是我使用类似问题中给出的方法得到的结果: 此外,当我完成这一部分时,我将有更多的直方图,我需要将它们汇总成一个直方图。那我该怎么做呢?它们可能有不同的范围 有关如何复制的行为的文档 例如: A = rand(100, 1); h = histogram(A); figure h_new = h

我使用Matlab来实现这个(更好的想法)

我需要将直方图的频率乘以一个标量值(对于每个箱子)。 我在一个例子中尝试过这种方法,但它是为hist而不是直方图函数定义的。 这是我需要倍增的原始分布:

这是我使用类似问题中给出的方法得到的结果:

此外,当我完成这一部分时,我将有更多的直方图,我需要将它们汇总成一个直方图。那我该怎么做呢?它们可能有不同的范围

有关如何复制的行为的文档

例如:

A = rand(100, 1);
h = histogram(A);

figure
h_new = histogram('BinCounts', h.Values*2, 'BinEdges', h.BinEdges);
生成以下直方图:

有关如何使用复制的行为的文档

例如:

A = rand(100, 1);
h = histogram(A);

figure
h_new = histogram('BinCounts', h.Values*2, 'BinEdges', h.BinEdges);
生成以下直方图:


您可以这样修改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

您可以按如下方式修改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目前我只有一个大小为(150877x1)的向量,因此无法在此处发布。我绘制该向量的直方图。现在我想用标量乘以它的频率。此外,我将有更多这些向量,我将需要乘以标量。最后,我需要在一个柱状图上总结它们。您应该尝试创建一个最小的示例,描述您的方法(向我们展示您的代码)以及您面临的问题:。您的数据或代码是什么?您可以在直方图之前的数据上尝试
repmat
,然后您将获得多个数量的相同数据。@Adiel目前我只有一个大小为(150877x1)的向量,因此无法在此处发布。我绘制该向量的直方图。现在我想用标量乘以它的频率。此外,我将有更多这些向量,我将需要乘以标量。最后,我需要在一个柱状图上总结它们。你应该尝试创建一个最小的示例,描述你的方法(向我们展示你的代码)和你面临的问题:。完美。这正是我要找的!完美的这正是我要找的!