Esempio n. 1
0
    def test_boltzman(self):
        from scipy.stats import boltzmann
        import matplotlib.pyplot as plt
        fig, ax = plt.subplots(1, 1)

        lambda_, N = 1.4, 19
        mean, var, skew, kurt = boltzmann.stats(lambda_, N, moments='mvsk')

        x = np.arange(boltzmann.ppf(0.01, lambda_, N),
                      boltzmann.ppf(0.99, lambda_, N))
        ax.plot(x,
                boltzmann.pmf(x, lambda_, N),
                'bo',
                ms=8,
                label='boltzmann pmf')
        ax.vlines(x,
                  0,
                  boltzmann.pmf(x, lambda_, N),
                  colors='b',
                  lw=5,
                  alpha=0.5)

        rv = boltzmann(lambda_, N)
        ax.vlines(x,
                  0,
                  rv.pmf(x),
                  colors='k',
                  linestyles='-',
                  lw=1,
                  label='frozen pmf')
        ax.legend(loc='best', frameon=False)
        self.assertEqual("AxesSubplot(0.125,0.11;0.775x0.77)", str(ax))
Esempio n. 2
0
def test_boltzmann_upper_bound():
    k = np.arange(-3, 5)

    N = 1
    p = boltzmann.pmf(k, 0.123, N)
    expected = k == 0
    assert_equal(p, expected)

    lam = np.log(2)
    N = 3
    p = boltzmann.pmf(k, lam, N)
    expected = [0, 0, 0, 4 / 7, 2 / 7, 1 / 7, 0, 0]
    assert_allclose(p, expected, rtol=1e-13)

    c = boltzmann.cdf(k, lam, N)
    expected = [0, 0, 0, 4 / 7, 6 / 7, 1, 1, 1]
    assert_allclose(c, expected, rtol=1e-13)
Esempio n. 3
0
def test_boltzmann_upper_bound():
    k = np.arange(-3, 5)

    N = 1
    p = boltzmann.pmf(k, 0.123, N)
    expected = k == 0
    assert_equal(p, expected)

    lam = np.log(2)
    N = 3
    p = boltzmann.pmf(k, lam, N)
    expected = [0, 0, 0, 4/7, 2/7, 1/7, 0, 0]
    assert_allclose(p, expected, rtol=1e-13)

    c = boltzmann.cdf(k, lam, N)
    expected = [0, 0, 0, 4/7, 6/7, 1, 1, 1]
    assert_allclose(c, expected, rtol=1e-13)
Esempio n. 4
0
def temperature(time):
    delta = temp - time
    print("Temperatura: ", time, delta)
    lambda_, n = 1.4, time

    return boltzmann.pmf(delta, lambda_, n)