def plot(self): plt.grid(True) plt.xlabel(r'$P[x=k]$') plt.ylabel(r'$k$') plt.title(u'Distribución Geométrica' + ' $f_x(x; n, p)$') plt.text( Maths.convertToDecimal(self.success) - 1, self.probability - .1, r'$\mu_x=' + str(self.med) + ',\ \sigma^2_x=' + str(self.var) + '$' + ', $f_x(x; n, p)=' + str(self.probability) + '$') plt.text( Maths.convertToDecimal(self.success), self.probability + 0.03, r'$k=' + str(self.success) + ',\ P[x=k]=' + str(self.probability) + '$') plt.plot([float(Maths.convertToDecimal(self.success))], [self.probability], 'ro') plt.axis([ 0, float(Maths.convertToDecimal(self.success)) + 10, 0, float(self.probability) + 10 ]) list_aux = [] list_k = [] for i in range(0, int(self.essays)): self.binomial.set_X(i) probability = self.binomial.getProbability() list_aux.append(probability) list_k.append(i) k = i i += 1 plt.plot([list_k], [list_aux], marker='o', linestyle='--') plt.show()
def maketop(self): self.success = self.entry_1.get() self.essays = self.entry_2.get() self.probability = Maths.convertToDecimal(self.entry_3.get()) binomial = NegativeBinomial(self.entry_1.get(), self.entry_2.get(), self.entry_3.get()) self.binomial = binomial results_list = [[u"Probabilidad: ", binomial.getProbability()], [u"Media: ", binomial.getMed()], [u"Varianza: ", binomial.getVar()]] self.probability = binomial.getProbability() self.med = binomial.getMed() self.var = binomial.getVar() print "click!" print self.results_list top = Results_View.ResultsView(self.master, results_list) self.plot()
def getProbability(self): n = self.n p = self.p k = self.x return float( Maths.Combination(n - 1, k - 1) * (p**k) * ((1 - p)**(n - k)))
def __init__(self, x, n, p): self.p = Maths.convertToDecimal(p) self.failure = 1 - self.p self.x = int(x) self.n = int(n)
def getVar(self): var = (1.0 / self.space) * Maths.infinite_sum( self.START, self.space, lambda x: (x - self.getMed())**2) return var
def getMed(self): med = (1.0 / self.space) * Maths.infinite_sum(self.START, self.space, lambda x: x) return med
def __init__(self, success, x): self.success = int(success) print "success: ", self.success self.failure = 1 - self.success self.x = Maths.convertToDecimal(x) print "X", self.x