MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/26 01:14:36
![MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8](/uploads/image/z/8287565-5-5.jpg?t=MATLAB%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E9%97%AE%E9%A2%98%5B%E6%B1%82%E5%8A%A9%5DMATLAB%E6%80%8E%E4%B9%88%E6%B1%82%E4%BB%A5%E4%B8%8B%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E5%AE%87%E5%AE%99%E9%A3%9E%E8%88%B9%E4%BB%8E%E5%A4%A9%E4%B8%8A%E7%AB%96%E7%9B%B4%E4%B8%8B%E9%99%8D%2C%E5%AE%83%E9%9D%A0%E5%90%91%E4%B8%8B%E5%96%B7%E7%87%83%E6%96%99%E4%BF%9D%E6%8C%81%E5%8C%80%E9%80%9F%E4%B8%8B%E9%99%8D.%E9%A3%9E%E8%88%B9%E5%88%9D%E5%A7%8B%E8%B4%A8%E9%87%8Fm0%3D1300kg%2C%E6%AF%94%E5%86%B2ve%EF%BC%88%E5%8D%95%E4%BD%8D%E8%B4%A8%E9%87%8F%E7%9A%84%E7%87%83%E6%96%99%E7%9A%84%E6%8E%A8%E8%BF%9B%E5%8A%9B%EF%BC%892940m%2Fs%2C%E5%81%87%E8%AE%BE%E9%87%8D%E5%8A%9B%E5%8A%A0%E9%80%9F%E5%BA%A6g%E4%B8%BA9.8)
MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8
MATLAB微分方程问题
[求助]MATLAB怎么求以下微分方程
宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.
飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8不变,推力为F
为了保证匀速下降有 F=gm (1)
喷燃料质量会减少 dm/dt=F/ve (2)
只有上面(1)(2)两个式子,但就是不会用MATLAB解,带约束条件(式(1))的微分方程?
解析解和程序,最好解答一下这是什么类型的问题,这个微分方程带一个约束条件.
MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8
你的方程(2)是个关于m对时间t微分方程
你的方程(1)条件将F和m联系在一起了,也就是F=f(m)
联立两个方程,也就是将F=-mg代入(2),(注意,这里其实是F=-mg)
其实这就是简单的一阶微分方程初值问题
dx/dt=f(x) ,x(0)=x0,知道微分方程和初值,求解函数函数形式
syms g ve m0
m=dsolve('Dm=-m*g/ve','m(0)=m0')
m =
m0/exp((g*t)/ve)
这就是方程的解析解,也就是求得了m随时间变化的关系式
存在的问题:
1、解微分方程的代码写在一个函数里,函数有自己独立工作区,运行函数后,变量的值不会自动保存在命令窗口里,所以会提示y未定义(你应该在之前定义过t,否则应该提示t未定义)。
2、微分方程没提供初始条件,因而求解得到的表达式中含有自由系数C3。
3、解微分方程得到的y是t的表达式,需要将t的实际取值代入才可以得到绘图所需数据。
参考代码(假定初...
全部展开
存在的问题:
1、解微分方程的代码写在一个函数里,函数有自己独立工作区,运行函数后,变量的值不会自动保存在命令窗口里,所以会提示y未定义(你应该在之前定义过t,否则应该提示t未定义)。
2、微分方程没提供初始条件,因而求解得到的表达式中含有自由系数C3。
3、解微分方程得到的y是t的表达式,需要将t的实际取值代入才可以得到绘图所需数据。
参考代码(假定初值为0):
syms yt=0:0.1:1;y=dsolve('Dy=1-2*y+t','y(0)=0')y=subs(y);plot(t,y)
收起