运行fmincon,变量不参与优化,为什么?
Fmincon 做优化,X0=;
lb=;
ub=;
=fmincon('myfunt1',X0,[],[],[],[],lb,ub)
结果出现
Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is lessthan options.TolCon.
No active inequalities.
X =
55 20 20
fval =
15.4891
X的值根本就是初值,并没有参与优化,请问这是什么原因。 maximum constraint violation is lessthan options. 能说具体点吗,有什么办法可能解决这个问题 options = optimset('Display','iter','TolFun',1e-8)
This statement creates an optimization options structure called options in which the Display option is set to 'iter' and the TolFun option is set to 1e-8.
可能是初值带入既满足优化条件,利用上例修改TolFun的大小后试试。 恩,谢谢,试试。
另外我改了初值,最后的fval竟然还和之前的一样,不变,即x0=运行后,x=,fval还是15.4891,怪了啊!!! 画出myfunt1计算结果,多画几幅图,检查它的输出结果与你的感觉是否一致。有可能是这个函数有问题 myfunt返回的是least-square-error,奇怪的就是,不管怎么赋X的值,返回的总是15.4891.与myfunt相关的结果画出图与预想的形状差不多了,就是幅值有差异,所以用fmincon优化来最小化least-square-error。另外,我也试了改tolfun,没效果啊。 这个问题查出来了,原来自己没注意在myfunt里面调用的子程序里面已经把X赋值了。
[ 本帖最后由 ChaChing 于 2009-7-20 23:56 编辑 ]
页:
[1]