急求matlab高手!!!!(在线等)都问过一次了,开始的问题解决了,但是又出现新问题了

运行程序后结果是这样的,请高手解释一下Optimizationterminated:first-orderoptimalitymeasurelessthanoptions... 运行程序后结果是这样的,请高手解释一下

Optimization terminated: first-order optimality measure less than options.TolFun
and maximum constraint violation is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
4
7
13
运行程序后结果是这样的,请高手解释一下
源程序
function f = myfun1(x)
f=19084.3*x(1)^2*x(3)*(x(2)+1.8)
mycon.m:
function[c,ceq]=myobj1(x)
c=[1-2.34*(x(3)*(4*x(3)-x(1))/((4*x(3)-4*x(1))*x(1)^3)+0.615/x(1)^2);1-2.137/(x(3)*(4*x(3)-x(1))/((4*x(3)-4*x(1))*x(1)^3)+0.615/x(1)^2);(0.33*x(2)*x(3)+3.2*x(1))/x(3)-5.3;x(1)*x(2)+(0.045*x(3)^3*x(2))/x(1)^4-0.33*x(2)*x(3)-3.2*x(1);0.6-x(1);x(1)-10;5-x(2);x(2)-10;4-x(3);x(3)-30;x(3)-14*x(1);4*x(1)-x(3);1-0.0025*x(3) ^3*x(2)/x(1) ^4]
ceq=[];

x0=[4.2,15,23];%给定初始值
options = optimset('LargeScale','off');
[x,fval,exitflag,output]=fmincon(@myfun1,x0,[],[],[],[],[],[],@myobj1,options);
展开
 我来答
tianxiawulang
2012-12-18 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2776万
展开全部
结果提示,你的优化已经成功了。
目标函数的变化已经小于TolFun的设定值,而约束的误差也小于TolCon设定值。
最后一句是说非线性不等式约束最后哪几个是有效的,因为你给了13个非线性不等式约束,到最后肯定有一部分属于严格小于0的,而有一些则刚好在边界上,那几个在边界上的就是Active的。其实你用c的表达式计算一下就知道了,第4、7、13个表达式值为0。
追问
继续问一下哈,为啥结果没显示优化值呢,既然优化成功了,为啥没有结果呢,请大神指导!!!
追答
看来你真是MATLAB新手啊。。。
最后面一句的结尾不要带分号(;)会显示结果,带分号屏蔽显示。
或者你也可以在运行结束后直接输入x然后回车,会显示x的值,也就是优化的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式