解决非线性方程是科学计算中的一项常见任务. SciPy库提供了数个根寻函数,有助于高效地找到解决方案. 本条引入了使用SciPy根寻函数解决非线性方程的实用方法.

使用 scipy.优化.root

函数是解决非线性方程的多功能工具,它支持多种算法,允许用户选择最适合解决问题的方法.

要使用 ,请定义代表方程的函数并指定一个初始猜测。该函数然后反复搜索一个满足方程的解析器。

共同方法及其应用

一些流行的方法包括:

  • hybr :默认方法,适合大多数问题.
  • lm:列文伯格-马尔夸特算法,对最小方位问题有效.
  • krylov:使用Krylov子空间方法,对大型系统有利.

选择适当的方法取决于问题的特点,如衍生物的存在或系统大小.

实例

考虑解析方程 f(x) = x^3 - x - 2 = 0 . 初步猜测 x=1.5 可用] 来找到解析.

示例代码 :

最终解决方案: