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 '' print 'Por newton quasi um, divergindo (indo pro inferno :P)' resultado, erro = quasi_newton_um.obter_alpha(funcoes.newton_divergente, funcoes.der_newton_divergente, ERRO_DET, 10, 10) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton metodo da secante, convergindo' resultado, erro = newton_secante.obter_alpha(funcoes.newton_convergente, ERRO_DET, 20, 0, 0.1) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton metodo da secante, divergindo (abraca o diabo :P)' resultado, erro = newton_secante.obter_alpha(funcoes.newton_divergente, ERRO_DET, 20, 5, 10) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Por newton metodo de steffensen, convergindo' resultado, erro = newton_steffensen.obter_alpha(funcoes.newton_convergente, ERRO_DET, 20, 0) print 'Alpha = ', resultado print 'Erro = ', erro print ''
import trabalho_funcoes print 'Funcao 2X * cos(2x) - (x - 2)^2 = 0'; print '' NUMERO_ITERACOES = 50 ERRO_MIN = 10 ** -10 print 'Usando newton simples' resultado, erro = newton_simples.obter_alpha(trabalho_funcoes.exec_tres_funcao, trabalho_funcoes.exec_tres_derivada, ERRO_MIN, NUMERO_ITERACOES, 2.5) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando newton com derivada fixa' resultado, erro = quasi_newton_um.obter_alpha(trabalho_funcoes.exec_tres_funcao, trabalho_funcoes.exec_tres_derivada, ERRO_MIN, NUMERO_ITERACOES, 2.5) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando newton secante' resultado, erro = newton_secante.obter_alpha(trabalho_funcoes.exec_tres_funcao, ERRO_MIN, NUMERO_ITERACOES, 2.2, 2.5) print 'Alpha = ', resultado print 'Erro = ', erro print ''
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 '' print 'Usando newton secante, com x0 = pi/2 ' resultado, erro = newton_secante.obter_alpha(trabalho_funcoes.exec_quatro_funcao, ERRO_MIN, NUMERO_ITERACOES, x_um, (x_um + 0.1)) print 'Alpha = ', resultado print 'Erro = ', erro print '' #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>># print 'Usando newton simples, com x0 = 5 * pi' resultado, erro = newton_simples.obter_alpha(trabalho_funcoes.exec_quatro_funcao, trabalho_funcoes.exec_quatro_derivada, ERRO_MIN, NUMERO_ITERACOES, x_dois) print 'Alpha = ', resultado print 'Erro = ', erro print ''
print 'Funcao x^2 -2xe^-x + e^-2x = 0'; print '' NUMERO_ITERACOES = 50 ERRO_MIN = 10 ** -10 print 'Usando newton simples' resultado, erro = newton_simples.obter_alpha(trabalho_funcoes.exec_um_funcao, trabalho_funcoes.exec_um_derivada, ERRO_MIN, NUMERO_ITERACOES, 0.0) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando quasi newton derivada fixa' resultado, erro = quasi_newton_um.obter_alpha(trabalho_funcoes.exec_um_funcao, trabalho_funcoes.exec_um_derivada, ERRO_MIN, NUMERO_ITERACOES, 0.6) print 'Alpha = ', resultado print 'Erro = ', erro print '' print 'Usando newton secante' resultado, erro = newton_secante.obter_alpha(trabalho_funcoes.exec_um_funcao, ERRO_MIN, NUMERO_ITERACOES, 1.0, 0.6) print 'Alpha = ', resultado print 'Erro = ', erro print ''