Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import *
- from random import expovariate, gauss
- (gamma, tGamma) = (0.98, 2.326)
- def mean(lst): # среднее для набора значений
- return sum(lst) / len(lst)
- def variance(lst): # дисперсия
- m = mean(lst)
- return sum(map(lambda x : (x - m) ** 2, lst)) / (len(lst) - 1)
- def points(n, randvar): # генерация n исходов для случайной величины randvar
- return [randvar() for i in range(n)]
- def integrate(f, dg, n): # вычисление значения определенного интеграла
- print("n = %d:" % n)
- lst = list(map(f, points(n, dg)))
- p = mean(lst) # оценка среднего значения
- print("p_n = %.8f" % p)
- d = tGamma * sqrt(variance(lst) / n) # оценка доверительной точности
- print("d_n = %.8f" % d)
- print("interval = [%.8f, %.8f]\n" % (p - d, p + d))
- integrals = [
- (lambda x : x ** 4, lambda : expovariate(1)),
- (lambda x : sqrt(abs(x)) * (2 * sqrt(pi)), lambda : gauss(-2, sqrt(2)))]
- for (f, dg) in integrals: # вычисление значений двух интегралов из задания
- for n in [10 ** 4, 10 ** 6]: # для заданных значений n
- integrate(f, dg, n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement