找回密码
 注册
Simdroid-非首页
查看: 126|回复: 15

fmincon中初始值可以是二维变量吗

[复制链接]
发表于 2009-12-3 21:03:03 | 显示全部楼层 |阅读模式 来自 浙江杭州
请教各位高手,我在用fmincon函数进行优化时,现在初始值变量有两个,这两个变量都是二维矩阵可以吗,如x_ini=[k p],其中k,P都是三行四列的矩阵,当然对应的上下限也是同维的矩阵,这样fmincon函数能识别吗,
主要是目标函数比较复杂,得用二维的变量处理,希望有经验者赐教,不胜感激!
 楼主| 发表于 2009-12-3 22:13:07 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
初始值中的每一个变量是不是必须得是一个数,如果是一个矩阵可以吗(因为程序需要,变量长度不确定,help中好像没提到,忘高手指点)
回复 不支持

使用道具 举报

发表于 2009-12-3 22:17:53 | 显示全部楼层 来自 浙江杭州
不太明白你说的,说的具体点或者举一个例子。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 22:23:45 | 显示全部楼层 来自 浙江杭州
就是说本来初始值x_ini=[k p],其中k,p必须得是两个具体的数字,如3和5;还是k,p可以分别是一个矩阵,二维的或者一维的都可以
回复 不支持

使用道具 举报

发表于 2009-12-3 22:27:48 | 显示全部楼层 来自 浙江杭州
什么初始值呀?有多少个变量就有多少个初始值呀,这不是随便定的
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 22:32:10 | 显示全部楼层 来自 浙江杭州
我的问题就是变量的个数不确定,得用一个矩阵来代表,也就是初始值可以是一个矩阵码
回复 不支持

使用道具 举报

发表于 2009-12-3 22:34:27 | 显示全部楼层 来自 浙江杭州
把你的问题都详细写出来吧,这么说实在很难明白。最好用数学语言,因为你的Matlab描述不一定对。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 22:50:38 | 显示全部楼层 来自 浙江杭州
kmount 可能是3行4列的矩阵或者是3行5列的等

xyz 可能是3行4列的矩阵或者是3行5列的等

%初始值
x_ini=[kmount xyz];

%%设置下限值
x_lb=[k_l Po_l];

%设置上限值
x_ub=[k_u Po_u];

[x,fval]=fmincon('fun_opi_obj',x_ini,[],[],x_lb,x_ub,'fun_opi_con',options)

这样可以吗?非常感谢版主的热情回答
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 22:51:59 | 显示全部楼层 来自 浙江杭州
kmount,xyz中每一个元素都是变量
回复 不支持

使用道具 举报

发表于 2009-12-3 23:12:49 | 显示全部楼层 来自 浙江杭州
实在不明白你为什么把变量放到初值里面。那fun_opi_obj函数是什么?
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-4 21:32:03 | 显示全部楼层 来自 浙江杭州
不好意思,我的表述不够清楚,我的意思是要优化的变量个数不确定,得用一个矩阵来表示,也就导致了初始值个数不确定,初始值和上下限能是矩阵吗?fun_opi_obj是自己命名的优化目标函数
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-4 21:58:26 | 显示全部楼层 来自 浙江杭州
比如:kmount=[2,3,4
                       5,6,7]
xyz=[12,13,14
        25,26,17]
x_ini=[kmount ,xyz]; %初始值
这样可以吗
回复 不支持

使用道具 举报

发表于 2009-12-4 23:21:13 | 显示全部楼层 来自 浙江杭州
总感觉你没明白fmincon的用法。都2天了,问题还没有描述清楚。

让你把目标函数写出来,你却总是在初值上纠缠,初值与你的目标函数是相对应的,理论上不写初值也可以解决问题。

你说优化的变量个数不确定,那就是你数学建模的问题了。

第2 次建议你把你的问题详细写出来,最好再用数学语方描述出来。不要总是别人问一句,你答一句,如果你愿意这样,我也不反对,反正着急的不是我。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-5 21:15:24 | 显示全部楼层 来自 LAN
不好意思,版主,目标函数本身很长,就不写了。我是不怎么了解fmincon的用法,只是照着帮助用,要不我尝试下吧,看看能不能用我的方法解决问题。再次感觉版主的热情回答,如有需要再向您请教。
回复 不支持

使用道具 举报

发表于 2009-12-6 07:55:29 | 显示全部楼层 来自 甘肃兰州
有收获,学习了。
回复 不支持

使用道具 举报

发表于 2010-5-3 14:42:14 | 显示全部楼层 来自 湖北武汉
你好,可以请教你关于fimincon的问题吗?出现的问题是:Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.
而且得到的结果都不满足约束条件,这是怎么回事啊? 14# messenger
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 01:33 , Processed in 0.053184 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表