3

以下のコードでは、赤と紫の曲線に 2 つのガウス曲線があります。両方のガウスを青い曲線のように見えると思われる3番目の曲線に結合する方法が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()

ここに画像の説明を入力

4

2 に答える 2

1

青い曲線は見えませんが、2 つの独立したガウス分布の和の分布を探しているのでしょう。

もしも

X1 ~ Gaussian(mean1,std1), and X2 ~ Gaussian(mean2, std2),

それで

X1+X2 ~ Gaussian(mean1+mean2, sqrt(std1^2 + std2^2))
于 2013-08-06T20:04:03.997 に答える