关于分级火箭的一点理想化的计算
一分级火箭,有 M1 质量的外壳,运载 M0 质量的载荷。火箭被 n 个重量为均为 M2 的分级装置均匀地分为 n+1 级,每燃烧完 Mn+1 质量的燃料,火箭就会抛弃一个分级装置和 M1n+1 质量的外壳(最后一次,即燃料烧完时除外)。
火箭使用一种推重比为 η (η>1) 的燃料,也就是说质量为 m 的燃料一瞬间完全燃烧可以推动 ηm 质量的物体运动一瞬间。火箭瞬时的燃料消耗速度因此与火箭的瞬时总质量成正比,比值为 η 。推动火箭运行 T 的时间,需装填 M 质量的初始燃料。
已知 M0, M1, M2, η, T, n ,求解初始燃料质量 M 。
1.分阶段
记各级的开始时间点为:
0=t0<t1<t2<⋯<tn<tn+1=T
其中 t0 总的开始,tn+1 为总的结束。
称时间段 [tk,tk+1] 为第 k 阶段, 0⩽k⩽n 。
2.计算燃料函数
记第 k 阶段除燃料之外的质量总共为:
M×(k)=M0+n+1−kn+1M1+(n−k)M2
设火箭该阶段燃料质量关于时间的函数为 mk(t) ,根据“火箭瞬时的燃料消耗速度与火箭的瞬时总质量成正比”,列出方程:
dmkdt=−1η(mk+M×(k))
令 u=dmkdt (注意到 u<0 ),并将上式两边求导,则:
dudt=−1ηu
分离变量:
duu=−1ηdt
两边积分:
ln|u|=−1ηt+C1
两边对 e 取幂,注意 u<0 :
u=−e−1ηt+C1
对 u 积分得出 mk :
mk=∫udt=∫−e−1ηt+C1dt=ηe−1ηt+C1+C2
下面解出常数。注意到:
u=−1η(mk+M×(k))
带入 u 和 mk 就得到 C2=−M×(k) 。又注意到第 k 阶段末尾,即第 k+1 阶段开头的燃料质量为 n−kn+1M ,列出如下方程:
mk(tk+1)=n−kn+1M
带入:
ηe−1ηtk+1+C1−M×(k)=n−kn+1M
为方便书写,临时记 Mx=n−kn+1M+M×(k) ,于是:
ηe−1ηtk+1+C1=Mx
解得:
C1=lnMxη+1ηtk+1
带入 C1,C2 ,得到:
mk(t)=ηe−1ηt+lnMxη+1ηtk+1−M×(k)
化简(注意代换掉临时量 Mx ),得到:
mk(t)=(M×(k)+n−kn+1M)etk+1−tη−M×(k)
3.解出未知值
我们用第 k 阶段末尾的状态解出了常数 C1 ,现在考虑第 k 阶段开头,有:
mk(tk)=n+1−kn+1M
带入:
(M×(k)+n−kn+1M)etk+1−tkη−M×(k)=n+1−kn+1M
化简:
etk+1−tkη=M×(k)+n+1−kn+1MM×(k)+n−kn+1M
两边 ln ,得到递推式:
tk+1−tkη=ln(M×(k)+n+1−kn+1M)−ln(M×(k)+n−kn+1M)
累加,得到:
Tη=tn+1−t0η=n∑k=0tk+1−tkη=n∑k=0(ln(M×(k)+n+1−kn+1M)−ln(M×(k)+n−kn+1M))
我们于是列出了关于未知数 M 的方程:
n∑k=0(ln(M×(k)+n+1−kn+1M)−ln(M×(k)+n−kn+1M))=Tη
就可以解出 M 的取值。
Square−Circle:2021.9.12∼2021.10.1
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战