python - 在 Python 中查找两个函数的交集(Scipy,求根)
问题描述
所以我必须编写一个代码来找到两个高斯函数 G1 与变量 (x,0,1) 和 g2 (x,1,2) 之间的交集。我必须找到 x(-5,5) 内的所有交点如果我使用下面的代码采用更简单的公式,它可以工作,但像这样它会给我错误。我究竟做错了什么?谢谢
import numpy as np
from scipy.optimize import root
def g(x):
return [(1/((2 * np.pi * 1**2)**0.5) * np.exp( - ( x[0] - 0 )**2 / ( 2 * 1**2))),
(1/((2 * np.pi * 2**2)**0.5) * np.exp( - ( x[0] - 1 )**2 / ( 2 * 2**2)))]
sol = root(g,[2],method='hybr')
sol.x
解决方案
我改变了这个并得到1.18
了解决方案。
import numpy as np
from scipy.optimize import root
def g(x):
return [(1/((2 * np.pi * 1**2)**0.5) * np.exp( - ( x[0] - 0 )**2 / ( 2 * 1**2)))- (1/((2 * np.pi * 2**2)**0.5) * np.exp( - ( x[0] - 1 )**2 / ( 2 * 2**2)))]
sol = root(g,[2.0],method='hybr')
sol.x
编辑:下面允许多个起点。
import numpy as np
from scipy.optimize import root
from scipy.optimize import fsolve
def g(x):
return (1/((2 * np.pi * 1**2)**0.5) * np.exp( - ( x - 0 )**2 / ( 2 * 1**2)))- (1/((2 * np.pi * 2**2)**0.5) * np.exp( - ( x - 1 )**2 / ( 2 * 2**2)))
sol = root(g,[-2.0,2],method='hybr')
sol.x
推荐阅读
- apache-fop - 如何在 fop xsl-fo 中使用“空白”属性?
- jquery - 如何将一些值 throw ajax 传递给 VB.NET?
- python - Python Selenium send_keys ~ 如何发送高级 Unicode 字符
- python - 元组与生成器表达式。为什么性能翻转,序列越长?
- css - 为什么 google-chrome-devtools 通过 XPath 识别的元素数量少于通过 CssSelector 识别的元素数量
- c# - 在面板中生成时预制件的尺寸太小
- node.js - 如何在路由中获取完整的 url 作为参数
- r - 在 r 中使用 rvest 进行网页抓取以从网页中获取内部信息
- swift - 通过下拉刷新逐一获取行,想要在 viewdidload 上的整个数组
- javascript - 带有元音变音 (ü) 的域上的 location.href 报告不同的域