我是一名经验丰富的Matlab程序员,但我不知道如何解决这个(看似)简单的问题。我有一个由 5 个方程和 5 个未知数组成的系统:
当不涉及代数方程时,我知道如何使用 ode45 求解 ODE 。在上述系统中,V(速度)和C(加速度)都是常数且已知的。 C 为航天器横向加速度。
这个问题应该解决如下:
- 在 t=0 时,我们知道 Theta(0)、x(0) 和 y(0)。请记住,V 和 C 都是常数且已知的。
- 给定 Theta(0) 和 C/V,我们得到 Theta(t1) 积分第 4 个方程。有了这个新的 Theta 值,我们应该能够计算新的 Vx(t1) 和 Vy(t1),这将为我们提供 x(t1) 和 y(t2) 的新值。
- 重复
使用 Matlab 的 ODE45 解决问题很重要,因为当我添加风、不同的重力和密度、航天器的质量和几何形状(以及惯性等等!)时,它最终会变得非常难以解决。所以我会得到一个由几十个方程组成的系统,它们都将被耦合。如果我知道如何在 Matlab 中解决这个简单的问题,我将了解如何在未来解决更复杂的问题。
我搜索了互联网以寻求帮助,但徒劳无功。非常感激您的帮忙。