def pontoFixo(d): título("Ponto Fixo", '=') # Definição das Variaveis Inicias # Precisão pDec = d.dec mm.mp.dps = pDec mm.mp.trap_complex = True xkAtual = mm.mpf('0.0') xkProx = mm.mpf(d.a) e = mm.mpf(d.e) k = 0 kmax = (int(d.kmax) - 1) # Tratamento das Strings de Funções sf = tSf(d.sf) spf = tSf(d.spf) # Matriz com dos resultados resultados = [[]] # Calculos s = metodo(xkAtual, xkProx, e, k, kmax, sf, spf, resultados, pDec) tabelaResultados = pd.DataFrame(resultados, columns=["xk", "f(xk)", "e"]) print(tabelaResultados) print("\n") print(s) return s
def posiçãoFalsa(d): título("Posição Falsa", '=') # Definição das Variaveis Inicias # Precisão pDec = d.dec mm.mp.dps = pDec mm.mp.trap_complex = True a = mm.mpf(d.a) b = mm.mpf(d.b) e = mm.mpf(d.e) k = 0 kmax = (int(d.kmax) - 1) # Tratamento das Strings de Funções sf = tSf(d.sf) # Matriz com dos resultados resultados = [[]] # Calculos s = metodo(a, b, e, k, kmax, sf, resultados, pDec) tabelaResultados = pd.DataFrame( resultados, columns=["A", "xk", "B", "e", "f(a)", "f(xk)", "f(b)"]) print(tabelaResultados) print("\n") print(s) return s
def Simpson13(dIN): # Definir Dados # Precisão pDec = dIN.pDec mm.mp.dps = pDec # Tratamento das String de Função sf = tSf(dIN.sf) sdf = tSf(dIN.sdf) # Dados de Análise a = mm.mpf(dIN.a) b = mm.mpf(dIN.b) m = int(dIN.m) if (dIN.c == ""): c = mm.mpf((b + a) / 2) else: c = mm.mpf(dIN.c) h = mm.mpf((b - a) / m) # Cálculo da Integral I = mm.mpf('0') for i in range(m): xi = mm.mpf(a + (i * h)) if (i == 0 or i == m): I += mm.mpf(f((xi), sf, pDec)) elif (i % 2 == 1): I += mm.mpf(4 * f((xi), sf, pDec)) else: I += mm.mpf(2 * f((xi), sf, pDec)) I = mm.mpf((h / 3) * I) E = mm.mpf('0') # Calculo do Erro if (dIN.vc == 1): E = mm.mpf((mm.power(h, 5) / 90) * f(c, sdf, pDec)) # Gerar e Retornar Resposta resp = "" if (dIN.vc == 1): resp += ("1/3 de Simpson\n\nI = " + str(I) + " ± " + str(E)) resp += ("\n\nI+E = " + str(mm.mpf(I + E))) resp += ("\nI-E = " + str(mm.mpf(I - E))) else: resp += ("1/3 de Simpson\n\nI = " + str(I)) return resp
def gerarGráficoZDF(d): título("Gráfico da Função", '=') sf = tSf(d.sf) delta = 0.001 x = np.arange(float(d.a), float(d.b), delta) y = np.vectorize(f) dy = np.vectorize(f) if d.sdf != "": sdf = tSf(d.sdf) pp.title("Gráfico da Função e Derivada") pp.xlabel("X") pp.ylabel("f(X) & f'(X)") pp.plot(x, x - x, 'k', x, y(x, sf), 'k', x, dy(x, sdf), 'r') else: pp.title("Gráfico da Função") pp.xlabel("X") pp.ylabel("f(X)") pp.plot(x, x - x, 'k', x, y(x, sf), 'k') pp.show()
def gerarGráficoIN(d): título("Gráfico da Função", '=') pp.title("Gráfico Função e Integração Numérica") pp.xlabel("X") pp.ylabel("f(X)") # Definir Dados sf = tSf(d.sf) delta = 1e-3 x = np.arange(float(d.a), float(d.b), delta) y = np.vectorize(f) # Gerar Gráfico da Função pp.plot(x, x - x, 'k', linewidth=3) pp.plot(x, y(x, sf), 'k', linewidth=2) # Gerar Integração Numérica n = int(d.m) + 1 x = np.linspace(float(d.a), float(d.b), n) pp.plot(x, y(x, sf), 'r', x, y(x, sf), 'o') pp.show()
def secanteADF(xkA,xkP,sf,prec): título("Secante", '=') # Definição das Variaveis Inicias # Precisão mm.mp.dps = prec mm.mp.trap_complex = True xkAnterior = mm.mpf('0.0') xkAtual = mm.mpf(xkA) xkProx = mm.mpf(xkP) e = mm.mpf(10**(3-prec)) k = 0 # Tratamento das Strings de Funções sf = tSf(sf) # Matriz com dos resultados resultados = [[]] # Calculos s = metodo(xkAnterior,xkAtual,xkProx,e,k,sf,resultados,prec) tabelaResultados = pd.DataFrame(resultados,columns=["xk","f(xk)","e"]) print(tabelaResultados) return s