在下面的代码中,我有两个高斯曲线,一个是红色的,另一个是紫色的。我想知道在Python中是否有一种方法可以将这两个高斯曲线合并成第三个曲线,该曲线应该类似于蓝色的曲线(这只是一个高斯曲线的示例,被认为更高更宽)?任何帮助都将不胜感激。
import numpy as np
import scipy.optimize as opt
import matplotlib.pyplot as plt
def gauss(x, p): # p[0]==mean, p[1]==stdev, p[2]==heightg, p[3]==baseline
a = p[2]
mu = p[0]
sig = p[1]
base = p[3]
return a * np.exp(-1.0 * ((x - mu)**2.0) / (2.0 * sig**2.0)) + base
p0 = [6804.5, 1.2, 23.0, 25.3532] # Inital guess is a normal distribution
p02 = [6804.5, 6.5, 5.0, 25.09098]
xp = np.linspace(6780, 6810, 200)
fig = plt.figure()
a1 = fig.add_subplot(111)
a1.plot(xp, gauss(xp, p0), lw=3, alpha=2.5, color='r')
a1.plot(xp, gauss(xp, p02), lw=3, alpha=2.5, color='purple')
a1.set_xlim([6798, 6810])
plt.tight_layout()
plt.show()
gauss(xp,p0) + gauss(xp,p02)
? - tom10