获取正常分布变量的CDF值的NaN:Matlab

时间:2014-03-23 10:05:08

标签: matlab normal-distribution cdf

我似乎无法理解为什么我下面给出的简单代码不起作用。我获得了NaNP_j

% Plotting the CDF for normally distributed variable
mu_j = 0.008;
simga_j = -0.002;
x= 0.008 -0.002*randn(100000,1);
X_j = min(x) : (max(x) - min(x))/100000 : max(x);
P_j = normcdf(X_j,0.008,-0.002); 

figure(1)

plot(X_j,P_j);

由于

1 个答案:

答案 0 :(得分:2)

标准偏差应为正值。这是因为在统计中,它计算为sigma = sqrt(E[(X-mu)^2]))。期望中的平方词只会是积极的。

如果您将sigma_j调整为0.002而不是-0.002,并更正代码中其他位置的值(例如,当您计算x和{{1}时}),你应该得到很好的结果。

由于P_j无法正确处理否定sigma,并返回normcdf(),因此导致了特定问题。