【Python】sympy.nsolve函数

sympy.nsolve函数是sympy包中用于给出非线性方程数值解的函数。solve函数只能解具有解析解的方程,对于不能给出解析解的方程,则需要用nsolve解决。

基本用法

格式如下:

nsolve(f, [args,] x0, modules=['mpmath'], **kwargs)

f:待求解方程的符号表达式
args:未知变量
x0:初始解
modules:解方程模式
**kwargs:其他参数,详见官方文档

当待求f(x)函数图像特别陡峭时,会导致nsolve无法正常求解。例:

f = cos(x)*cosh(x) - 1
nsolve(f, 3.14*100)

输出:
Traceback (most recent call last):
ValueError: Could not find root within given tolerance. (1.39267e+230 > 2.1684e-19)

此时可添加参数verify=False,代码如下:

ans = nsolve(f, 3.14*100, verify=False)
ans

输出:
312.588469032184

你可能感兴趣的:(python,开发语言)