Buscar

Calculo Numérico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INSTITUTO FEDERAL DA PARAÍBA
 CAMPUS CAJAZEIRAS
 
ALUNOS: Ana Maria do Carmo Lourenço
 Nivan Ferreira Furtado
CURSO: Engenharia Civil
PROFESSOR : Vinicius
 1º Avaliação - Cálculo Numérico
Assunto: Implementação dos métodos de resolução de equações não lineares
 
 Cajazeiras
 2019
1º PARTE
MÉTODO DA BISSEÇÃO:
from math import cos
def bisseccao(f, a, b, raiz):
 if f(a) == 0:
 print('a ja é a raiz')
 return a
 elif f(b) == 0:
 print('b ja é a raiz')
 return b
 print ('a \t', end='')
 print ('b', end='\t')
 print ('x', end='\t')
 print ('fx', end='\t')
 print ('EA', end='\t')
 print ('ER')
 ea = 1.0
 er = 1.0
 while((ea!=0) or (er!=0)):
 x = (a+b)/2
 fx = f(x)
 ea = raiz - x
 er = ea/x
 print (a, end='\t')
 print (b, end='\t')
 print (x, end='\t')
 print (fx, end='\t')
 print (ea, end='\t')
 print (er)
 
 if (fx == 0):
 return x
 elif fx>0:
 b = x
 else:
 a = x
 return x
# def f(x):
# return x**2 + x - 6 
# r = bisseccao(f, 0.8, 1.5, 1)
# print (r)
 MÉTODO ITERATIVO:
def interativo(f, g, x, raiz):
 print ('x', end='\t')
 print ('g(x)', end='\t')
 print ('f(x)', end='\t')
 print ('EA', end='\t')
 print ('ER')
 ea = 1.0
 er = 1.0
 if (f(x)==0):
 return 'x ja é a raiz'
 while((ea!=0) or (er!=0)):
 x=g(x)
 ea = raiz - x
 er = ea/x
 print (x, end='\t')
 print (g(x), end='\t')
 print (f(x), end='\t')
 print (ea, end='\t')
 print (er)
def f(x):
 pass
def g(x):
 pass
 
MÉTODO DE NEWTON : 
from decimal import Decimal
from math import cos
from sympy import *
x = symbols('x')
def newton(f, xn, raiz):
 print ('xn', end='\t')
 print ('f(xn)', end='\t')
 print ('EA', end='\t')
 print ('ER')
 ea = 1.0
 er = 1.0
 while((ea!=0) or (er!=0)):
 di=f(xn)
 dd=diff(f(x),x).subs(x, xn)
 xn=xn-(di/dd)
 ea = raiz - xn
 er = ea/xn
 print (xn, end='\t')
 print (f(xn), end='\t')
 print (ea, end='\t')
 print (er)
 if f(xn)==0:
 return xn
 return xn
 
# def f(x):
# return x**2 + x - 6
# r = newton(f, 0.5, 1)
# print (r)
 MÉTODO DA SECANTE: 
def secante(f, a, b, raiz):
 if f(a) == 0.0:
 return 'a ja é a raiz'
 elif f(b) == 0.0:
 return 'b ja é a raiz'
 x = 0.0
 print('a', end='\t')
 print('b', end='\t')
 print('x', end='\t')
 print('f(x)', end='\t')
 print ('EA', end='\t')
 print ('ER')
 ea = 1.0
 er = 1.0
 while((ea!=0) or (er!=0)):
 di = (f(b)*(b-a))
 dd = (f(b)-f(a))
 x = b-(di/dd)
 ea = raiz - x
 er = ea/x
 print(a, end='\t')
 print(b, end='\t')
 print (x, end='\t')
 print (f(x), end='\t')
 print (ea, end='\t')
 print (er)
 if(f(x) == 0):
 return x
 a = b
 b = x
# def f(x):
# return x**2 + x - 6
# r = secante(f, 0.8, 1.5, 1)
# print (r)
2ª PARTE
 Comparação entre os métodos
from math import cos
from bisseccao import bisseccao
from secantes import secante
from newton import newton
from sympy import *
x = symbols('x')
def f(x):
 return x**2 + x - 6
# print ('metodo de bisseccao')
# b = bisseccao(f, 0.8, 1.3, 1)
# print ()
print ('metodo de secante')
s = secante(f, 0.8, 1.3, 1)
print ()
print ('metodo de newton')
n = newton(f, 0.9, 1)
 
Pela comparação entre os métodos, pode-se observar que o menor erro está no método de Newton.

Continue navegando