Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-09-08, 17:37   #1
lzhanjie
初级会员
 
注册日期: 2009-09-08
帖子: 2
声望力: 0
lzhanjie 正向着好的方向发展
默认 求解非线性约束最优化的变量问题

比如:目标函数为f=x(1)+b*x(2)+x(3)*x(4)+a*x(5)
a=x(1)*x(2)*x(3) b=x(4)*x(5)*a
还有若干约束。
为了说明问题,例子举得简单了些。问题在如何表示a和b这种变量,我matlab比较初级,一开始想将a和b分别表示成x(6)和x(7),给初值迭代,发现结果受初值影响比较大,也就是说初值稍微一变动结果就变,没有求道最优值。后来搜到用globle a b,老是报错,也不清楚错在哪。用persistent行不行?
求教各位大侠。谢谢。
lzhanjie 当前离线   回复时引用此帖
旧 2009-09-09, 21:33   #2
funduck
初级会员
 
注册日期: 2009-03-05
年龄: 43
帖子: 1
声望力: 0
funduck 正向着好的方向发展
默认 回复: 求解非线性约束最优化的变量问题

我一直在研究如何使用优化工具箱的问题,也许我可以帮上忙。但是,你的描述我没看明白。请你把目标函数和约束条件全部都写清楚。


还有,你的a b 什么意思?优化变量到底是x还是 a b?


至于你说global帮助文件写得很清楚,就是在使用之前,无论是主程序还是子函数中,都要声明,才能够是全局变量生效。
funduck 当前离线   回复时引用此帖
旧 2009-09-10, 11:41   #3
lzhanjie
初级会员
 
注册日期: 2009-09-08
帖子: 2
声望力: 0
lzhanjie 正向着好的方向发展
默认 回复: 求解非线性约束最优化的变量问题

我的模型比较复杂,写出来要很大篇幅。
a,b是我自己表示的过程变量,他们也可以用x(1),x(2)等表示。只是为了表示清楚而且容易检查才这么写的,其实也可以将a,b等代入式子中就没问题了,只不过式子就比较麻烦了。
模型中变量也就10个左右,但这种可以用变量表示的中间变量有50个,以前我把这些中间变量也赋值计算,发现算出的结果不太合理。
lzhanjie 当前离线   回复时引用此帖
回复


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

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



所有时间均为北京时间。现在的时间是 23:47


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