我试着把高斯分布分成等概率的部分。我正在使用以下代码:
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。我是个菜鸟所以...:)不要太苛刻
发布于 2014-03-15 02:31:31
如果您可以使用Matlab命令,则可以简单地使用:
boundaries = norminv(1/8:1/8:7/8,mu,sigma);https://stackoverflow.com/questions/22411741
复制相似问题