Introdução à Programação Aula 7 Resolução numérica de equações

Documentos relacionados
Ana Paula. October 26, 2016

Andréa Maria Pedrosa Valli

Resolução Numérica de Equações Métodos Parte II

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Cálculo Numérico. Santos Alberto Enriquez-Remigio FAMAT-UFU 2015

Pretende-se calcular uma aproximação para a menor raiz positiva da equação

Aula 10 Sistemas Não-lineares e o Método de Newton.

Exercícios de MATEMÁTICA COMPUTACIONAL. 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares

Exercícios Zeros de Funções

Equações não lineares

Neste capítulo estamos interessados em resolver numericamente a equação

Programação I Aula 10 Processamento de listas

Introdução à Programação Aula 18 Método de eliminação de Gauss

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

SME Cálculo Numérico. Lista de Exercícios: Gabarito

Introdução à Programação Aula 10 Processamento de listas

1.1 Conceitos Básicos

Encontre um valor aproximado para 3 25 com precisão de 10 5 utilizando o método da bissecção.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Solução numérica de equações não-lineares

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES

Resolução de sistemas de equações não-lineares: Método de Newton

Cálculo Numérico / Métodos Numéricos. Solução de equações polinomiais Briot-Ruffini-Horner

Lista de exercícios de MAT / II

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA

Capítulo 4 - Equações Não-Lineares

Zero de Funções ou Raízes de Equações

étodos uméricos ZEROS DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

x exp( t 2 )dt f(x) =

Semana 4 Zeros das Funções

Introdução à Programação Aula 3 Primeiros programas

A. Equações não lineares

Determinação de raízes de polinômios: Método de Briot-Ruffini-Horner

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS LISTA 03 RESOLUÇÕES

2.3- Método Iterativo Linear (MIL)

1.1 Revisão de teoremas do cálculo 1.

Universidade Federal de Pelotas Cálculo com Geometria Analítica I Prof a : Msc. Merhy Heli Rodrigues Aplicações da Derivada

CCI-22 CCI-22. 4) Equações e Sistemas Não Lineares. Matemática Computacional. Bissecção, Posição Falsa, Ponto Fixo, Newton-Raphson, Secante

6.4 Métodos baseados em aproximação quadrática. 6.6 Comparação dos met. para cálculo de raízes.

Adérito Araújo. Gonçalo Pena. Adérito Araújo. Adérito Araújo. Gonçalo Pena. Método da Bissecção. Resolução dos exercícios 2.14, 2.15, 2.16 e 2.17.

MAP CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre Zeros de Funções

Sobre Desenvolvimentos em Séries de Potências, Séries de Taylor e Fórmula de Taylor

Lista de Exercícios 1 Cálculo Numérico - Professor Daniel

ANÁLISE NUMÉRICA DO MÉTODO DE NEWTON PARA OBTENÇÃO DE ZEROS DE FUNÇÕES.

étodos uméricos INTEGRAÇÃO NUMÉRICA Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática

aproximação polinomial - integral aproximada T. Praciano-Pereira Dep. de Matemática Univ. Estadual Vale do Acaraú 23 de abril de 2007

Introdução à Programação

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

1ª LISTA DE EXERCÍCIOS DE MÉTODOS NUMÉRICOS Prof.: Magnus Melo

A INTERPRETAÇÃO GEOMÉTRICA E PROGRAMAS DESENVOLVIDOS NO MATHCAD PARA REFINAR RAÍZES DE FUNÇÕES TRANSCENDENTES E POLINOMIAIS

Equações diferenciais ordinárias

Aula 2: Funções. Margarete Oliveira Domingues PGMET/INPE. Aula 2 p.1/57

Introdução à Programação Aula 11 Mais sobre ciclos e iteração

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Pedro Vasconcelos DCC/FCUP. Programação Funcional 8 a Aula Listas infinitas

ANÁLISE MATEMÁTICA II

