Скачиваний:
18
Добавлен:
28.06.2014
Размер:
1.15 Кб
Скачать
'''
Created on 29.11.2011

@author: b
'''
import math;
import numpy as np;
import scipy.stats as stats;
from scipy import *
import os as os
os.environ['HOME'] = "E:\\python_src"
import matplotlib.pyplot as plt;
 
def probability(k,lamb):
    return stats.poisson.pmf(k,lamb);

def get_probability_ratio(lamb1,lamb2,k):
    return probability(k,lamb2)/probability(k,lamb1);

def SerialWaldAnalisys(A,B,lamb1,lamb2):
    ratio = 1;
    current = 0;
    result = list()
    
    while (A<ratio<B):
        current = stats.poisson.rvs(lamb2);
        ratio *= get_probability_ratio(lamb1,lamb2,current)
        result.append(ratio);
    print "Measurement time needed: "+ str(len(result))+" seconds"
    return result;    
    
def show_result(ratiolist,A,B):
    plt.plot(range(1,len(ratiolist)+1),ratiolist,'r-');
    t = linspace(0,len(ratiolist),len(ratiolist));
    y1 = B+t-t;
    y2 = A+t-t;
    plt.plot(t,y1,'b-');
    plt.plot(t,y2,'g-');
    
    plt.ylabel("Likeness ratio")
    plt.xlabel("Measurement time,seconds")
    plt.show();
    
show_result( SerialWaldAnalisys(0.0526,19,0.1,0.12),0.0526,19)
Соседние файлы в папке lab6