Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-04-06, 02:20   #1
xingxlin57
初级会员
 
注册日期: 2008-01-29
年龄: 66
帖子: 7
声望力: 0
xingxlin57 正向着好的方向发展
默认 【求助】急切求助——为何利用优化工作箱中fmincon函数无法得到正确优化结果

本人是一个新手,对MATALAB还一知半解。最近处理一个优化问题,运用“优化工作箱中的fmincon函数”,始终不能得到满意结果,初看起来,好像是其中一个非线性约束条件不起作用,但自己无法找到问题出在哪里,也没有办法和能力解决,现在把有关运行内容放在下面,请各位高手给予诊断,指教。本人十分感谢。
有问题的程序如下:
function f = myfun(x)
f=7.85*10^(-6)*pi*x(1)*x(2)*(1420+x(1))*(8350*x(3)^(-1)-1)

function[c,ceq]= mycon(x)
c(1)=210.2*x(3)+26.8*x(1)*x(2)-0.08*x(1)^3*x(2)-3994-((7.5+x(1))^2*(0.25*x(1)^3*x(2)^3+1.5*10^8)*(x(1)*x(2)+852)^(-2));
ceq=[ ]

确定变量初始值,在MATLAB命令窗口调用程序
x0=[60;10;2800];
A=[0,0,1; 0,0,-1;-1,0,0;1,0,0;0,-1,0;0,1,0];
b=[2800,0, -70,100,-15,22]
lb=zeros(2,1);
options=optimset('display','iter','largescale','off');
[x,fval,exitflang,output]=fmincon(@myfun,x0,A ,b,[ ],[ ],lb,[ ],@mycon ,options)

如此运行,始终不能得到满意结果。特别可以看出约束c(1)没有起作用。
xingxlin57 当前离线   回复时引用此帖
旧 2008-05-28, 18:07   #2
dbdubing
初级会员
 
注册日期: 2008-05-05
年龄: 20
帖子: 6
声望力: 0
dbdubing 正向着好的方向发展
默认

同上,紧急求援,请各位大侠伸出圆柱之手,非常非常感谢!
dbdubing 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:17


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