[英]What is the “rtol” parameter for the root finding function scipy.optimize.brentq?
[英]Finding root of two functions with scipy.optimize.brentq
我试图找到函数的根(即它们的曲线相交的地方):
def f1(x):
return np.cos(2 * np.pi * x) * np.exp(-x ** 2)
def f2(x):
return np.log(x + 2.2)
通过查看两个函数的图,我知道有两个根,其中-2 <x <2,但是我希望根为0.5> x> 0(另一个根出现在x <0)
我已经进行了一些研究,似乎scipy.optimize.brentq用于查找函数的根,但是我不知道如何为两个函数的根执行此操作。
有什么建议么?
在我看来,最简单的方法是定义新功能,例如:
def difference(x):
return f1(x)-f2(x)
然后使用scipy.optimize.brentq
使用lambda创建一个新函数,该函数将值(x)传递到两个函数中减去它们并返回结果
scipy.optimize.brentq(lambda x: f1(x)-f2(x), a, b)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.