fmincon优化问题,求助!
clearx0 = ;
mcanshu55 = 'abs(0.19700000086079e-14+*+*[-2.5664e-041 -1.6988e-061 -7.7855e-046 2.2380e-049 -7.8867e-057;0 4.5438e-062 -3.1368e-058 9.0490e-062 -3.1903e-069;0 0 -1.8915e-033 1.6579e-041 -1.0026e-048;0 0 0 3.7616e-032 2.1174e-051;0 0 0 0 -2.4194e-043]*-1.970001259803308e-15)';
lb=;
ub=;
format long;x0
options = optimset('largescale','off','display','iter');
options=optimset(options,'tolx',1e-100);
options=optimset(options,'tolfun',1e-100);
= fmincon(mcanshu55,x0,[],[],[],[],lb,ub,[],[],options);
运行后结果如下:
x =
0.00395516400000 0.00485523400000 0.00485523400000 0.00485523400000 0.00177562800000
fval =
1.251153612607804e-021
exitflag =
1
output =
iterations: 1
funcCount: 13
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 3.944304526105059e-023
cgiterations: []
请问一下,为什么不发生跌代啊?请加我的QQ365400204,在线等待,谢谢 你给那么好的初值
目标函数在你初值出的结果是:
fval =
1.251153612607804e-021
都这么理想了还迭代什么? 总可以调整,调整到最优吧,总不会这个是最小的吧,另外,我把初值选在很远的地方,也只跌带一次啊 原帖由 lwu5885 于 2006-8-30 21:12 发表
总可以调整,调整到最优吧,总不会这个是最小的吧,另外,我把初值选在很远的地方,也只跌带一次啊
可以调整收敛精度,具体帮助里边有 原帖由 MVH 于 2006-8-30 21:34 发表
可以调整收敛精度,具体帮助里边有
对于精度,貌似他已经调整的很小了。是不是目前最小值的偏差已经小于tolfun = 1e-100了?
options=optimset(options,'tolx',1e-100);
options=optimset(options,'tolfun',1e-100);
可以通过看fmincon里的命令,并加上一些停止或显示命令,跟踪程序运行, 看一下当前的程序里退出循环的偏差是多少。满足哪个条件退出的。我检查matlab程序都是这么做的。
页:
[1]