高斯分布为等概率部分

时间:2014-03-14 17:21:19

标签: matlab gaussian

我试图将高斯分布划分为等概率部分。我使用以下代码:

function main
mu=100;
sigma=2;
n=100;
k=3;
samp = mu + sigma.*randi([20,100],1,n);
%hist(samp)
v=optim_m2(samp,k)
end

function v=optim_m(d,k)
v=-inf;
mu=mean(d);
sigma=var(d);
for i=1:k

[x, ~] = fminbnd(@(x)     (0.5*(  1+erf( (x-mu)/(((sigma^2)  )^0.5 )   )   )  -i/k   )^2    ,mu-3*sigma,mu+3*sigma);

v=[v,x];
end
end

我得到一些非常奇怪的结果,例如负值等等。如果我使用相同的功能但自然数较少,一切似乎都能正常工作。 PS。我是NOOB所以... :)不要判断太苛刻

1 个答案:

答案 0 :(得分:1)

如果您可以使用Matlab命令,则只需使用:

boundaries = norminv(1/8:1/8:7/8,mu,sigma);