原文链接: python 非线性方程组
上一篇: sympy 符号函数求导
下一篇: Python 安装anaconda 和conda 的简单使用
使用scipy 求解非线性方程组实例
'''
5 * x1 - 25 = 0
5 * x0 * x0 - x1 * x2 = 0
x2 * x0 -27 = 0
scipy.optimize fsolve(func, x)
所使用的scipy中的库optimize以及方法fsolve
func 是自己构造的函数
'''
from scipy.optimize import fsolve
def func(x):
x0, x1, x2 = x
return [
5 * x1 - 25,
5 * x0 * x0 - x1 * x2,
x2 * x0 - 27
]
r = fsolve(func, [1, 1, 1])
print(r)
# [3. 5. 9.]
使用求导矩阵加速
'''
5 * x1 + 3 = 0
5 * x0 * x0 - 2
sin(x1 * x2) = 0
x1 * x2 - 1.5 = 0
'