MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB工具箱] fmincon函数的用法 (https://www.labfans.com/bbs/showthread.php?t=7962)

zjm0184119 2009-04-27 22:17

fmincon函数的用法
 
1 个附件
大家好,请教大家一个问题,我在用fmincon函数进行优化,但我的约束条件是非线性的,那我应该怎么写程序啊?
附件是具体的题目,希望大家给些指点。
告诉我方法或类似的例子都行
谢谢各位了

524xu 2009-04-28 10:59

回复: fmincon函数的用法
 
定义非线性约束函数 function [c,ceq]=confun(x)
c=[c1(x)-26800;c2(x)-0.3;c3(x)-60];
ceq=[];
此函数保存在confun.m文件中

最后在主程序中调用confun(x)
[x,fval]=fmincon('objfun',x0,[],[],[],[],[],[],'confun',options);
objfun为目标函数,x0为给定的初始值

zjm0184119 2009-04-28 13:09

回复: fmincon函数的用法
 
真是太感谢了!我用这个方法调试出了结果,但是得出的结果与初始值特别相关,初始值一变,结果变化特别大,能告诉我初始值应该怎么定吗,我好像还不是特别了解初始值的意思

524xu 2009-04-28 14:54

回复: fmincon函数的用法
 
初始值的取法我也没解决好,不同的取值可能得到一个局部最优解而不是全局最优解,一般尽量取在最优解附近,要不就多试几次

zjm0184119 2009-04-28 17:42

回复: fmincon函数的用法
 
对啊,我刚开始取得时候结果只是和初值特别接近,到后来有时结果都和初值一样了,哎。。。。头疼。。。


所有时间均为北京时间。现在的时间是 11:25

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.