MatLab中的自定义直方图密度计算

MatLab中的自定义直方图密度计算,matlab,histogram,kernel-density,Matlab,Histogram,Kernel Density,MatLab是否有任何内置函数来评估自定义直方图中随机变量的密度?(我怀疑可能有很多方法可以做到这一点,我只是想看看是否已经有任何内置的MatLab功能)。 谢谢。该函数为您计算的概率密度提供了一个近似值 如果需要连续表示,请说明如何使用“曲线拟合工具箱”中的样条曲线命令获取连续表示。基本上,本文解释了如何对直方图进行三次插值 生成的代码是: y = randn(1,5001); % Replace y by your own dataset [heights,centers] = hist(

MatLab是否有任何内置函数来评估自定义直方图中随机变量的密度?(我怀疑可能有很多方法可以做到这一点,我只是想看看是否已经有任何内置的MatLab功能)。 谢谢。

该函数为您计算的概率密度提供了一个近似值

如果需要连续表示,请说明如何使用“曲线拟合工具箱”中的
样条曲线
命令获取连续表示。基本上,本文解释了如何对直方图进行三次插值

生成的代码是:

y = randn(1,5001); % Replace y by your own dataset

[heights,centers] = hist(y);
hold on
n = length(centers);
w = centers(2)-centers(1);
t = linspace(centers(1)-w/2,centers(end)+w/2,n+1);
dt = diff(t);
Fvals = cumsum([0,heights.*dt]);
F = spline(t, [0, Fvals, 0]);
DF = fnder(F);
hold on
fnplt(DF, 'r', 2)
hold off
ylims = ylim;
ylim([0,ylims(2)]);

一种流行的方法是使用核密度估计。在Matlab中实现这一点的最简单方法是使用。

您所说的“评估密度”的可能重复项<代码>历史记录<代码>历史记录
ksdensity
?假设我的直方图是连续密度的离散化版本。如何从直方图中计算f(x)?直方图是对概率密度的估计。您只需要进行规格化,除以{sample size乘以bin width},使面积为1。然后,如果您需要在中间值处计算概率密度,请使用插值是的,是否有任何快速的插值方法?