首页 文章

在MATLAB中定义和求解嵌套的非线性ODE

提问于
浏览
0

我给出了微分方程 y'' = -g + a(t)/ma(t) = k*y'^2 ,其中 yt (时间)的函数 . 我的初始条件是 y(0) = 600;y'(0) = 0;

在MATLAB中,我知道如何定义 y''

ydd = diff(y,t,2) == -g + a(t)/m;

但我很遗憾这是一个'嵌套'非线性微分方程,我不太确定如何定义它,更不用说在MATLAB中解决它了 .

2 回答

  • 1

    更好的一阶系统是

    v' = -g + k/m*v^2
    y' = v
    

    因为不再涉及第三个未知功能 a(t) .


    挑战:通过分离变量和部分分数分解手动求解第一个方程,或者将区域切线双曲线的缩放识别为 v 侧的积分 .

  • 1

    这是两个耦合的一阶ODE .

    z = y' . 然后你有:

    z' = -g + a(t)/m
    y' = sqrt(a(t)/k)
    

    您需要初始条件 y(0)=600z(0)=0 .

    该等式 z(0)=0 暗示 a(0)/m = g . 解决 a(0) = gm .

    这些是您需要解决的方程式 .

相关问题