MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.8

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 04:32:35
MATLAB微分方程问题[求助]MATLAB怎么求以下微分方程宇宙飞船从天上竖直下降,它靠向下喷燃料保持匀速下降.飞船初始质量m0=1300kg,比冲ve(单位质量的燃料的推进力)2940m/s,假设重力加速度g为9.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)

收起