我想求解非线性方程,数值。我发现求解这个椭圆积分会很麻烦,那么有没有一种数值方法可以用来求解呢?
我试图应用牛顿的方法,但它需要一个粗略的值来确定解决方案所在的位置,而我没有。在我对求解这个方程的数值方法的所有搜索中,我找不到任何函数既包含 x 的导数又包含的函数,形式为
任何输入将不胜感激
我想求解非线性方程,数值。我发现求解这个椭圆积分会很麻烦,那么有没有一种数值方法可以用来求解呢?
我试图应用牛顿的方法,但它需要一个粗略的值来确定解决方案所在的位置,而我没有。在我对求解这个方程的数值方法的所有搜索中,我找不到任何函数既包含 x 的导数又包含的函数,形式为
任何输入将不胜感激
只需将速度作为附加变量引入并求解:
然后,您可以使用任何 ODE 积分器解决该问题,例如 Matlab 中的 ode45,使用 Scipy 的 RK45...
注意:我很困惑为什么你会使用牛顿法来解决这个问题......你可以应用它来解决隐式方案的每个时间步,或者一次解决你的解决方案,所有时间步,在离散时间网格。但我不明白你将如何用它来求解原始方程......
评论太长了。
正如其他人所提到的,网络上有大量的代码/文献,因此您可以毫无问题地找到任何合适的参考资料。此外,您的具体示例是物理学中最标准的示例之一。顺便说一句,如果我们使用后向欧拉,在定义并将您的 ODE 编写为您获得的一阶系统之后,在调用时间的解,其中为时间步长:
这是中的非线性方程,通常用牛顿法求解(在每个时间步处)