Numpy 带exp的函数的fsolve
我试图用Python和Scipy解决一个非线性方程,下面是简单的输入:Numpy 带exp的函数的fsolve,numpy,math,scipy,Numpy,Math,Scipy,我试图用Python和Scipy解决一个非线性方程,下面是简单的输入: from numpy import exp from scipy.optimize import fsolve def func(x): return 5*x*(2*x-1+exp(2*x))-5 x0 = fsolve(func,0) print(x0) 但是,执行该函数会导致exp消息中出现RuntimeWarning:overflow。 使用Matlab和fzero,使用相同的函数可以很好地工作,并为
from numpy import exp
from scipy.optimize import fsolve
def func(x):
return 5*x*(2*x-1+exp(2*x))-5
x0 = fsolve(func,0)
print(x0)
但是,执行该函数会导致exp消息中出现RuntimeWarning:overflow。
使用Matlab和fzero,使用相同的函数可以很好地工作,并为根返回0.4385
如何解决此问题?使用0作为起始估计值会导致一些问题
您可以使用任意值,如果希望从零开始,请使用类似1e-6的值
from numpy import exp
from scipy.optimize import fsolve
def func(x):
return 5*x*(2*x-1+exp(2*x))-5
x0 = fsolve(func,1e-6)
print(x0)
屈服
[0.43848533]