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

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

4

2 回答 2

1

您可以N = 100t = randn(N, 1);. 首先,我们用 排序t = sort(t),然后是集成的 PDF,即累积密度函数由您的样本用p = (1 : N) / Nfor近似,t正如您在 中看到的那样plot(t, p)。它将与 很好地重叠hold on, plot(t, normcdf(t), 'r')

于 2013-11-05T19:41:33.880 回答
1

一种可能更直观的方法是将 x 轴划分为 bin 以估计 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')

在此处输入图像描述

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

于 2013-11-05T23:08:41.277 回答