function Y=normpdf(X)
syms X
Y = normpdf(X);
int(Y,X,1,inf)
end
我需要将正常的pdf函数从1整合到无穷大,对于N = 100的情况,其中N是生成的总数。我知道我需要使用randn()来生成随机数但我不知道如何使用它在这种情况下。
答案 0 :(得分:1)
您可以从N = 100
获得t = randn(N, 1);
个随机数。首先,我们使用t = sort(t)
进行排序,然后使用p = (1 : N) / N
对t
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')
请注意,@ s.bandara的解决方案可以解释为限制情况,因为容器的数量趋于无穷大,因此它可能会提供更准确的结果。