Determinar a derivada resultante do produto de duas funções utilizando a regra do produto. Aplicar a Derivada para Determinação de Máximos e Mínimos.

Introdução à Programação Aula 17 Deteção e correção de erros

Zeros de Polinômios. 1 Resultados Básicos. Iguer Luis Domini dos Santos 1, Geraldo Nunes Silva 2

PAULO XAVIER PAMPLONA

Erros META OBJETIVOS. 2.1 Erros

Resolução de problemas com apenas restrições lineares de igualdade

Desenvolvendo o Critério de Eisenstein computacionalmente

3.6 Erro de truncamento da interp. polinomial.

2004/2005 PROBLEMAS. (c) Se ainda restarem raízes complexas, reduza o polinómio e calcule essas raízes pela fórmula resolvente.

4.2 Exemplos de aplicação Raiz cúbica de um número k

Relações de recorrência

3. Equações Algébricas

Matemática Computacional - 2 o ano LEMat e MEQ

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas

UNIVERSIDADE FEDERAL DO PARANÁ DISCIPLINA DE MÉTODOS NUMÉRICOS 2º SEMESTRE 2004 Professora Aurora T. R. Pozo 1ª LISTA DE EXERCÍCIOS

1, tal que x k+ 1 x para k +. x k + 1 : raiz aproximada da f; Uma forma de determinarmos um intervalo I = [ a,

étodos uméricos SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIOAS Prof. Erivelton Geraldo Nepomuceno

Capítulo 5. séries de potências

LUCAS PALMA SILVA MÉTODO DE NEWTON E BACIAS DE

a) Defina uma função para obter o máximo entre dois números

, cosh (x) = ex + e x. , tanh (x) = ex e x 2

Cálculo Numérico - DCC034. Ana Paula

Método de Newton. Podemos escrever este problema na forma vetorial denindo o vetor x = [x 1, x 2,..., x n ] T e a função vetorial

DURAÇÃO DA PROVA: 2 horas

MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL

Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Prof. MSc. David Roza José 1/27

Estudo de funções. Universidade Portucalense Departamento de Inovação, Ciência e Tecnologia Curso Satélite - Módulo I - Matemática.

Introdução à Programação Aula 16 Mais exemplos de recursão

Comandos de desvio de fluxo. Expressões lógicas.

Integração por Quadratura Gaussiana

Derivadas Parciais Capítulo 14

PLANO DE ENSINO IDENTIFICAÇÃO DA DISCIPLINA

II. Funções de uma única variável

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções

14 Fórmula de Recorrência e Séries (Somas Infinitas)

PARTE I EQUAÇÕES DE UMA VARIÁVEL REAL

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Planificação a médio e longo prazo. Matemática B. 11º Ano de escolaridade. Total de aulas previstas: 193. Ano letivo 2015/2016

Método de Newton-Raphson

CI202 - Métodos Numéricos

Transcrição:

Introdução à Programação Aula 7 Resolução numérica de equações Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 1 / 19

Nesta aula 1 Resolução numérica de equações 2 Método de bisseções 3 Método de Newton Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 2 / 19

Resolução numérica de equações Problema: encontrar uma solução duma equação como x 3 5x + 2 = 0 Equivalente: encontrar um zero da função f (x) = x 3 5x + 2 isto é, um valor x tal que f (x ) = 0. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 3 / 19

Resolução numérica de equações (cont.) Para alguns casos conseguimos exprimir a solução de forma análitica (exemplo: a formula resolvente do 2 o grau) Alternativa: obter uma sequência de aproximações numéricas que convergem para a raiz x 1, x 2,..., x n... Quanto mais iterações fizermos, melhor será a aproximação Vamos ver o método de bisseções e o método de Newton Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 4 / 19

Método de bisseções Partimos de: uma função f ; um intervalo [a, b]; a tolerância ɛ > 0 (usada como critério de paragem); tais que: 1 f é contínua em [a, b]; 2 f (a) f (b) < 0 (isto é, f muda de sinal em [a, b]); 3 f tem um zero único em [a, b]. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 5 / 19

