Esempio n. 1
0
 def findCol(self, poly):
     """
     Function to do the polynomial division to be added into generator Matrix
     """
     aux = [0] * deepcopy(self.n - self.k)
     aux.append(1)
     poly = Polynomial(poly)
     poly *= aux
     quo, rem = divmod(poly, Polynomial(self.p))
     poly += rem
     poly = list(poly)
     for i in range(len(poly)):
         poly[i] = int(poly[i]) % 2
     while len(poly) < self.n:
         poly.append(0)
     return poly
Esempio n. 2
0
def trapy():
    global h
    global imp
    with open('data.txt', 'w') as fp:
        fp.write("")
    # inp = input("Informe o A e o B da integração\n").split()
    # janelinha_trape("Informe o A e o B da integração",
    #                 "Numero de Pontos tabelados", " Informe o função f(x) para ser integrada")
    ab = [float(x) for x in imp]
    # n = int(input("Numero de Pontos tabelados \n"))
    h = round((ab[1] - ab[0])/(n-1), 1)
    print("h=(b-a)/n-1")
    print("{} = ({}-{})/{}-1".format("h", ab[1], ab[0], n))
    global pontos
    for i in range(n):
        if i == 0:
            pontos.append(ab[0])
        elif i == (n-1):
            pontos.append(ab[1])
        else:
            pontos.append(pontos[i-1]+h)
    pontos = [round(ponto, 1) for ponto in pontos]
    print("Espaçamento: {} \nPontos: {}".format(h, pontos))
    # print(" Informe o função f(x) para ser integrada \n")
    # expr_trap = input()
    global f_pontos
    
    for x in range(len(pontos)):
        t = x
        x = pontos[x]
        print(i, end=" ")
        f_pontos.append(eval(expr_trap))
        print(f_pontos[t])
        x = t
    f_pontos = [round(ponto, 7) for ponto in f_pontos]
    P = []
    I = []
    print(n)
    for i in range(n):
        if(i % 2 == 0 and i != 0 and f_pontos[i] != f_pontos[-1]):
            print
            P.append(f_pontos[i])
        elif (f_pontos[i] != f_pontos[-1] and i % 2 != 0):
            I.append(f_pontos[i])
    E = (f_pontos[0] + f_pontos[-1])
    p, i = np.sum(P), np.sum(I)
    print("trapezio= h[E/2 + P + I]")
    print("{}[{}/2 + {} + {}]".format(h, E, p, i))
    global trapezio
    trapezio = h*(E/2 + p + i)
    # trap = np.trapz(f_pontos, x=pontos, dx=h)
    lis = []
    lis_f = []
    for ponto in pontos:
        lis.append(ponto)
        lis_f.append(f_pontos[pontos.index(ponto)])
    data = {"Xi": lis, "F(Xi)": lis_f}
    data["valor"] = trapezio
    with open('data.txt', 'a') as fp:
        json.dump(data, fp)
    df = DataFrame(data=data)
    # plt.scatter(data["Xi"], data['F(xi)'])
    plt.show()
    ax = df.plot.bar(x="Xi", y="F(Xi)", rot=ab[0])
    print("trapezio manual: {} ".format(trapezio))
    return trapezio