小樱桃8888 发表于 2010-4-18 18:49

求助!多变量的优化问题!

本人是新手,遇到下面问题,还请高手指点!!

d0=0.01:0.0045:0.1;
θ0=0:π/20:π/2;
d(t)=0.235+d0*(1-cos(πt));
θ(t)=-θ0*sin(πt);
h(t)为d(t)对t的导数; g(t)为θ(t)对t的导数;

f1=-27.44*sign(v*sin(θ)+h(t));                                                      v 即下面的v(t)    sign为符号函数
f2=-0.49*sign(v*cos(θ)+d(t)*g(t))-5.5*(v*cos(θ)+d(t)*g(t));             v 即下面的v(t)    sign为符号函数

dv(t)/dt=0.1*(f1*sin(θ)-f2*cos(θ));         即v(t)为 f1*sin(θ)-f2*cos(θ) 的积分。

求当v最大时对应的d0、θ0。
目标函数是一个常微分方程,怎样获得v与d0、θ0的三维关系图? 再次感谢!!

听说可以使用MATLAB进行优化,请问应该使用MATLAB的什么函数或工具箱进行多个变量的优化呢?请高手们给指点方向!万分感谢!!

[ 本帖最后由 ChaChing 于 2010-4-19 09:22 编辑 ]

houxiaoyang 发表于 2010-4-18 19:28

fminsearch可以求多元函数的极小值,不知道是不是LZ要的。另外。。。重复发帖会被和谐

[ 本帖最后由 houxiaoyang 于 2010-4-18 19:30 编辑 ]

yufeng 发表于 2010-4-19 09:14

既然优化 就要有一个目标 你希望这个目标是最大 还是最小 然后进行变量优化
优化方法 可以采用算法 如遗传 粒子群或者自带工具箱

[ 本帖最后由 ChaChing 于 2010-4-19 09:21 编辑 ]

小樱桃8888 发表于 2010-4-19 14:10

回复 板凳 yufeng 的帖子

谢谢你的回答!

对于多个变量并且目标函数是一个常微分方程,也可以采用所说的上述方法吗?

谢谢!!

maigicku 发表于 2010-4-20 11:31

设定t的范围,然后针对d0和θ0分别求出v值,然后再从v值中选出最大的,所对应的d0和θ0就是你要求的。不过循环较多,运行时间可能较长。。
要画三维图,v、d0和θ0必需维度相同。。
页: [1]
查看完整版本: 求助!多变量的优化问题!