求解matlab约束优化问题

求解matlab约束优化问题,第1张

该极小值约束优化问题可以用fmincon()优化函数拦祥稿来解决。

解决方法:

1、自宴差定义目标函数   myfun(x)

2、自定义约束函数  mycon(x)

3、运用fmincon()函数

x0=[33] %初值

[x,fval] = fmincon(@(x) myfun(x),x0,[],[],[],[],[],[],@(x) mycon(x))  %使用格式

4、运简孝行结果

已知问题:

1、调用fmincon的非线性约束函数缺少@符;

[x,fval]=fmincon(@mubiao,[],[],[],[],[],Lbnd,Ubnd,@yueshu,options)

2、未提供初值;

3、目标函数的最后一句symsum,真心看不懂隐仔楼主到底想要计算什灶手汪么,表达式里面根本没有符薯手号量啊?

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))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12569418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存