0

我在 Matlab 中绘制了一个直方图(比如一些随机数的 P(r))。我现在如何获得与给定 r 值对应的 P(r) 值?我的意思是我需要与 MATLAB 中直方图的 x 轴上的给定值相对应的条形高度

4

2 回答 2

2

来自Matlab 文档hist

[n,xout] = hist(...)返回向量nxout包含频率计数和 bin 位置。

换句话说,hist具有可选的输出参数,其中包含您需要的信息。

于 2013-02-02T12:55:56.057 回答
1

在我创建一些示例代码时,请参阅@Oli 已经回答了这个问题:

%# Generate random data
nPoints = 100;
data = rand(N,1);

%# Calculate histogram
[nInBin, binPos] = hist(data,20);

%#Extract P() from nInBin
P = nInBin / nPoints;

%# X position to look for histgram "height" in
posToLookFor = 0.4;

%# Find closest bin
[~, closestBin] = min(abs(binPos-posToLookFor));

%#Visualize
figure();
bar(binPos,P)
hold on;
plot([posToLookFor posToLookFor], [0 P(closestBin)],'r','linewidth',3)

在此处输入图像描述

于 2013-02-02T13:04:49.577 回答