from newton import newton_simples from newton import newton_kinkeid from newton import newton_steffensen import trabalho_funcoes print 'Funcao ln(x-1) + cos(x - 1)'; print '' NUMERO_ITERACOES = 50 ERRO_MIN = 10 ** -10 print 'Usando newton simples' resultado, erro = newton_simples.obter_alpha(trabalho_funcoes.exec_dois_funcao, trabalho_funcoes.exec_dois_derivada, ERRO_MIN, NUMERO_ITERACOES, 1.5) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando newton kinkeid' resultado, erro = newton_kinkeid.obter_alpha(trabalho_funcoes.exec_dois_funcao, trabalho_funcoes.exec_dois_derivada, trabalho_funcoes.exec_dois_derivada_seg, ERRO_MIN, NUMERO_ITERACOES, 1.5) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando steffensen'
print 'Por falsa posicao: ' print 'Numero de iteracoes necessarios = ', ITER resultado, erro = falsa_posicao.obter_alpha(INTERVALO, funcoes.convergente_simples, ERRO_DET, ITER) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por falsa posicao melhorado: ' print 'Numero de iteracoes necessarios = ', ITER resultado, erro = falsa_posicaom.obter_alpha(INTERVALO, funcoes.convergente_simples, ERRO_DET, ITER) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton convergindo' resultado, erro = newton_simples.obter_alpha(funcoes.newton_convergente, funcoes.der_newton_convergente, ERRO_DET, 10, 0) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton divergindo (indo pro inferno :P)' resultado, erro = newton_simples.obter_alpha(funcoes.newton_divergente, funcoes.der_newton_divergente, ERRO_DET, 10, 10) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton quasi um, convergindo' resultado, erro = quasi_newton_um.obter_alpha(funcoes.newton_convergente, funcoes.der_newton_convergente, ERRO_DET, 20, 0) print 'Alpha = ', resultado print 'Erro = ', erro print ''
from newton import newton_steffensen import trabalho_funcoes import math print 'Funcao x^2 -4xsenx -2cos2x + 2 = 0'; print '' NUMERO_ITERACOES = 50 ERRO_MIN = 10 ** -10 x_um = math.pi / 2.0 x_dois = math.pi * 5.0 x_tres = math.pi * 10.0 print 'Usando newton simples, com x0 = pi/2' resultado, erro = newton_simples.obter_alpha(trabalho_funcoes.exec_quatro_funcao, trabalho_funcoes.exec_quatro_derivada, ERRO_MIN, NUMERO_ITERACOES, x_um) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando newton com derivada fixa, com x0 = pi/2' resultado, erro = quasi_newton_um.obter_alpha(trabalho_funcoes.exec_quatro_funcao, trabalho_funcoes.exec_quatro_derivada, ERRO_MIN, NUMERO_ITERACOES, x_um) print 'Alpha = ', resultado print 'Erro = ', erro print ''