正态概率分布函数与随机数的积分

时间:2013-11-05 19:30:15

标签: matlab

function Y=normpdf(X)
syms X
Y = normpdf(X);
int(Y,X,1,inf)
end

我需要将正常的pdf函数从1整合到无穷大,对于N = 100的情况,其中N是生成的总数。我知道我需要使用randn()来生成随机数但我不知道如何使用它在这种情况下。

2 个答案:

答案 0 :(得分:1)

您可以从N = 100获得t = randn(N, 1);个随机数。首先,我们使用t = sort(t)进行排序,然后使用p = (1 : N) / Nt plot(t, p)的样本近似计算累积密度函数,即累积密度函数。它将与hold on, plot(t, normcdf(t), 'r')完全重叠。

答案 1 :(得分:1)

一种更直观的方法是将x轴划分为二进制位以估算CDF:

N = 100; % number of samples
t = randn(N, 1); % random data
x = linspace(-10,10,200); % define bins
estim_cdf = mean(bsxfun(@le, t, x)); % estimate CDF
plot(x, estim_cdf);
hold on
plot(x, normcdf(x), 'r')

enter image description here

请注意,@ s.bandara的解决方案可以解释为限制情况,因为容器的数量趋于无穷大,因此它可能会提供更准确的结果。