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))
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)
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)
def temperature(time): delta = temp - time print("Temperatura: ", time, delta) lambda_, n = 1.4, time return boltzmann.pmf(delta, lambda_, n)