有约束最优化问题,用matlab求解

w为角速度,alpha是角加速度,第一个式子就是先加速-匀速-减速,总共转过的角度为22.2度,第三个式子和第四个式子是要保证定轴转动时,在r处的加速度大小小于0.5g,... w为角速度,alpha是角加速度,第一个式子就是先加速-匀速-减速,总共转过的角度为22.2度,第三个式子和第四个式子是要保证定轴转动时,在r处的加速度大小小于0.5g,然后大神们看看怎么优化,或者给个程序。 展开
 我来答
兔子和小强
2014-12-19 · TA获得超过6945个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1379万
展开全部
  1. 假设最优时候的a1不等于a2,那么取a1' = a2' = max{a1,a2}将是更优的解。因此,最优时候的a1与a2必定相等。


  2. 给定角加速度a时,加速时间越长那么转过的角度越多。在加速度不大于0.5g的约束下,加速时间最多可以是:


  3. 加速与减速过程所转过的角度是a*t(a)^2,是个随a递减的函数。假设最优时候的角加速度为a,加速时间t < t(a),那么可以增大a到某个值a',加速时间为t(a'),使得a'*t(a')^2 = at^2。因此,最优时候的加速时间必取到最大值。


综上,可得最终优化式子:


代码如下:

g = 9.8;

r = .056;

t = @(a)(g^2/(4*r^2*a^4)-1/a^2)^(1/4);

f = @(a)t(a)+22.2/a/t(a);

a = fminsearch(f, 1e-6);

fprintf('a1 = a2 = %f\nt1 = t3 = %f\nt2 = %f\n', a, t(a), 22.2/a/t(a)-t(a))

追问
请问为什么考虑选择fminsearch函数呢?
追答
fminsearch使用单纯形法来求无约束标量函数的局部最小值。上述目标函数无约束,且图像类似对勾函数,适合用fminsearch求解。

如果有约束,可以考虑用fminbnd、fmincon来求解;
如果函数复杂,可以考虑用进化计算如GA(遗传算法)来求解。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式