![](/img/trans.png)
[英]cython vs python different results within scipy.optimize.fsolve
[英]Python scipy.optimize.fsolve find the first intersection
假设我有f(x):= x^2-10
与g(x) = 0
相交两次。 这实现如下。
from scipy.optimize import fsolve
import pylab
import numpy
def function_a(x): # f(x)
return x**2-10
def function_b(x): # g(x)
return 0
result = fsolve(lambda x: function_a(x)-function_b(x), 0)
x = numpy.linspace(-10,10,100)
pylab.plot(x ,
[function_a(y) for y in x],
x,
[function_b(y) for y in x],
result,
function_a(result),
'ro'
)
pylab.show()
scipy.optimize.fsolve
返回第二个交集。 但是我想一直知道第一个路口。 我怎么能做到这一点?
第一个交叉点是指x
值较低的交叉点。
(根据要求发布我的评论作为答案。)
显然,这个function,和其他scipy优化,只找到一个根,不一定是所有的根。 如果您将猜测设置为-1
,它将为您提供左根。
另外,如果你有明确定义的已知方程,也许可以考虑sympy
,因为我相信它可以用来找到所有的根源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.