Python中使用Scipy模块中root函数求解非线性方程的解法举例
Python中的SciPy模块功能强大,下面举例说明使用该模块求解非线性方程或非线性方程组。在求解时候,用到scipy.optimize模块中的root函数。
1.root函数的调用格式
调用它们的格式为
from scipy.optimize import root
2.求解非线性方程的数值解举例
求解如下方程:
x 6 + 4 x 4 + x 2 + x − 134 = 0 {x^6} + 4{x^4} + {x^2} + x - 134 = 0 x6+4x4+x2+x−134=0
求解代码如下
from scipy.optimize import root
fx=lambda x: x**6 + 4*x**4+x**2+x-134
x_solution=root(fx,1000) #以初值为1000求解方程的解
print(x_solution,'\n','------------------------') #以字典格式输出求解的所有解
print('x=',x_solution['x'],'\n','------------------------') #调用字典中“键x”所对应的值
print('x[0]=',x_solution['x'][0],'\n','------------------------') #调用字典中“键x”所对应的值中第0个元素
运行结果如下:
通过上面的例子可知scipy模块中root函数求解方程数值解的方法。