Example #1
0
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 ''
Example #3
0
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 ''