有约束最优化问题,用matlab求解
1个回答
展开全部
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))
假设最优时候的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))
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询