0

我想使用 MATLAB 绘制一组值 Z 的累积分布函数 (CDF)。当我使用以下代码时,CDF 不会介于 0 和 1 之间!如果您能帮助我,我将不胜感激。

function plot_cdf(Z)    
numberbin=100;
[n,x] =hist(Z,numberbin);
pdf=n/sum(n(:))/diff(x(1:2));
cdf = cumsum(pdf);
plot(cdf)    
end
4

1 回答 1

0

你需要

cdf = cumsum(pdf) * diff(x([1 2]));

这是因为 cdf 是 pdf 的积分。要计算积分,您可以将其近似为黎曼和:对函数值求和 ( cumsum(pdf)) 并乘以它们沿x轴的间距 ( diff(x([1 2])))。

于 2014-03-18T10:01:04.790 回答