Matlab-ODE函数-集成我自己与ode45函数

Matlab-ODE函数-集成我自己与ode45函数,matlab,ode,Matlab,Ode,我对matlab ODE函数的作用感到困惑。如果我有系统动力学,为什么我不能自己手动集成并得到结果呢。ode45功能的具体用途是什么?引用官方文件: 所有MATLAB®ODE解算器都可以求解以下形式的方程组 y′=f(t,y),或涉及质量矩阵的问题,M(t,y)y′=f(t,y)。 解算器都使用类似的语法 ode23s解算器只能解算 质量矩阵为常数时的质量矩阵问题 ode15s和 ode23t可以解决质量矩阵奇异、已知的问题 作为微分代数方程(DAE)。指定质量矩阵 使用odeset的“质量”选

我对matlab ODE函数的作用感到困惑。如果我有系统动力学,为什么我不能自己手动集成并得到结果呢。ode45功能的具体用途是什么?

引用官方文件:

所有MATLAB®ODE解算器都可以求解以下形式的方程组 y′=f(t,y),或涉及质量矩阵的问题,M(t,y)y′=f(t,y)。 解算器都使用类似的语法

ode23s解算器只能解算 质量矩阵为常数时的质量矩阵问题

ode15s和 ode23t可以解决质量矩阵奇异、已知的问题 作为微分代数方程(DAE)。指定质量矩阵 使用odeset的“质量”选项

ode45是一个多功能ODE解算器,是您应该尝试的第一个解算器 对于大多数问题。但是,如果问题严重或要求较高 准确度,那么还有其他ODE解算器可能更适合 解决这个问题。有关详细信息,请参见选择ODE解算器


您正在询问分析(手动)与数值积分之间的偏好。如果您可以手动求解ODE,那么,是的,您不需要使用ODE命令对其进行数值积分。只需将初始/最终时间、初始条件和系统模型参数插入到分析解中,即可计算解的数值

然而,通常情况下,找到常微分方程的解析解是非常困难或耗时的。特别是,如果你有一个非线性微分方程组,手动计算解实际上是不可能的。在这种情况下,唯一实用的解决方案是使用数值积分,例如ODE45命令提供的功能


此外,正如您可能知道的,ODE的解决方案可能相当复杂,这取决于系统的输入(即强制函数)。因此,如果您的目标是分析系统对各种类型输入(正弦、阶跃、脉冲等)的响应,手动推导每种输入类型的解析解将非常困难。然而,更改输入类型并重新运行ODE45命令几乎是微不足道的。

为什么不尝试手动集成f''+2ff'-3e^f*sin(f)+(f'^2=x^x。投票结束它,因为它与编程无关,因为数值积分是数学。想知道为什么有人不认为,特别是最后一段是对“ode45函数的确切用途是什么?”的回答。还是他们只是不喜欢引用权威消息来源?