首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scipy.optimize.fsolve找到第一个交叉口

scipy.optimize.fsolve找到第一个交叉口
EN

Stack Overflow用户
提问于 2021-03-27 00:24:44
回答 1查看 137关注 0票数 0

假设我有f(x) := x^2-10,它与g(x) = 0相交两次。实现如下所示。

代码语言:javascript
复制
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值较低的交集。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-27 07:19:25

(按要求将我的评论作为答复发布。)

显然,这一功能,以及其他在枕木优化,只找到一个根,不一定所有的根。如果您将猜测设置为-1,它将给出左根。

另外,如果您有明确的、已知的方程,那么也许可以考虑sympy,因为我相信它可以找到所有的根。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66825894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档