Algoritmo Repetimos enquanto b a > ɛ: 1 calculamos o ponto médio m (a + b)/2 2 se f (a) f (m) < 0: a raiz está em [a, m] b m 3 se f (a) f (m) 0: a raiz está em [m, b] a m Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 6 / 19

Implementação em Python def bissect(f, a, b, eps): "Método de bisseções para f(x)=0 em [a,b]." while b-a>eps: # critério de paragem m = (a+b)/2 # calcular o ponto médio # atualizar um dos extremos if f(a)*f(m) < 0: b = m else: a = m # fim do ciclo return m # o ponto médio final Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 7 / 19

Execução Função original (polinómio de 3 o grau): >>> def fun(x): return x**3-5*x+2 Encontrar o zero em [0, 1] com tolerância 10 2 e 10 4 : >>> bissect(fun, 0, 1, 0.01) 0.4150390625 >>> bissect(fun, 0, 1, 1e-4) 0.41424560546875 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 8 / 19

Melhorar a implementação Em cada iteração calculamos f (a) e f (m) Podemos fazer melhor: 1 guardamos f (a), f (m) em duas variáveis fa e fm 2 actualizamos de forma a manter os invariantes seguintes: { fa = f (a) fm = f (m) Com isto reduzimos o custo computacional do algoritmo Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 9 / 19

Implementação de bisseções (2) def bissect(f, a, b, eps): "Método de bissecções para f(x)=0 em [a,b]." fa = f(a) # valor de f no extremo while b-a>eps: m = (a+b)/2 # calcula o ponto médio fm = f(m) # valor de f no ponto médio if fa*fm < 0: b = m else: a = m fa = fm # manter invariante return m Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 10 / 19

Análise da implementação melhorada Em cada iteração calculamos f apenas uma vez em vez de duas Pode ser significativo se f for uma expressão complexa Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 11 / 19

Método de Newton Partimos de: uma função f ; a derivada f ; uma aproximação inicial à raiz x 0 ; uma tolerância ɛ > 0. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 12 / 19

Método de Newton (cont.) Supondo que 1 x 0 está suficientemente perto da raiz x ; e 2 a função f é bem comportada então a sucessão de aproximações definida por converge para a raiz x. x n+1 = x n f (x n) f (x n ) Paramos a aproximação quando se verifica um critério de paragem, por exemplo: x n x n 1 < ɛ Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 13 / 19

Interpretação geométrica Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 14 / 19

Implementação def newton(f,df,x0,eps): Método de Newton com função f, derivada df, ponto inicial x0 e tolerância eps. x = x0 fx = f(x0) # valor da função dfx = df(x0) # valor da derivada delta = fx/dfx # correção da aproximação while abs(delta) > eps: x = x - delta fx = f(x) dfx = df(x) delta = fx/dfx return x Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 15 / 19

Exemplo Função original: Derivada: f (x) = x 3 5x + 2 f (x) = 3x 2 5 Em Python: >>> def fun(x): return x**3-5*x+2 >>> def deriv(x): return 3*x**2-5 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 16 / 19

Exemplo (cont.) Encontrar o zero partindo de x 0 = 0 com tolerância 10 4 e 10 8 : >>> newton(fun, deriv, 0, 1e-4) 0.41415929203539825 >>> newton(fun, deriv, 0, 1e-8) 0.4142135615572082 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 17 / 19

Falha de convergência O método de Newton pode não convergir se certas condições não se verificarem. http://en.wikipedia.org/wiki/newton s_method Exemplo 1: se f (x) = 1 x 2 e tomarmos x 0 = 0 então f (x 0 ) = 0; logo x 1 é indefinido (divisão por zero). Exemplo 2: se f (x) = x 3 2x + 2 e x 0 = 0 então x 1 = 1, x 2 = 0, x 3 = 1, x 4 = 0,... e o método diverge. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 18 / 19

Falha de convergência (cont.) f (x) = x 3 2x + 2 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações2017 19 / 19