给定最小值和最大值以及N个项目,我需要计算N个项目的总和大于或等于输入值LM的概率。函数句柄:
function Pr = LoadPr(Wmin,Wmax,N,LM)
另一个功能:
function [muL, sigmaL, L ] = plane(Wmin,Wmax,N,M)
[muW,sigmaW] = package(Wmin,Wmax);
// This calculates mu and sigma for a single item
muL = muW*N;
sigmaL = sigmaW*N^0.5;
L = normrnd(muL,sigmaL,1,M);
end
此函数计算mu和sigma以及L是1 x M. 随机生成的数组,使用sigmaL和muL模拟随机生成结果的M个结果,给出与前一个函数类似的参数。
我还想使用erf和/或erfc函数。 一个例子:
Wmin = 2; Wmax = 10; N = 10000; LM = 60400;
Pr = LoadPr(Wmin,Wmax,N,LM )
Pr =
0.0416
谢谢!
答案 0 :(得分:2)
范围[min,max]
中的N个均匀分布值的总和可近似为正态分布(对于N> 30),其均值为0.5*N*(min+max)
且标准差为$ sqrt(N *) (最大值 - 最小值)/ 12)$。
现在高斯的累积分布由
给出phi = 0.5*(1+erf((x-mu)/(sqrt(2)*sigma));
这意味着0和6之间的32个值之和的概率将与
一起分配mean = 96
sigma = sqrt(32*6/12) = 4
总和小于88的概率将由
给出p = 0.5*(1+erf((88-96)/(sqrt(2)*4)) = 2.3%