不用这么复杂,fsolve可求解:
先写一个如下的函数,存在当前目录下:
function r=myfunction(x)
mu=400;
sigma=112;
r= -40*normcdf(x,mu,sigma)+20*(normcdf(x+150,mu,sigma)-normcdf(x,mu,sigma))+45*(1-normcdf(x+150,mu,sigma));
end
用fmincon优化,除了上述自定义函数外,再定义一个如下函数:
function [c,ceq] = mycon(x)
c=[];
ceq=myfunction(x);
end
在命令行:
options=optimset('Algorithm','active-set');
x = fmincon(@myfunction,300,[],[],[],[],[],[],@mycon,options)
结果一样。