SlideShare une entreprise Scribd logo
1  sur  458
Télécharger pour lire hors ligne
MÉTODOS NUMÉRICOS
MIEEC, FEUP
http://www.fe.up.pt/∼faf/mnum
Fernando Fontes 2008/2009
MIEEC (FEUP) MÉTODOS NUMÉRICOS 1 / 458
Conteúdo
Conteúdo I
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 2 / 458
Conteúdo
Conteúdo II
Método iterativo simples
Método de Newton
4 Aproximação de funções
Aproximação dos mínimos quadrados
Aproximação em espaços vectoriais
Sistemas Sobredeterminados
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
MIEEC (FEUP) MÉTODOS NUMÉRICOS 3 / 458
Conteúdo
Conteúdo III
Splines
6 Integração numérica
Regra dos trapézios
Regra de Simpson
Integração de Romberg
7 Sobre normas de vectores e matrizes
Norma de um vector
Norma de uma matriz
8 Sistemas de equações lineares
Eliminação gaussiana
Estratégias de pivotação
Erro e resíduo de uma solução aproximada
Perturbações no sistema de equações
Métodos iterativos
Inversão de matrizes
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 4 / 458
Conteúdo
Conteúdo IV
Problema de valor inicial
Métodos de Euler
Método de Taylor
Consistência e Convergência
Métodos de Runge-Kutta
Sistemas de equações diferenciais
Equações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 5 / 458
Apresentação
Docentes
C. Mendonça e Moura
cmm@fe.up.pt
Manuel J. Oliveira
moliv@fe.up.pt
M. Joana Peres
jperes@fe.up.pt
Fernando A. Fontes
faf@fe.up.pt
Agradecimentos aos anteriores docentes Aníbal Matos e Miguel Gomes
pelo material disponibilizado.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 6 / 458
Apresentação
Métodos Numéricos (Análise Numérica, Computação Numérica, ...)
Trata do estudo de métodos que permitam obter soluções aproximadas de
problemas com um esforço computacional razoável.
Está na fronteira entre a Matemática e Ciências de Computação.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 7 / 458
Apresentação
Objectivos da disciplina
Dotar os alunos da capacidade de aplicar criteriosamente técnicas
numéricas para a resolução de problemas de engenharia, o que exige:
1 compreender os fundamentos dos métodos
2 saber aplicar os métodos, recorrendo a
programação
calculadoras
aplicações computacionais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 8 / 458
Apresentação
Importância da disciplina
Um computador é uma útil e poderosa ferramenta de cálculo de um
EEC.
Logo, é importante que ele conheça as potencialidades e fundamentos
dos métodos utilizados ...
Mas também as limitações desses métodos.
Exemplos de desastres devido ao uso incorrecto de métodos numéricos:
The explosion of the Ariane 5 rocket just after lift-off on its first voyage on
June 4, 1996, was ultimately the consequence of a simple overflow.
The Patriot Missile failure, in Dharan, Saudi Arabia, on February 25, 1991
which resulted in 28 deaths, is ultimately attributable to poor handling of
rounding errors.
The sinking of the Sleipner A offshore platform in Gandsfjorden, Norway, on
August 23, 1991, resulted in a loss of nearly one billion dollars. It was found
to be the result of inaccurate finite element analysis.
fonte/mais info: http://www.ima.umn.edu/~arnold/disasters/
MIEEC (FEUP) MÉTODOS NUMÉRICOS 9 / 458
Apresentação
Programa
Erros e representações numéricas
Equações não lineares
Sistemas de equações não lineares
Sistemas de equações lineares
Aproximação de funções
Interpolação polinomial
Integração numérica
Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 10 / 458
Apresentação
É expectável
Conhecimentos prévios de Matemática
⇒ derivação e integração, série de Taylor
⇒ matrizes, sistemas de equações
⇒ maturidade matemática (facilidade na manipulação de expressões,
saber ler e escrever matemática)
Conhecimentos prévios de Programação
⇒ entrada e saída de dados, passagem de parâmetros
⇒ ciclos e “arrays”
Estudo/Trabalho
⇒ 8 horas/semana para esta UC (4 de aulas)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 11 / 458
Apresentação
Aulas teóricas
⇒ 2×1 horas por semana
exposição e discussão da matéria
apresentação de exemplos ilustrativos
esclarecimento de dúvidas
MIEEC (FEUP) MÉTODOS NUMÉRICOS 12 / 458
Apresentação
Aulas teórico-práticas
⇒ bloco de 2 horas por semana
⇒ começam na semana de 9 de Março
⇒ salas de PCs
⇒ plano anunciado antecipadamente
programação de métodos numéricos
em linguagem C
grupos de 2 alunos
resolução de exercícios pelos alunos
MIEEC (FEUP) MÉTODOS NUMÉRICOS 13 / 458
Apresentação
Ferramentas
Uso obrigatório
calculadora científica
compilador de C
Uso incentivado
aplicações de cálculo numérico e simbólico
Matlab
Maple
. . .
folha de cálculo
MIEEC (FEUP) MÉTODOS NUMÉRICOS 14 / 458
Apresentação
Avaliação: distribuída com exame final
Exame Final (E)
Programas e Problemas (P)
A resolver nas aulas TP
Trabalhos de Programação (4)
(grupos 2 alunos, duração 1,5 h)
Resolução de problemas (5)
(individualmente, duração 30 min)
De entre os 4 programas + 5 problemas só contam para nota os 7 melhores.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 15 / 458
Apresentação
Classificação
A classificação final é
F = (0.1 + 0.01E) · P + (0.9 − 0.01E) · E
Motivação: a nota da avaliação prática vale tanto mais quanto melhor for
a nota do exame!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 16 / 458
Apresentação
Obtenção de frequência
não exceder o limite de faltas às aulas TP;
obter pelo menos 6 valores na componente de trabalhos de
programação e resolução de problemas
MIEEC (FEUP) MÉTODOS NUMÉRICOS 17 / 458
Apresentação
Bibliografia e material de apoio
A. Matos, “Apontamentos de Análise Numérica”, FEUP.
S. Conte & C. de Boor, “An Introduction to Numerical Analysis”,
McGraw-Hill.
E. Fernandes, “Computação Numérica”, U. Minho.
H. Pina, “Métodos Numéricos”, McGraw-Hill.
R. Burden & J. Faires, “Numerical Analysis”, Brooks Cole.
W. Cheney & D. Kincaid, “Numerical Mathematics and Computing”,
Brooks Cole.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 18 / 458
Apresentação
Páginas disciplina
Página do SIFEUP e http://www.fe.up.pt/∼faf/mnum/
“Apontamentos de Análise Numérica”
Folhas de problemas (alguns resolvidos)
Testes de anos anteriores
Exercícios de programação de anos anteriores
Informação sobre funcionamento
plano das aulas
sumários
classificações
. . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 19 / 458
Erros
Um novo capítulo ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 20 / 458
Erros
1. Erros e representações numéricas
O que significa 1.2±0.1 ou 1.2±5%?
1.3 e 1.30 têm o mesmo significado?
Porque razão a operação 1 + 10−20 tem resultado 1 nas máquinas
calculadoras?
Porque nem sempre (a + b) + c é igual a a + (b + c) ?
Como minimizar as consequências da precisão finita?
Que precisão terá sin α se α tiver uma precisão de 2o?
Quantos termos devemos usar para calcular 5 dígitos de
√
2 através de uma
série?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 21 / 458
Erros Valores exacto e aproximado
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 22 / 458
Erros Valores exacto e aproximado
Valores exacto e aproximado
Valor exacto: x
Valor aproximado: x∗
Erro (de aproximação): ∆x∗ = x − x∗
xx*
Δx*
Aproximação
por defeito: x∗ < x ⇔ ∆x∗ > 0
por excesso: x∗ > x ⇔ ∆x∗ < 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 23 / 458
Erros Valores exacto e aproximado
Erro absoluto
Erro absoluto: |∆x∗| = |x − x∗|
Erro máximo absoluto: um majorante do erro absoluto
ε : |∆x∗
| ≤ ε
Notação:
x = x∗
± ε ⇔ x ∈ [x∗
− ε, x∗
+ ε]
Exemplo: π = 3.14 ± 0.002 ⇔ π ∈ [3.138, 3.142]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 24 / 458
Erros Valores exacto e aproximado
Erro relativo
Erro relativo:
|∆x∗|
|x|
ou aproximadamente
|∆x∗|
|x∗|
→ exprime-se habitualmente em percentagem
Erro máximo relativo: um majorante do erro relativo
ε =
ε
|x|
ε
|x∗|
Notação: x = x∗ ± (100ε )% ⇔ x ∈ [x∗(1 − ε ), x∗(1 + ε )]
Exemplo: x = 2.0 ± 5% ⇔ x ∈ [1.9, 2.1]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 25 / 458
Erros Valores exacto e aproximado
Notação científica
Notação científica na base 10 de x ∈ R
x = ±dndn−1 · · · d1d0.d−1d−2d−3 · · · × 10e
mantissa: dndn−1 . . . d1d0.d−1d−2d−3
expoente: e ∈ Z
Dígitos da mantissa: di ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
MIEEC (FEUP) MÉTODOS NUMÉRICOS 26 / 458
Erros Valores exacto e aproximado
Mantissa com n algarismos
E se a mantissa for d1d2 · · · dndn+1dn+2 · · · ?
Truncatura
ignoram-se algarismos a partir do índice n + 1
Arredondamento
se 0.dn+1dn+2 . . . > 0.5 soma-se uma unidade à casa n para
(arredondar para cima)
se 0.dn+1dn+2 . . . < 0.5 mantém-se a casa n (arredondar para baixo)
se 0.dn+1dn+2 . . . = 0.5 arredonda-se para cima ou para baixo ficando
a casa n par (por vezes também se arredonda para cima)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 27 / 458
Erros Valores exacto e aproximado
Notação compacta para aproximações
Como simplificar a notação x = x∗ ± ε ?
Majorar erros absolutos por 0.5 × 10n e representar a aproximação até à
casa decimal 10n.
Os algarismos da mantissa (com excepção dos zeros à esquerda)
designam-se algarismos significativos.
Procedimento
1 majoração de ε por um número da forma 0.5 × 10n
2 arredondar x∗ para a casa 10n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 28 / 458
Erros Valores exacto e aproximado
Algarismos significativos e erro relativo
x∗ ε Intervalo Alg. significativos ε
2.24 0.005 [2.235, 2.245] 3 2.2 × 10−3
2.240 0.0005 [2.2395, 2.2405] 4 2.2 × 10−4
1.5 × 102 5 [145, 155] 2 3.3 × 10−2
0.1 × 103 50 [50, 150] 1 5 × 10−1
1.00 × 10k 0.005 × 10k [0.995 × 10k , 1.005 × 10k ] 3 5 × 10−3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 29 / 458
Erros Valores exacto e aproximado
Algarismos significativos e erro relativo
Teorema
Seja x = 0. Uma aproximação de x com n algarismos significativos tem um
erro relativo inferior a 5 × 10−n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 30 / 458
Erros Sistemas de vírgula flutuante
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 31 / 458
Erros Sistemas de vírgula flutuante
Sistemas de vírgula flutuante FP(β, n, m, M)
Números representáveis: x = ±(0.d1d2 · · · dn) × βe
β base de representação
n número de dígitos da mantissa (precisão)
m, M expoentes mínimo e máximo (gama representável)
Sistema normalizado: x = 0 ∨ d1 = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 32 / 458
Erros Sistemas de vírgula flutuante
Vírgula flutuante: números representáveis
0 rmin rmax−rmin−rmax
gama representávelgama representável
underflow
overflowoverflow
MIEEC (FEUP) MÉTODOS NUMÉRICOS 33 / 458
Erros Sistemas de vírgula flutuante
Vírgula flutuante: algumas limitações
aproximação de números não representáveis
→ arredondamento
→ truncatura
⇒ erros de representação
x, y ∈ FP x ◦ y ∈ FP
⇒ erros de representação
underflow e overflow
⇒ impossibilidade de representação
MIEEC (FEUP) MÉTODOS NUMÉRICOS 34 / 458
Erros Sistemas de vírgula flutuante
Vírgula flutuante
Versões do mesmo sistema FP(β, n, m, M) podem diferir:
aproximação de números não representáveis
tratamento de excepções
algoritmos de cálculo
. . .
Desvantajoso em termos de
repetibilidade de resultados
portabilidade de código
validação de resultados
Norma IEEE 754
MIEEC (FEUP) MÉTODOS NUMÉRICOS 35 / 458
Erros Aritmética em representações finitas
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 36 / 458
Erros Aritmética em representações finitas
Aritmética em representações finitas
ordem de realização de operações associativas pode influenciar
resultado: (a ◦ b) ◦ c
?
= a ◦ (b ◦ c)
Ex: 1 + 0.24 + 0.14 com 2 dígitos.
cancelamento aditivo: a + b com a b ou a b
→ problemas com somas de muitas parcelas
cancelamento subtractivo: a − b com a ≈ b
→ podem perder-se algarismos significativos
→ podem conduzir a erros elevados
→ possível minorar rearranjando cálculos
Ex: 1.16 − 1.04 com 2 dígitos.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 37 / 458
Erros Propagação de erros no cálculo de funções
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 38 / 458
Erros Propagação de erros no cálculo de funções
Propagação de erros no cálculo de y = f (x)
x∗ valor aproximado de x. Como aproximar y = f (x)?
Será y∗ = f (x∗) uma boa aproximação?
f contínua: x∗ próximo de x ⇒ y∗ próximo de y
x x*
y*
y
f
MIEEC (FEUP) MÉTODOS NUMÉRICOS 39 / 458
Erros Propagação de erros no cálculo de funções
Estimação do erro de y∗ = f (x∗)
x x*
y*
y
f
f de variação lenta
x x*
y*
y
f
f de variação rápida
∆y∗ = y − y∗ = f (x) − f (x∗) = f (x∗ + ∆x∗) − f (x∗)
Majorante para o erro absoluto da aproximação y∗ de y
εy = |f ||max
· εx
MIEEC (FEUP) MÉTODOS NUMÉRICOS 40 / 458
Erros Propagação de erros no cálculo de funções
Propagação de erros: exemplo
Calcular um valor aproximado de y = sin x e o correspondente erro máximo
absoluto quando x ≈ 0.57, isto é, x = 0.57 ± 0.005.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 41 / 458
Erros Propagação de erros no cálculo de funções
Erro relativo no cálculo de y = f (x)
Majorante para o erro relativo de y∗ = f (x∗)
εy = f (x) ·
x
f (x) max
· εx
xf (x)
f (x) designa-se número de condição de f em x.
→ xf (x)
f (x) reduzido: a função diz-se bem condicionada
→ xf (x)
f (x) elevado: a função diz-se mal condicionada
MIEEC (FEUP) MÉTODOS NUMÉRICOS 42 / 458
Erros Propagação de erros no cálculo de funções
Propagação de erros: exemplo
Quantos dígitos significativos se podem perder no cálculo da função
y = tan(x) quando x está próximo de 1? E quando x está próximo de 1.5?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 43 / 458
Erros Propagação de erros no cálculo de funções
Erro no cálculo de y = f (x1, x2, . . . , xn)
x∗
i valor aproximado de xi , com erro máximo absoluto εxi
.
y∗ = f (x∗
1 , x∗
2 , . . . , x∗
n ) aproxima y = f (x1, x2, . . . , xn)
com erro máximo absoluto
εy =
n
i=1
∂f
∂xi max
· εxi
e erro relativo máximo
εy ≤
n
i=1
∂f
∂xi
·
xi
f max
· εxi
Nota: os máximos são determinados em n
i=1[xi − εxi
, xi + εxi
]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 44 / 458
Erros Propagação de erros no cálculo de funções
Propagação de erros: exemplos
1 Calcular majorante para o erro absoluto de s = a + b em função dos
erros máximos absolutos de a e de b.
2 Calcular o erro máximo relativo w = xyz a partir dos erros máximos
relativos em x, y e z.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 45 / 458
Erros Erro no cálculo de séries
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 46 / 458
Erros Erro no cálculo de séries
Cálculo de séries: erro de truncatura
Quando se aproxima a série
S =
∞
i=0
ai
pela soma finita
Sn =
n
i=0
ai
aparece o erro de truncatura
Rn = S − Sn
MIEEC (FEUP) MÉTODOS NUMÉRICOS 47 / 458
Erros Erro no cálculo de séries
Erro de truncatura em séries alternadas
Teorema
Seja a sucessão {an}∞
n=0 decrescente e de termos não negativos, isto é,
a0 ≥ a1 ≥ . . . ≥ an ≥ . . . ≥ 0.
Estão a série ∞
i=0(−1)i ai é convergente para um número S.
Verifica-se ainda que a soma parcial Sn = n
i=0(−1)i ai satisfaz
|S − Sn| ≤ an+1,
ou seja, o erro de truncatura é, em valor absoluto, inferior ou igual ao
primeiro termo não considerado.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 48 / 458
Erros Erro no cálculo de séries
Erro de truncatura: exemplo de série alternada
A série alternada
1 −
1
3
+
1
5
−
1
7
+
1
9
− · · ·
é convergente para o valor π
4 .
Determinar quantos termos são necessários para calcular este valor com um
erro inferior a 10−4.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 49 / 458
Erros Erro no cálculo de séries
Série de Taylor: erro de truncatura
Desenvolvimento de Taylor da função f em torno de x0
f (x) = f (x0) + f (x0)(x − x0) + · · · + f (n)
(x0)
(x − x0)n
n!
+Rx0,n(x)
Px0,n(x)
onde Rx0,n(x) = f (n+1)(x0 + (x − x0)θ)(x−x0)n+1
(n+1)! , θ ∈ [0, 1].
O erro de truncatura de f (x) ≈ Px0,n(x) é Rx0,n(x).
Este desenvolvimento pode ser utilizado para o cálculo de funções como
sin, cos, exp, . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 50 / 458
Erros Erro no cálculo de séries
Erro de truncatura: exemplo
Pretende-se aproximar a função ex no intervalo [−2, 2] por um polinómio
de Taylor.
Qual deverá ser o grau do polinómio se se pretender que o erro absoluto
devido à truncatura da série seja inferior a 5 × 10−5?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 51 / 458
Erros Exercícios
Vamos agora ver ...
1 Erros
Valores exacto e aproximado
Sistemas de vírgula flutuante
Aritmética em representações finitas
Propagação de erros no cálculo de funções
Erro no cálculo de séries
Exercícios
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
MIEEC (FEUP) MÉTODOS NUMÉRICOS 52 / 458
Erros Exercícios
Exercício: aritmética finita
A precisão de uma máquina pode ser avaliada determinando o valor δ > 0
tal que o resultado da operação 1 + ε seja igual 1, para todo o |ε| ≤ δ.
Estime o valor de δ da sua calculadora.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 53 / 458
Erros Exercícios
Exercício: propagação de erros
Considere a relação t = cos(x)
y + e−yz.
(a) Determine um valor aproximado de t e um majorante para o erro
absoluto quando
x = 1.3, sendo este valor exacto,
y = 0.25 ± 4%,
z = 1.7 ± 3 × 10−1
.
(b) Quantos algarismos significativos se podem perder no cálculo de t,
quando x = π
2 e y = 3 (valores exactos) e z está próximo de 4?
Nota: exame de 23/Jan/2002.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 54 / 458
Erros Exercícios
Exercício: erro de truncatura
Pretende-se calcular a função sin(x) no intervalo [−π
4 , π
4 ] recorrendo a um
polinómio de Taylor.
Qual deverá ser o polinómio de modo a que o erro relativo, devido à
truncatura da série de Taylor, seja inferior a 5 × 10−8 ?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 55 / 458
Equações não Lineares
Um novo capítulo ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 56 / 458
Equações não Lineares
2. Equações não lineares
Como se calcula a solução da equação e−x = x?
Quais são as raízes do polinómio x5 + 2x4 − x3 + x − 1?
Com que rapidez podemos resolver estes problemas?
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 57 / 458
Equações não Lineares
Equações não lineares ou zeros de funções
Problema
Dada uma função f determinar s tal que f (s) = 0.
x
f(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 58 / 458
Equações não Lineares
Métodos de resolução
Directos
soluções determinadas por expressões envolvendo f
fornecem soluções exactas (usando precisão infinita)
aplicáveis apenas a alguns tipos de problemas
→ Exemplo: fórmula resolvente de equações do 2o grau
Iterativos
geram sucessões de soluções aproximadas
aplicáveis a uma vasta gama de problemas
MIEEC (FEUP) MÉTODOS NUMÉRICOS 59 / 458
Equações não Lineares
Métodos iterativos: funcionamento
estimativa inicial x0 : f (x0) = 0
1a iteração ↓
x1 : f (x1) = 0
2a iteração ↓
x2 : f (x2) = 0
↓
...
iteração n ↓
xn : f (xn) ≈ 0
x0, x1, . . . , xn, . . . → s, onde f (s) = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 60 / 458
Equações não Lineares
Métodos iterativos: implementação
definir_estimativa_inicial;
repetir
calcular_nova_estimativa;
até verificar_critério_paragem;
MIEEC (FEUP) MÉTODOS NUMÉRICOS 61 / 458
Equações não Lineares
Métodos iterativos: questões a considerar
1 estimativa inicial
como escolher x0?
2 convergência de {xn}
é convergente?
converge para uma solução?
3 critério de paragem
xn próximo de s?
f (xn) próximo de 0?
número de iterações?
4 rapidez de convergência
quantas iterações são necessárias?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 62 / 458
Equações não Lineares
Determinação de estimativa inicial
Aplicando um método iterativo calcula-se um zero
Múltiplos zeros
⇒ múltiplas aplicações de métodos iterativos
⇒ estimativas iniciais próximas dos zeros (ou intervalos contendo cada
zero)
Localização (ou separação) de zeros
→ cálculo de valores
→ estudo do gráfico
→ análise de propriedades
MIEEC (FEUP) MÉTODOS NUMÉRICOS 63 / 458
Equações não Lineares
Localização de zeros: cálculo de valores
Varrimento de um intervalo [a, b] em n subintervalos
1 definir passo h = b−a
n
2 calcular f nos pontos xi = a + ih, i = 0, . . . n
3 se f (xi )f (xi+1) < 0 então ∃ zero de f em [xi , xi+1]
Características
aplicação geral
simples de automatizar
possibilidade de falhar zeros ⇒ ajustar passo h . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 64 / 458
Equações não Lineares
Localização de zeros: métodos gráficos
xs1 s2
s3
f(x)
O gráfico de f pode ser obtido
estudando as propriedades de f
utilizando meios computacionais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 65 / 458
Equações não Lineares
Localização de zeros: métodos gráficos
Transformação de f (x) = 0 em g(x) = h(x)
Estudos das intersecções dos gráficos de g e h
xs1 s2
g(x)
h(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 66 / 458
Equações não Lineares
Localização de zeros: métodos analíticos
⇒ Monotonia de f
⇒ Números de Rolle de f : D → R
pontos fronteira de D
zeros da função f
Teorema
Se f é estritamente monótona em [a, b], então f tem no máximo um zero
em [a, b].
Teorema
Se f é diferenciável, então entre dois números de Rolle consecutivos f tem
no máximo um zero.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 67 / 458
Equações não Lineares
Localização de zeros: exemplos
1 Utilizando métodos gráficos localize os zeros de
1 f (x) = x2
+ sin(x) − 1
2 f (x) = ex
ln(x) − 1
2 Utilizando os números de Rolle localize os zeros de
1 f (x) = ex
− 3x
2 f (x) = x3
− 3x + 1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 68 / 458
Equações não Lineares
Estimação do erro
Teorema
f continuamente diferenciável em [a, b] tal que m1 = min
ξ∈[a,b]
|f (ξ)| > 0.
Seja s ∈ [a, b] tal que f (s) = 0. Então
|s − x| ≤
|f (x)|
m1
∀x ∈ [a, b].
Critério de paragem
Parando o método quando |f (xk)| ≤ δ garante-se que
|xk − s| ≤
δ
m1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 69 / 458
Equações não Lineares Método das bissecções sucessivas
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 70 / 458
Equações não Lineares Método das bissecções sucessivas
Método das bissecções sucessivas
Descrição
Parte-se de um intervalo tal que a função
tenha sinais contrários nos seus extremos.
Divide-se o intervalo a meio, escolhe-se o
subintervalo onde a função tem sinais con-
trários nos extremos e assim sucessivamente.
x
a
x1 b
f(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 71 / 458
Equações não Lineares Método das bissecções sucessivas
Bissecções sucessivas: algoritmo
Inicialização [a0, b0] = [a, b]
Repetir
1. xn+1 = an+bn
2 ;
2. Se f (xn+1)f (an) < 0
Então an+1 = an; bn+1 = xn+1;
Senão an+1 = xn+1; bn+1 = bn;
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 72 / 458
Equações não Lineares Método das bissecções sucessivas
Bissecções sucessivas: convergência
Teorema
Seja f contínua em [a, b] tal que f (a)f (b) ≤ 0 e seja s o único zero de f
nesse intervalo. Então o método das bissecções sucessivas gera uma
sucessão que converge para s.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 73 / 458
Equações não Lineares Método das bissecções sucessivas
Bissecções sucessivas: estimação do erro
x1 =
a + b
2
⇒ |s − x1| ≤
b − a
2
x2 =
a1 + b1
2
⇒ |s − x2| ≤
b1 − a1
2
=
b − a
22
...
xn =
an−1 + bn−1
2
⇒ |s − xn| ≤
bn−1 − an−1
2
=
b − a
2n
n ≥ log2
b − a
δ
⇒ |s − xn| ≤ δ
MIEEC (FEUP) MÉTODOS NUMÉRICOS 74 / 458
Equações não Lineares Método das bissecções sucessivas
Bissecções sucessivas: exemplo
Determinar, com um erro absoluto inferior a 5 × 10−3, a (única) solução da
equação 1 + x + ex = 0 que se sabe estar no intervalo [−2, −1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 75 / 458
Equações não Lineares Método das bissecções sucessivas
Bissecções sucessivas: exemplo
n an f (an) bn f (bn) xn+1 f (xn+1)
0 −2.000 −0.865 −1.000 +0.368 −1.500 −0.277
1 −1.500 −0.277 −1.000 +0.368 −1.250 +0.037
2 −1.500 −0.277 −1.250 +0.037 −1.375 −0.122
3 −1.375 −0.122 −1.250 +0.037 −1.313 −0.043
4 −1.313 −0.043 −1.250 +0.037 −1.281 −0.004
5 −1.281 −0.004 −1.250 +0.037 −1.266 +0.016
6 −1.281 −0.004 −1.266 +0.016 −1.273 +0.006
7 −1.281 −0.004 −1.273 +0.006 −1.277 +0.001
Solução: s = −1.277 ± 4 × 10−3 ou s ∈ [−1.281, −1.273]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 76 / 458
Equações não Lineares Método da falsa posição
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 77 / 458
Equações não Lineares Método da falsa posição
Método da falsa posição (regula falsi)
Semelhante ao método das bissecções suces-
sivas, mas com o cálculo de xn+1 dado por
xn+1 =
anf (bn) − bnf (an)
f (bn) − f (an)
Este ponto corresponde à intersecção com
o eixo dos xx da recta que une os pontos
(an, f (an)) e (bn, f (bn)).
xan xn+1
bn
f(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 78 / 458
Equações não Lineares Método da falsa posição
Falsa posição: algoritmo
Inicialização [a0, b0] = [a, b]
Repetir
1. xn+1 = anf (bn)−bnf (an)
f (bn)−f (an) ;
2. Se f (xn+1)f (an) < 0
Então an+1 = an; bn+1 = xn+1;
Senão an+1 = xn+1; bn+1 = bn;
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 79 / 458
Equações não Lineares Método da falsa posição
Falsa posição: estimação do erro
Teorema
Seja f continuamente diferenciável em [a, b] e tal que f (a)f (b) ≤ 0. Sejam
m1 = minξ∈[a,b] |f (ξ)| > 0 e M1 = maxξ∈[a,b] |f (ξ)|.
Então, o erro de aproximação de s, único zero de f em [a, b], pela
estimativa xn+1 satisfaz a relação
|s − xn+1| ≤
M1 − m1
m1
|xn+1 − xn|.
Critério de paragem
εn+1 =
M1 − m1
m1
|xn+1 − xn| ≤ δ ⇒ |s − xn+1| ≤ δ
MIEEC (FEUP) MÉTODOS NUMÉRICOS 80 / 458
Equações não Lineares Método da falsa posição
Falsa posição: exemplo 1
Utilizar o método da falsa posição para determinar, com um erro absoluto
inferior a 5 × 10−3, o (único) zero da função f (x) = 1 + x + ex .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 81 / 458
Equações não Lineares Método da falsa posição
Falsa posição: exemplo 1
n an f (an) bn f (bn) xn+1 f (xn+1) εn+1
0 −2.000 −0.865 −1.000 +0.368 −1.298 −2.55 × 10−2
1.4 × 10−1
1 −1.298 −0.026 −1.000 +0.368 −1.279 −8.22 × 10−4
4.0 × 10−3
Solução: s −1.279, com erro absoluto máximo de 4.0 × 10−3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 82 / 458
Equações não Lineares Método da falsa posição
Falsa posição: exemplo 2
Determinar o zero de f (x) = x + ex5
− 5 em [0, 1.3]
1.3
x1 x2 x3 s
MIEEC (FEUP) MÉTODOS NUMÉRICOS 83 / 458
Equações não Lineares Método da falsa posição
Falsa posição: exemplo 2
n an f (an) bn f (bn) xn+1 f (xn+1) εn+1
0 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.87
1 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.76
2 +0.237 −3.763 +1.300 +37.274 +0.334 −3.66 +3.66
3 +0.334 −3.662 +1.300 +37.274 +0.420 −3.57 +3.57
4 +0.420 −3.566 +1.300 +37.274 +0.497 −3.47 +3.47
5 +0.497 −3.472 +1.300 +37.274 +0.566 −3.37 +3.37
· · · · · · · · · · · · · · · · · · · · · · · ·
50 +1.065 −0.008 +1.300 +37.274 +1.065 −6.64 × 10−3
+6.64 × 10−3
51 +1.065 −0.007 +1.300 +37.274 +1.065 −5.54 × 10−3
+5.54 × 10−3
52 +1.065 −0.006 +1.300 +37.274 +1.065 −4.63 × 10−3
+4.63 × 10−3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 84 / 458
Equações não Lineares Método da falsa posição
Falsa posição: exemplo 2
O método das bissecções sucessivas aplicado a este problema garante o
mesmo erro máximo em 9 iterações!
n an f (an) bn f (bn) xn+1 f (xn+1)
0 +0.000 −4.000 +1.300 +37.274 +0.650 −3.227
1 +0.650 −3.227 +1.300 +37.274 +0.975 −1.611
2 +0.975 −1.611 +1.300 +37.274 +1.138 +2.853
3 +0.975 −1.611 +1.138 +2.853 +1.056 −0.220
4 +1.056 −0.220 +1.138 +2.853 +1.097 +0.990
5 +1.056 −0.220 +1.097 +0.990 +1.077 +0.323
6 +1.056 −0.220 +1.077 +0.323 +1.066 +0.038
7 +1.056 −0.220 +1.066 +0.038 +1.061 −0.094
8 +1.061 −0.094 +1.066 +0.038 +1.064 −0.029
MIEEC (FEUP) MÉTODOS NUMÉRICOS 85 / 458
Equações não Lineares Método da falsa posição
Falsa posição: convergência
Teorema
Se f for estritamente monótona e duplamente diferenciável em [a, b], se
f (a)f (b) ≤ 0 e se o sinal de f não variar em [a, b], então a sucessão
produzida pelo método da falsa posição converge monotonamente para o
zero de f nesse intervalo. Também se verifica que um dos extremos do
intervalo permanece inalterado.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 86 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificado
Fb
x1 x2
Fb/2
x3
Fb/4
x4
MIEEC (FEUP) MÉTODOS NUMÉRICOS 87 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificado: convergência
Teorema
Se f é contínua, estritamente monótona e tiver sinais contrários nos
extremos de um intervalo [a, b], a sucessão produzida pelo método da falsa
posição modificado converge para o zero de f em [a, b].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 88 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificado: algoritmo
Inicialização [a0, b0] = [a, b]; Fa = f (a0); Fb = f (b0)
Repetir
1. xn+1 =
anFb−bnFa
Fb−Fa
;
2. Se f (xn+1)f (an) < 0
Então an+1 = an; bn+1 = xn+1; Fb = f (xn+1);
Se f (xn+1)f (xn) > 0 Então Fa = Fa
2
;
Senão an+1 = xn+1; bn+1 = bn; Fa = f (xn+1);
Se f (xn+1)f (xn) > 0 Então Fb =
Fb
2
;
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 89 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificado: exemplo
Determinar, com um erro absoluto inferior a 5 × 10−3 o zero de
f (x) = x + ex5
− 5 no intervalo [0, 1.3].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 90 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificado: exemplo
n an Fa bn Fb xn+1 f (xn+1) εn+1
0 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.87
1 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.76
2 +0.237 −3.763 +1.300 +18.637 +0.415 −3.57 +3.57
3 +0.415 −3.572 +1.300 +9.318 +0.660 −3.21 +3.21
4 +0.660 −3.206 +1.300 +4.659 +0.921 −2.14 +2.14
5 +0.921 −2.138 +1.300 +2.330 +1.102 +1.20 +1.20
6 +0.921 −2.138 +1.102 +1.198 +1.037 −6.39 × 10−1
+6.39 × 10−1
7 +1.037 −0.639 +1.102 +1.198 +1.060 −1.29 × 10−1
+1.29 × 10−1
8 +1.060 −0.129 +1.102 +0.599 +1.067 +6.65 × 10−2
+6.65 × 10−2
9 +1.060 −0.129 +1.067 +0.066 +1.065 −1.61 × 10−3
+1.61 × 10−3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 91 / 458
Equações não Lineares Método iterativo simples
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 92 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples
1 Reescrever f (x) = 0 da forma equivalente x = F(x)
2 Escolher estimativa inicial x0
3 Gerar a sucessão xn+1 = F(xn), n = 0, 1, . . .
→ F designa-se função de recorrência
→ s : F(s) = s designa-se ponto fixo de F
MIEEC (FEUP) MÉTODOS NUMÉRICOS 93 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples
y = F(x)
y = x
x0
F(x0)
x1
F(x1)
x2
F(x2)
s
MIEEC (FEUP) MÉTODOS NUMÉRICOS 94 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: algoritmo
Inicialização Escolher x0
Repetir xn+1 = F(xn)
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 95 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: comportamento
xx2x1x0 s
y = F(x)
y = x
Convergência monótona
MIEEC (FEUP) MÉTODOS NUMÉRICOS 96 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: comportamento
xx1x2x0 s
y = F(x) y = x
Convergência “alternada”
MIEEC (FEUP) MÉTODOS NUMÉRICOS 97 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: comportamento
xx2x0 x1s
y = F(x)
y = x
Divergência
MIEEC (FEUP) MÉTODOS NUMÉRICOS 98 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: convergência
Teorema
Se F é continuamente diferenciável em [a, b], maxx∈[a,b] |F (x)| < 1 e
existe s ∈ [a, b] tal que s = F(s), então, para qualquer valor inicial
x0 ∈ [a, b], a sucessão gerada o método iterativo simples converge para s
(s será único! porquê?).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 99 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: erro
Majoração do erro
|xn+1 − s| ≤
1 − L
L
|xn+1 − xn|
Critério de paragem
εn+1 =
1 − L
L
|xn+1 − xn| ≤ δ ⇒ |xn+1 − s| ≤ δ
MIEEC (FEUP) MÉTODOS NUMÉRICOS 100 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: exemplo
Determinar, com um erro absoluto inferior a 5 × 10−5, o zero da função
f (x) = 1 + x + ex no intervalo [−2, −1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 101 / 458
Equações não Lineares Método iterativo simples
Método iterativo simples: exemplo
n xn xn+1 = F(xn) εn+1
0 −2.00000 −1.13534 +5.0 × 10−1
1 −1.13534 −1.32131 +1.1 × 10−1
2 −1.32131 −1.26678 +3.2 × 10−2
3 −1.26678 −1.28174 +8.7 × 10−3
4 −1.28174 −1.27756 +2.4 × 10−3
5 −1.27756 −1.27872 +6.8 × 10−4
6 −1.27872 −1.27839 +1.9 × 10−4
7 −1.27839 −1.27848 +5.2 × 10−5
8 −1.27848 −1.27846 +1.5 × 10−5
MIEEC (FEUP) MÉTODOS NUMÉRICOS 102 / 458
Equações não Lineares Método de Newton
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 103 / 458
Equações não Lineares Método de Newton
Método de Newton
f (x)
s x0x1x2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 104 / 458
Equações não Lineares Método de Newton
Método de Newton: algoritmo
Inicialização Escolher x0
Repetir xn+1 = xn −
f (xn)
f (xn)
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 105 / 458
Equações não Lineares Método de Newton
Método de Newton: divergência
xx2x1 x0s
y = f(x)
Anulamento da derivada
MIEEC (FEUP) MÉTODOS NUMÉRICOS 106 / 458
Equações não Lineares Método de Newton
Método de Newton: divergência
xx2
x1
x0s
y = f(x)
Mudança de concavidade
MIEEC (FEUP) MÉTODOS NUMÉRICOS 107 / 458
Equações não Lineares Método de Newton
Método de Newton: convergência
Teorema
Seja f ∈ C2([a, b]; R) tal que f (x) = 0, e f (x) ≤ 0 ou f (x) ≥ 0 em
[a, b]. Seja ainda s o (único) zero de f em [a, b]. Então a sucessão gerada
pelo método de Newton converge para s sempre que o ponto inicial
x0 ∈ [a, b] satisfizer f (x0)f (x0) ≥ 0. Mais ainda, a sucessão gerada é
monótona.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 108 / 458
Equações não Lineares Método de Newton
Método de Newton: erro
Majoração do erro
|xn+1 − s| ≤
M2
2m1
|xn+1 − xn|2
Critério de paragem
εn+1 =
M2
2m1
|xn+1 − xn|2
≤ δ ⇒ |xn+1 − s| ≤ δ
MIEEC (FEUP) MÉTODOS NUMÉRICOS 109 / 458
Equações não Lineares Método de Newton
Método de Newton: exemplo
Determinar, com um erro absoluto inferior a 5 × 10−6, o zero da função
f (x) = 1 + x + ex , que se sabe estar no intervalo [−2, −1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 110 / 458
Equações não Lineares Método de Newton
Método de Newton: exemplo
n xn f (xn) f (xn) xn+1 εn+1
0 −1.00000 +3.68 × 10−1
+1.368 −1.26894 +1.2 × 10−1
1 −1.26894 +1.22 × 10−2
+1.281 −1.27845 +1.5 × 10−5
2 −1.27845 +1.27 × 10−5
+1.278 −1.27846 +1.6 × 10−11
Solução: s −1.27846 (todos os algarismos exactos)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 111 / 458
Equações não Lineares Método de Newton
Método de Newton: convergência (2)
Teorema
Sejam f ∈ C2([a, b]; R) e s um zero de f em [a, b] tal que f (s) = 0.
Então existe δ > 0 tal que a sucessão {xn} gerada pelo método de Newton
converge para s sempre que x0 ∈ [s − δ, s + δ].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 112 / 458
Equações não Lineares Método da Secante
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 113 / 458
Equações não Lineares Método da Secante
Método da secante
Semelhante ao método de Newton
Tangente ao gráfico substituída pela
secante nos dois últimos pontos
xxn-1xn+1 xns
y = f(x)
xn+1 =
xn−1f (xn) − xnf (xn−1)
f (xn) − f (xn−1)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 114 / 458
Equações não Lineares Método da Secante
Método da secante: algoritmo
Inicialização Escolher x−1 e x0
Repetir xn+1 =
xn−1f (xn) − xnf (xn−1)
f (xn) − f (xn−1)
Até verificar critério de paragem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 115 / 458
Equações não Lineares Método da Secante
Método da secante: convergência
Teorema
Seja f ∈ C2([a, b]; R) tal que f (x) = 0, e f (x) ≤ 0 ou f (x) ≥ 0 em
[a, b]. Seja ainda s o (único) zero de f em [a, b].
Então a sucessão gerada pelo método da secante converge para s sempre
que os pontos iniciais x−1, x0 ∈ [a, b] satisfizerem f (x−1)f (x−1) ≥ 0 e
f (x0)f (x0) ≥ 0. Mais ainda, a sucessão gerada é monótona.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 116 / 458
Equações não Lineares Método da Secante
Método da secante: erro
Majoração do erro
|xn+1 − s| ≤
M2
2m1
|xn+1 − xn| · |xn+1 − xn−1|
Critério de paragem
εn+1 =
M2
2m1
|xn+1 − xn| · |xn+1 − xn−1| ≤ δ ⇒ |xn+1 − s| ≤ δ
MIEEC (FEUP) MÉTODOS NUMÉRICOS 117 / 458
Equações não Lineares Método da Secante
Método da secante: exemplo
Determinar, com um erro absoluto inferior a 5 × 10−6, o (único) zero da
função f (x) = 1 + x + ex , que se sabe estar no intervalo [−2, −1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 118 / 458
Equações não Lineares Método da Secante
Método da secante: exemplo
n xn−1 xn xn+1 f (xn+1) εn+1
0 −1.00000 −1.10000 −1.27249 +7.65 × 10−3
7.6 × 10−3
1 −1.10000 −1.27249 −1.27834 +1.55 × 10−4
1.7 × 10−4
2 −1.27249 −1.27834 −1.27846 +1.01 × 10−7
1.2 × 10−7
Solução: s −1.27846 (com todos os algarismos exactos)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 119 / 458
Equações não Lineares Ordem de convergência: definição
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 120 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência dum método iterativo
Considere um método iterativo tal que:
função de recorrência: F
ponto fixo: s (s = F(s))
F (s) = F (s) = . . . = F(p−1)(s) = 0
F(p)(s) = 0
xn+1 = F(xn)
xn → s
o método têm convergência de ordem p
MIEEC (FEUP) MÉTODOS NUMÉRICOS 121 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência
∆n+1 ∝ ∆n
p
p = 1 → convergência linear ou de 1a ordem
p = 2 → convergência quadrática ou de 2a ordem
MIEEC (FEUP) MÉTODOS NUMÉRICOS 122 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência: justificação
O desenvolvimento em série de F em torno de s
F(xn) =F(s) + F (s)(xn − s) + . . . +F(p−1)
(s)(xn − s)p−1
/(p − 1)!+
+F(p)
(ξ)(xn − s)p
/p!
= s + F(p)
(ξ)(xn − s)p
/p!
Seja ∆n = s − xn, obtemos
|∆n+1| = |xn+1 − s| = |F(xn) − s| =
F(p)(ξ)
p!
∆p
n
ou seja
∆n+1 ∝ ∆n
p
MIEEC (FEUP) MÉTODOS NUMÉRICOS 123 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência: exemplo
Considere dois métodos iterativos A e B, para os quais se tem
∆n+1 = 10−2∆n e ∆n+1 = ∆2
n, respectivamente.
Se em ambos os casos se tiver ∆0 = 10−1, determine a evolução do erro
para as primeiras 6 iterações de cada método.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 124 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência: exemplo
n ∆n(mét. A) ∆n(mét. B)
0 10−1
10−1
1 10−3
10−2
2 10−5
10−4
3 10−7
10−8
4 10−9
10−16
5 10−11
10−32
6 10−13
10−64
MIEEC (FEUP) MÉTODOS NUMÉRICOS 125 / 458
Equações não Lineares Ordem de convergência: definição
Método iterativo simples: convergência linear
1 + x + ex
= 0, x ∈ [−2, −1] ⇒ x = F(x) = −1 − ex
n xn xn+1 = F(xn) ∆n+1 ∆n+1/∆n
0 −2.00000 −1.13534 −1.4 × 10−1
−
1 −1.13534 −1.32131 +4.3 × 10−2
−0.299
2 −1.32131 −1.26678 −1.2 × 10−2
−0.273
3 −1.26678 −1.28174 +3.3 × 10−3
−0.280
4 −1.28174 −1.27756 −9.1 × 10−4
−0.278
5 −1.27756 −1.27872 +2.5 × 10−4
−0.279
6 −1.27872 −1.27839 −7.1 × 10−5
−0.278
7 −1.27839 −1.27848 +2.0 × 10−5
−0.278
8 −1.27848 −1.27846 −5.5 × 10−6
−0.278
F (x) = −ex
F (−1.27846) = −0.27846
MIEEC (FEUP) MÉTODOS NUMÉRICOS 126 / 458
Equações não Lineares Ordem de convergência: definição
Método de Newton: convergência quadrática
1 + x + ex
= 0, x ∈ [−2, −1]
n xn f (xn) f (xn) xn+1 ∆n+1 ∆n+1/∆2
n
0 −1.00000 +3.68 × 10−1
+1.368 −1.26894 −9.5 × 10−3
−
1 −1.26894 +1.22 × 10−2
+1.281 −1.27845 −9.9 × 10−6
−0.1094
2 −1.27845 +1.27 × 10−5
+1.278 −1.27846 −1.1 × 10−11
−0.1089
MIEEC (FEUP) MÉTODOS NUMÉRICOS 127 / 458
Equações não Lineares Ordem de convergência: definição
Método de Newton: convergência quadrática
A função de recorrência neste método é
F(x) = x − f (x)/f (x)
A primeira derivada
F (x) = 1 −
[f (x)]2 − f (x)f (x)
[f (x)]2
Como f (s) = 0, temos que F (s) = 0.
A 2a derivada
F (s) = . . . =
f (s)
f (s)
é em geral não nula. Logo o método é de 2a ordem.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 128 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência duma sucessão
{en} convergente para 0. Se existirem p, K > 0 tais que
lim
n→+∞
|en+1|
|en|p
= K
diz-se que {en} tem ordem de convergência p.
n elevado ⇒ |en+1| K|en|p
p = 1 → convergência linear
p > 1 → convergência supralinear
p = 2 → convergência quadrática
MIEEC (FEUP) MÉTODOS NUMÉRICOS 129 / 458
Equações não Lineares Ordem de convergência: definição
Ordem de convergência: método da secante
Teorema
Nas condições suficientes apresentadas para a convergência do método da
secante, pode ainda afirmar-se que sucessão dos erros de aproximação
gerada por este método tem convergência de ordem
1 +
√
5
2
(≈ 1.618).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 130 / 458
Equações não Lineares Ordem de convergência: definição
Método da secante: ordem de convergência
1 + x + ex
= 0, x ∈ [−2, −1]
n xn−1 xn xn+1 f (xn+1) εn+1 εn+1/εp
n
0 −1.00000 −1.10000 −1.27249 +7.65 × 10−3
+1.5 × 10−1
−
1 −1.10000 −1.27249 −1.27834 +1.55 × 10−4
+2.1 × 10−2
0.479
2 −1.27249 −1.27834 −1.27846 +1.01 × 10−7
+5.0 × 10−4
0.255
3 −1.27834 −1.27846 −1.27846 +1.33 × 10−12
+1.7 × 10−6
0.377
4 −1.27846 −1.27846 −1.27846 +1.33 × 10−12
+1.4 × 10−10
0.296
5 −1.27846 −1.27846 −1.27846 +1.33 × 10−12
+4.0 × 10−17
0.344
p = 1+
√
5
2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 131 / 458
Equações não Lineares Raízes de Polinómios
Vamos agora ver ...
1 Erros
2 Equações não Lineares
Método das bissecções sucessivas
Método da falsa posição
Método iterativo simples
Método de Newton
Método da Secante
Ordem de convergência: definição
Raízes de Polinómios
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 132 / 458
Equações não Lineares Raízes de Polinómios
Raízes de polinómios
p(x) → polinómio de coeficientes reais de grau n
p(x) = anxn
+ an−1xn−1
+ · · · + a1x + a0, ai ∈ R ∧ an = 0
Teorema
O polinómio p(x) tem n raízes (contando com a multiplicidade). Estas
raízes podem ser reais ou complexas, caso em quem surgem em pares
conjugados.
Teorema
Sejam r1, r2, . . . , rn as n raízes do polinómio de grau n p(x). Então, p(x)
pode ser escrito como
p(x) = an(x − r1)(x − r2) · · · (x − rn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 133 / 458
Equações não Lineares Raízes de Polinómios
Polinómios: Regra de Ruffini
p(x) = (x − s)q(x) + r onde
q(x) = bn−1xn−1 + . . . + b1x + b0 é o quociente
r ∈ C é o resto
an an−1 . . . a1 a0
s sbn−1 . . . sb1 sb0
bn−1 bn−2 . . . b0 || r
MIEEC (FEUP) MÉTODOS NUMÉRICOS 134 / 458
Equações não Lineares Raízes de Polinómios
Polinómios: “Regra de Ruffini” generalizada
Generalizando, p(x) = (x2 − αx − β)q(x) + (rx + s), onde
q(x) = bn−2xn−2 + . . . + b1x + b0 é o quociente
rx + s é o resto
an an−1 an−2 . . . a2 a1 a0
β βbn−2 . . . βb2 βb1 βb0
α αbn−2 αbn−3 . . . αb1 αb0
bn−2 bn−3 bn−4 . . . b0 || r s
MIEEC (FEUP) MÉTODOS NUMÉRICOS 135 / 458
Equações não Lineares Raízes de Polinómios
Localização de raízes de polinómios
Regra dos sinais de Descartes I
O número de raízes reais positivas do polinómio p(x) é igual, ou menor
pela diferença de um número par, ao número de mudanças de sinal dos
seus coeficientes não nulos.
Regra dos sinais de Descartes II
O número de raízes reais negativas do polinómio p(x) é igual, ou menor
pela diferença de um número par, ao número de mudanças de sinal dos
coeficientes não nulos de p(−x).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 136 / 458
Equações não Lineares Raízes de Polinómios
Localização de raízes de polinómios
Exemplo:
p(x) = x5
− 5x4
+ 10x3
− 6x2
− 12x + 16
tem 4 mudanças de sinal
p(−x) = −x5
− 5x4
− 10x3
− 6x2
+ 12x + 16
tem uma mudança de sinal.
Logo as raizes do polinómio serão:
1 real negativa e 4 reais positiva, ou
1 real negativa, 2 reais positivas e 2 complexas, ou
1 real negativa, 0 reais positivas, 4 complexas.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 137 / 458
Equações não Lineares Raízes de Polinómios
Localização de raízes de polinómios
Teorema
Todos os zeros do polinómio p(x) situam-se no interior do círculo (no
plano complexo) centrado na origem e de raio
1 + max
0≤k≤n−1
ak
an
MIEEC (FEUP) MÉTODOS NUMÉRICOS 138 / 458
Equações não Lineares Raízes de Polinómios
Polinómios: determinação de todas as raízes
Conhecendo k raízes r1, . . . , rk de p(x), as restantes n − k raízes podem
ser obtidas como sendo as raízes de q(x) que é o polinómio quociente da
divisão de p(x) pelo polinómio (x − r1) · · · (x − rk).
Estratégia
Ir obtendo raízes, uma de cada vez, e dividir o polinómio até se obter um
polinómio de grau 1 ou 2, casos em que a determinação de raízes é trivial.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 139 / 458
Equações não Lineares Raízes de Polinómios
Método de Newton para polinómios
A expressão de recorrência é
xk+1 = xk −
p(xk)
p (xk)
x0 ∈ C é escolhido como uma das soluções de
anx2
+ an−1x + an−2 = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 140 / 458
Equações não Lineares Raízes de Polinómios
Método de Newton para polinómios: exemplo
Determinar todas as raízes do polinómio
p(x) = x4
+ 2x3
+ 10x2
+ 24x + 80
aplicando o método de Newton.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 141 / 458
Equações não Lineares Raízes de Polinómios
Método de Newton para polinómios: exemplo
Determinação x0
x2
0 + 2x0 + 10 = 0 ⇔ x0 = −1 ± 3j
k xk p(xk ) p (xk )
0 −1.00 + j3.00 56.00 + j72.00 60.00 − j48.00
1 −0.98 + j1.81 43.35 + j23.00 25.40 + j12.07
2 −2.73 + j1.74 −2.57 − j69.73 13.53 + j111.88
3 −2.11 + j1.79 8.26 − j15.13 32.70 + j63.12
4 −1.97 + j1.99 1.84 + j0.91 47.11 + j54.20
5 −2.00 + j2.00 −0.02 − j0.02 48.01 + j56.03
6 −2.00 + j2.00 ≈ 0
r1 = −2 + 2j r2 = −2 − 2j
Depois, determinar as raízes do polinómio:
p(x)
(x − r1)(x − r2)
=
p(x)
x2 + 4x + 8
= x2
− 2x + 10
MIEEC (FEUP) MÉTODOS NUMÉRICOS 142 / 458
Equações não Lineares Raízes de Polinómios
Método de Lin
Construir sucessões {pi } e {qi } convergentes para ¯p e ¯q de forma a que
x2 + ¯px + ¯q seja divisor de p(x).
Em cada iteração é realizada a divisão polinomial
p(x)
x2 + pi x + qi
= q(x) +
rx + s
x2 + pi x + qi
que é parada após se obter de q(x), substituindo-se pi → pi+1 e qi → qi+1
de modo a anular o resto rx + s.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 143 / 458
Equações não Lineares Raízes de Polinómios
Método de Lin
an an−1 . . . a2 a1 a0
−qi . . . −qi b2 −qi b1 −qi+1b0
−pi −pi bn−2 . . . −pi b1 −pi+1b0
bn−2 bn−3 . . . b0 || 0 0
a1 − qi b1 − pi+1b0 = 0
a0 − qi+1b0 = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 144 / 458
Equações não Lineares Raízes de Polinómios
Método de Lin: exemplo
Determinar os zeros de
p(x) = x4
− 6x3
+ 18x2
− 24x + 16
pelo método de Lin.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 145 / 458
Equações não Lineares Raízes de Polinómios
Método de Lin: exemplo
k pk qk quociente da divisão
p(x)
x2+pk x+qk
0 1 1 x2 − 7x + 24
1 −0.708333 0.666667 x2 − 5.2917x + 13.5851
2 −1.506965 1.177764 x2 − 4.4930x + 10.0514
3 −1.861262 1.591820 x2 − 4.1387x + 8.7049
4 −2.000237 1.838044 x2 − 3.9998x + 8.1615
5 −2.039857 1.960428 x2 − 3.9601x + 7.9614
6 −2.039382 2.009685 x2 − 3.9606x + 7.9131
x4 − 6x3 + 18x2 − 24x + 16 é divisível por x2 − 2x + 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 146 / 458
Sistemas de equações não lineares
Um novo capítulo ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 147 / 458
Sistemas de equações não lineares
Sistemas de equações não lineares
n equações nas n variáveis x1, x2, . . . , xn:



f1(x1, x2, . . . , xn) = 0
f2(x1, x2, . . . , xn) = 0
...
fn(x1, x2, . . . , xn) = 0
onde f1, f2, . . . , fn : Rn → R
MIEEC (FEUP) MÉTODOS NUMÉRICOS 148 / 458
Sistemas de equações não lineares
Sistemas de equações não lineares
Definindo x = (x1, x2, . . . , xn)T e F : Rn → Rn como
F(x) =





f1(x)
f2(x)
...
fn(x)





=





f1(x1, x2, . . . , xn)
f2(x1, x2, . . . , xn)
...
fn(x1, x2, . . . , xn)





o sistema pode ser escrito como
F(x) = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 149 / 458
Sistemas de equações não lineares
Sistemas de equações não lineares
Métodos iterativos
método iterativo simples (iteração de ponto fixo)
método de Newton
. . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 150 / 458
Sistemas de equações não lineares Método iterativo simples
Vamos agora ver ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
Método iterativo simples
Método de Newton
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 151 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples
Reescrever o sistema de equações F(x) = 0 na forma
x = G(x), G : Rn
→ Rn
ou seja 


x1 = g1(x1, x2, . . . , xn)
x2 = g2(x1, x2, . . . , xn)
...
xn = gn(x1, x2, . . . , xn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 152 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples
1 Escolher um ponto inicial x(0)
2 Determinar os termos da sucessão {x(k)} pela expressão de recorrência
x(k+1) = G(x(k))
x(k) → s tal que s = G(s) (ponto fixo de G) ⇔ F(s) = 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 153 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples: exemplo
Considere o sistema de equações
4x1 − ln(x1x2) − 8 = 0
2x1 − 4x2 +
√
x1x2 − 3 = 0
(a) Reescreva-o numa forma apropriada para aplicação do método
iterativo simples.
(b) Efectue 11 iterações deste método partindo do ponto (1.5, 1).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 154 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples: exemplo
x1 = [ln(x1x2) + 8]/4 = 0
x2 = [2x1 +
√
x1x2 − 3]/4
k x1,(k) x2,(k) g1(x1,(k), x2,(k)) g2(x1,(k), x2,(k))
0 1.50000 1.00000 2.10137 0.30619
1 2.10137 0.30619 1.88976 0.50122
2 1.88976 0.50122 1.98643 0.43819
3 1.98643 0.43819 1.96531 0.47646
4 1.96531 0.47646 1.98357 0.47457
5 1.98357 0.47457 1.98489 0.48434
6 1.98489 0.48434 1.99015 0.48757
7 1.99015 0.48757 1.99247 0.49134
8 1.99247 0.49134 1.99469 0.49359
9 1.99469 0.49359 1.99611 0.49541
10 1.99611 0.49541 1.99721 0.49666
MIEEC (FEUP) MÉTODOS NUMÉRICOS 155 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples: convergência
Teorema
Seja D ⊂ Rn um conjunto fechado e convexo. Seja G : D → Rn de classe
C1. Se
i) existe um número L < 1 tal que
maxj
∂gi
∂xj
(x) ≤ L ∀i = 1 . . . n ∀x ∈ D
ii) G(D) ⊂ D
então
i) existe um e só um z ∈ D tal que z = G(z)
ii) o método iterativo simples converge para z, ∀x(0) ∈ D
iii) verifica-se que
z − x(k) ≤
L
1 − L
x(k) − x(k−1)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 156 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples: exemplo 2
Considere o sistema de equações definido em R2.
4x1 − cos(x1 + x2) = 4,
3x2 − sin(x1 + x2) = 6.
(a) Verifique que o sistema tem uma e uma só solução.
(b) Aplicando o método iterativo simples, determine tal solução com um
erro máximo de 10−5 na soma dos módulos de cada uma das
componentes do erro (norma 1).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 157 / 458
Sistemas de equações não lineares Método iterativo simples
Método iterativo simples: exemplo 2
k x1,(k) x2,(k) g1(x1,(k), x2,(k)) g2(x1,(k), x2,(k)) εk+1
0 1.000000 1.000000 0.895963 2.303099 2.0
1 0.895963 2.303099 0.750413 1.980854 6.5 × 10−1
2 0.750413 1.980854 0.770752 2.132969 2.4 × 10−1
3 0.770752 2.132969 0.757040 2.078545 9.5 × 10−2
4 0.757040 2.078545 0.761614 2.100418 3.7 × 10−2
5 0.761614 2.100418 0.759706 2.091978 1.4 × 10−2
6 0.759706 2.091978 0.760433 2.095288 5.7 × 10−3
7 0.760433 2.095288 0.760146 2.093998 2.2 × 10−3
8 0.760146 2.093998 0.760257 2.094502 8.6 × 10−4
9 0.760257 2.094502 0.760214 2.094305 3.4 × 10−4
10 0.760214 2.094305 0.760231 2.094382 1.3 × 10−4
11 0.760231 2.094382 0.760224 2.094352 5.1 × 10−5
12 0.760224 2.094352 0.760227 2.094364 2.0 × 10−5
13 0.760227 2.094364 0.760226 2.094359 7.8 × 10−6
MIEEC (FEUP) MÉTODOS NUMÉRICOS 158 / 458
Sistemas de equações não lineares Método de Newton
Vamos agora ver ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
Método iterativo simples
Método de Newton
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 159 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton
Sendo JF (x) não singular tem-se
F(x) = 0 ⇔ [JF (x)]−1
F(x) = 0
ou ainda
x = x − [JF (x)]−1
F(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 160 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton
Expressão de recorrência
x(k+1) = x(k) − [JF (x(k))]−1
F(x(k)), k = 0, 1, . . .
Determinação de x(k+1)
1 calcular F(x(k))
2 calcular JF (x(k))
3 calcular v(k) resolvendo o SEL JF (x(k)) v(k) = F(x(k))
4 calcular x(k+1) = x(k) − v(k)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 161 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton: caso R2
Para o sistema de equações
f1(x1, x2) = 0
f2(x1, x2) = 0
,
a matriz jacobiana JF (x1, x2) =
a b
c d
=
∂f1
∂x1
∂f1
∂x2
∂f2
∂x1
∂f2
∂x2
tem como inversa J−1
F (x1, x2) = 1
ad−bc
d −b
−c a
.
Logo
x1,(k+1)
x2,(k+1)
=
x1,(k)
x2,(k)
− J−1
F
f1
f2
(x1,(k), x2,(k))
x1,(k+1)
x2,(k+1)
=
x1,(k)
x2,(k)
−
1
ad − bc
df1 − bf2
−cf1 + af2
(x1,(k), x2,(k))
MIEEC (FEUP) MÉTODOS NUMÉRICOS 162 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton: convergência
Teorema
Sejam F de classe C2 e z tal que F(z) = 0.
Se det(JF (z)) = 0 a sucessão gerada pelo método de Newton converge
para z qualquer que seja o ponto inicial x(0) suficientemente próximo de z.
Verifica-se ainda que existe uma constante positiva c tal que
z − x(k) ≤ c z − x(k−1)
2
,
ou seja, a convergência é quadrática.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 163 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton: exemplo
Aplique o método de Newton para resolver o sistema de equações
4x1x2
2 − 2x2
1 x2 + 2 = 0
2x1 − 4x2 +
√
x1x2 − 3 = 0.
Parta do ponto (1.5, 1) e termine a aplicação do método assim que da
diferença entre duas estimativas consecutivas seja inferior 5 × 10−6 em
qualquer das componentes do erro (norma ∞)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 164 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton: exemplo
k x1,(k) x2,(k) v1,(k) v2,(k) x1,(k+1) x2,(k+1) x(k+1) − x(k) ∞
0 1.500000 1.000000 −0.793659 0.255024 2.293659 0.744976 7.9 × 10−1
1 2.293659 0.744976 0.360263 0.290966 1.933395 0.454010 3.6 × 10−1
2 1.933395 0.454010 −0.066606 −0.046156 2.000001 0.500166 6.7 × 10−2
3 2.000001 0.500166 0.000001 0.000166 2.000000 0.500000 1.7 × 10−4
4 2.000000 0.500000 0.000000 0.000000 2.000000 0.500000 7.3 × 10−8
MIEEC (FEUP) MÉTODOS NUMÉRICOS 165 / 458
Sistemas de equações não lineares Método de Newton
Método de Newton: algumas dificuldades
Cálculo de JF e resolução do sistema JF · v = F
→ aproximar numericamente as derivadas
→ não recalcular JF em todas as iterações
Dificuldades de convergência
→ x(k+1) = x(k) − αk · [JF (x(k))]−1F(x(k))
αk tal que F(x(k+1)) ≤ F(x(k))
→ . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 166 / 458
Aproximação de funções
Um novo capítulo ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 167 / 458
Aproximação de funções
Aproximação de funções
Qual a recta y = ax + b que melhor aproxima um dado conjunto de pontos
(xi , yi )?
E se for uma parábola y = ax2 + bx + c?
E se for uma função y = a sin x + b cos x?
Como é que estes problemas se relacionam com projectar pontos em
planos?
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 168 / 458
Aproximação de funções
Aproximação
x
y
(x1, y1) (x2, y2)
(xn, yn)
g(x)
Dados os pontos (x1, y1), (x2, y2), . . . , (xn, yn)
Determinar uma função g : R → R tal que
g(xi ) seja próximo de yi
MIEEC (FEUP) MÉTODOS NUMÉRICOS 169 / 458
Aproximação de funções
Funções aproximantes
A função aproximante depende de constantes c1, c2, . . . , ck
g(x) = F(x; c1, c2, . . . , ck)
O problema de aproximação consiste em determinar o vector de parâmetros
(c1, . . . , ck) tal que a função g melhor aproxime os pontos dados.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 170 / 458
Aproximação de funções
Critérios de aproximação
Para determinar a função que melhor aproxima os pontos dados é
necessário definir um critério que permita comparar funções aproximantes.
Este critério deverá depender dos desvios di definidos por
di = yi − F(xi ; c1, . . . , ck) i = 1, . . . , n
e deverá garantir que a função aproximante torne os desvios “pequenos”.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 171 / 458
Aproximação de funções
Critérios de aproximação
Alguns dos critérios utilizados são
1 minimizar n
i=1 |di |
2 minimizar max
1≤i≤n
|di |
3 minimizar n
i=1 d2
i
MIEEC (FEUP) MÉTODOS NUMÉRICOS 172 / 458
Aproximação de funções
Funções aproximantes
Em muitas situações, F(x; c1, . . . , ck) é escolhida como uma combinação
linear de funções φ1, . . . , φk
F(x; c1, . . . , ck) = c1φ1(x) + · · · + ckφk(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 173 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Vamos agora ver ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
Aproximação dos mínimos quadrados
Aproximação em espaços vectoriais
Sistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
MIEEC (FEUP) MÉTODOS NUMÉRICOS 174 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Aproximação dos mínimos quadrados
Dados os pares (xi , yi )n
i=1 e as funções φ1, . . . , φk, calcular os parâmetros
c1, . . . , ck que minimizam
e(c1, . . . , ck) =
n
i=1
d2
i =
n
i=1
[yi − ( c1φ1(xi ) + . . . + ckφk(xi ) )]2
isto é, que minimizam a soma dos quadrados dos desvios.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 175 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Mínimos quadrados: equações normais



c1
n
i=1
φ2
1(xi ) + c2
n
i=1
φ1(xi )φ2(xi ) + · · · + ck
n
i=1
φ1(xi )φk (xi ) =
n
i=1
yi φ1(xi )
c1
n
i=1
φ2(xi )φ1(xi ) + c2
n
i=1
φ2
2(xi ) + · · · + ck
n
i=1
φ2(xi )φk (xi ) =
n
i=1
yi φ2(xi )
. . . . . . . . .
c1
n
i=1
φk (xi )φ1(xi ) + c2
n
i=1
φk (xi )φ2(xi ) + · · · + ck
n
i=1
φ2
k (xi ) =
n
i=1
yi φk (xi )
MIEEC (FEUP) MÉTODOS NUMÉRICOS 176 / 458
Aproximação de funções Aproximação dos mínimos quadrados
MQ: aproximação por uma recta
As funções aproximantes serão da forma g(x) = c1 + c2x, ou seja, k = 2,
φ1(x) = 1 e φ2(x) = x.
O sistema de equações a resolver é






n
i=1
1
n
i=1
xi
n
i=1
xi
n
i=1
x2
i








c1
c2

 =






n
i=1
yi
n
i=1
xi yi






MIEEC (FEUP) MÉTODOS NUMÉRICOS 177 / 458
Aproximação de funções Aproximação dos mínimos quadrados
MQ: aproximação por uma recta
Os somatórios envolvidos são facilmente determinados com base na tabela
xi yi x2
i xi yi
x1 y1 x2
1 x1y1
x2 y2 x2
2 x2y2
. . . . . . . . . . . .
xn yn x2
n xnyn
xi yi x2
i xi yi
MIEEC (FEUP) MÉTODOS NUMÉRICOS 178 / 458
Aproximação de funções Aproximação dos mínimos quadrados
MQ: aproximação por uma parábola
As funções aproximantes são do tipo g(x) = c1 + c2x + c3x2, ou seja,
k = 3, φ1(x) = 1, φ2(x) = x e φ3(x) = x2.
O sistema de equações a resolver é










n
i=1
1
n
i=1
xi
n
i=1
x2
i
n
i=1
xi
n
i=1
x2
i
n
i=1
x3
i
n
i=1
x2
i
n
i=1
x3
i
n
i=1
x4
i
















c1
c2
c3






=










n
i=1
yi
n
i=1
xi yi
n
i=1
x2
i yi










MIEEC (FEUP) MÉTODOS NUMÉRICOS 179 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Mínimos quadrados: exemplo
Determine a aproximação dos mínimos quadrados aos pontos da tabela
x 1 2 4 5 7 8 10
y 1 1 4 4 6 6 7
por
a) uma recta
b) uma parábola
c) uma recta que minimize o erro em x
MIEEC (FEUP) MÉTODOS NUMÉRICOS 180 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Exemplo
y = 0.3333 + 0.7207x
y = −0.5372 + 1.1901x − 0.04353x2
x = −0.1475 + 1.3115y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 181 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Redução a problemas de mínimos quadrados
Se a função aproximante não puder ser escrita como
F(x; c1, . . . , ck) = c1φ1(x) + . . . + c2φk(x)
a aproximação dos mínimos quadrados origina um sistema de equações
não lineares (resolução "difícil").
Contudo, se existir uma função g tal que
g(F(x; c1, . . . , ck)) = b1φ1(x) + · · · + bkφk(x)
e b1 = ψ1(c1), b2 = ψ1(c2), . . . , bk = ψk(ck)
obtém-se uma função aproximante resolvendo um SEL.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 182 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Redução a problemas de mínimos quadrados
Para tal, deverá ser determinada a função
b1φ1(x) + · · · + bkφk(x)
que melhor aproxima os pontos (xi , g(yi )) no sentido dos mínimos
quadrados, isto é, que minimiza a soma dos quadrados dos desvios
modificados
˜di = g(yi ) − g(F(xi ; c1, . . . , ck))
Após a resolução deste problema, os cj calculam-se por
cj = ψ−1
j (bj ), j = 1, . . . , k.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 183 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Redução a problemas de MQ: exemplo
Aproximar por uma função da forma y = c1xc2 os pontos
x 1 1.2 1.6 2
y 1 1.3 1.4 1.7
MIEEC (FEUP) MÉTODOS NUMÉRICOS 184 / 458
Aproximação de funções Aproximação dos mínimos quadrados
Redução a problemas de MQ: exemplo
y = 1.05x0.69
MIEEC (FEUP) MÉTODOS NUMÉRICOS 185 / 458
Aproximação de funções Aproximação em espaços vectoriais
Vamos agora ver ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
Aproximação dos mínimos quadrados
Aproximação em espaços vectoriais
Sistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
MIEEC (FEUP) MÉTODOS NUMÉRICOS 186 / 458
Aproximação de funções Aproximação em espaços vectoriais
Aproximação em espaços vectoriais
V espaço vectorial com o produto interno ·, ·
· norma em V induzida pelo produto interno, isto é,
v = v, v , v ∈ V
{v1, v2, . . . , vk} vectores de V linearmente independentes
Dado u ∈ V pretende-se determinar a combinação linear
c1v1 + c2v2 + · · · + ckvk que melhor aproxima u, no sentido de tornar
mínimo,
u − (c1v1 + c2v2 + · · · + ckvk) 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 187 / 458
Aproximação de funções Aproximação em espaços vectoriais
Aproximação em espaços vectoriais
Teorema
Sejam os vectores {v1, v2, . . . , vk} de V linearmente independentes e um
vector u ∈ V . A combinação linear c1v1 + c2v2 + · · · + ckvk que torna
mínimo o valor
u − (c1v1 + c2v2 + · · · + ckvk) 2
satisfaz as relações
vj , u − (c1v1 + c2v2 + · · · + ckvk) = 0, j = 1, 2, . . . , k.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 188 / 458
Aproximação de funções Aproximação em espaços vectoriais
Aproximação em espaços vectoriais
O sistema de equações que determina c1, c2, . . . , ck é





v1, v1 v1, v2 . . . v1, vk
v2, v1 v2, v2 . . . v2, vk
...
...
...
...
vk, v1 vk, v2 . . . vk, vk










c1
c2
...
ck





=





v1, u
v2, u
...
vk, u





e designa-se por sistema de equações normais.
Sendo v1, v2, . . . , vk linearmente independentes, este sistema tem solução
única, qualquer que seja u ∈ V .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 189 / 458
Aproximação de funções Aproximação em espaços vectoriais
MQ e aproximação em espaços vectoriais
Dados os pares (xi , yi )n
i=1 e as funções φ1(x), . . . , φk(x) pretende-se
determinar a combinação linear
c1φ1(x) + · · · + ckφk(x)
que minimiza a soma dos quadrados dos desvios.
Definam-se ¯φ1, . . . , ¯φk, ¯y ∈ Rn de acordo com
¯φ1 =





φ1(x1)
φ1(x2)
...
φ1(xn)





, . . . , ¯φk =





φk(x1)
φk(x2)
...
φk(xn)





, e ¯y =





y1
y2
...
yn





MIEEC (FEUP) MÉTODOS NUMÉRICOS 190 / 458
Aproximação de funções Aproximação em espaços vectoriais
MQ e aproximação em espaços vectoriais
Determinar a combinação linear c1φ1(x) + · · · + ckφk(x) que minimiza a
soma dos quadrados dos desvios
é equivalente a
Determinar a combinação linear c1
¯φ1 + · · · + ck
¯φk que minimiza o valor
¯y − (c1
¯φ1 + · · · + ck
¯φk) 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 191 / 458
Aproximação de funções Aproximação em espaços vectoriais
MQ e aproximação em espaços vectoriais
Os valores c1, c2, . . . , ck são determinados resolvendo





¯φ1, ¯φ1
¯φ1, ¯φ2 . . . ¯φ1, ¯φk
¯φ2, ¯φ1
¯φ2, ¯φ2 . . . ¯φ2, ¯φk
...
...
...
...
¯φk, ¯φ1
¯φk, ¯φ2 . . . ¯φk, ¯φk










c1
c2
...
ck





=





¯φ1, ¯y
¯φ2, ¯y
...
¯φk, ¯y





MIEEC (FEUP) MÉTODOS NUMÉRICOS 192 / 458
Aproximação de funções Aproximação em espaços vectoriais
MQ e aproximação em espaços vectoriais
Este sistema de equações pode ser escrito na forma
















n
i=1
φ1(xi )φ1(xi )
n
i=1
φ1(xi )φ2(xi ) . . .
n
i=1
φ1(xi )φk (xi )
n
i=1
φ2(xi )φ1(xi )
n
i=1
φ2(xi )φ2(xi ) . . .
n
i=1
φ2(xi )φk (xi )
.
.
.
.
.
.
..
.
.
.
.
n
i=1
φk (xi )φ1(xi )
n
i=1
φk (xi )φ2(xi ) . . .
n
i=1
φk (xi )φk (xi )






















c1
c2
.
.
.
ck






=













n
i=1
φ1(xi )yi
n
i=1
φ2(xi )yi
. . .
n
i=1
φk (xi )yi













MIEEC (FEUP) MÉTODOS NUMÉRICOS 193 / 458
Aproximação de funções Aproximação em espaços vectoriais
MQ e aproximação em espaços vectoriais
Este sistema tem solução única se os vectores ¯φ1, ¯φ2, . . . , ¯φk, forem
linearmente independentes.
Neste caso, diz-se que as funções φ1, . . . , φk são linearmente
independentes nos pontos x1, x2, . . . , xn.
Então, o número de pontos (n) deverá ser sempre superior ou igual ao
número de funções consideradas (k).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 194 / 458
Aproximação de funções Aproximação em espaços vectoriais
Exercício
Determine a melhor aproximação y = a sin(x) + b cos(x), no sentido dos
mínimos quadrados, dos pontos da tabela.
x 0 π
2 π 3π
2
y −1.3 1.55 1.2 −1.45
Resolva o exercício usando o formalismo da aproximação em espaços
vectoriais.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 195 / 458
Aproximação de funções Aproximação em espaços vectoriais
Vectores ortogonais
Se vi , vj = 0 para i = j (vectores ortogonais), então





v1, v1 0 . . . 0
0 v2, v2 . . . 0
...
...
...
...
0 0 . . . vk, vk










c1
c2
...
ck





=





v1, u
v2, u
...
vk, u





Concluindo-se que
cj =
vj , u
vj , vj
MIEEC (FEUP) MÉTODOS NUMÉRICOS 196 / 458
Aproximação de funções Aproximação em espaços vectoriais
Exercício: aprox. por exponenciais complexas
Sejam f , g : [0, T] → C e defina-se f , g =
T
0
f ∗
(t)g(t)dt.
1 Verifique que as funções vk(t) = ej 2kπ
T
t
com k ∈ Z são ortogonais.
Nota: j =
√
−1.
2 Considere a função h(t) =
1 se 0 ≤ t ≤ T
2
0 se T
2 < t ≤ T
Qual a combinação linear de v−N, . . . , v0, . . . , vN que melhor aproxima
h no sentido dos mínimos quadrados?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 197 / 458
Aproximação de funções Aproximação em espaços vectoriais
Exemplo
MIEEC (FEUP) MÉTODOS NUMÉRICOS 198 / 458
Aproximação de funções Sistemas Sobredeterminados
Vamos agora ver ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
Aproximação dos mínimos quadrados
Aproximação em espaços vectoriais
Sistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
MIEEC (FEUP) MÉTODOS NUMÉRICOS 199 / 458
Aproximação de funções Sistemas Sobredeterminados
Sistemas Sobredeterminados
O sistema de equações (na variável c = c1, . . . , ck)



F(x1, c) = y1
...
F(xm, c) = ym
⇔



k
j=1 φj (x1)cj = y1
...
k
j=1 φj (xm)cj = ym
⇔ Ac = y
é, para um problema de MQ, em geral sobredeterminado (n.o de equações
m > n.o incógnitas k). Não tem solução se n.o linhas lin. indep. > k).
Defina-se “solução mínimos quadrados” deste sistema o vector c ∈ R que
minimiza a soma dos quadrados dos desvios
d 2
= y − Ac 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 200 / 458
Aproximação de funções Sistemas Sobredeterminados
Desenvolvendo a expressão
d 2
= y − Ac 2
= (y − Ac)T
(y − Ac) =
= yT
y − 2yT
Ac − cT
AT
AC
Derivando em ordem a c e igualando a zero
−2yT
A + 2cT
AT
A = 0
⇔ AT Ac = AT y (1)
Se a matriz AT A possuir inversa (se as colunas de A forem lin. indep.)
então
c = (AT A)−1AT y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 201 / 458
Aproximação de funções Sistemas Sobredeterminados
Pseudo-inversa
A matriz (AT A)−1AT designa-se por pseudo-inversa e representa-se por
A+. No caso em que A admite inversa A+ = A−1.
Teorema
Seja Ac = y um sistema (sobredeterminado ou não) em que as colunas de
A são linearmente independentes. Então a solução de mínimos quadrados
do sistema é dada por
c = A+
y
onde A+ = (AT A)−1AT .
Em alguns sistemas de computação numérica (ex: Matlab) a solução de
sistemas sobredeterminados é dada desta forma.
Exemplo: Em Matlab
» c=inv(A)*y
dá-nos a solução de MQ do sistema Ac = y.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 202 / 458
Aproximação de funções Sistemas Sobredeterminados
Normalidade
A expressão (1)
AT
Ac = AT
y
é uma outra forma de escrever as equações normais, pois reescrevendo
como
AT
(Ac − y) = 0 ⇔ AT
d = 0
verificamos que os desvios são ortogonais às colunas de A.
(Comparar com o 1o teorema deste capítulo.)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 203 / 458
Interpolação polinomial
Um novo capítulo ...
1 Erros
2 Equações não Lineares
3 Sistemas de equações não lineares
4 Aproximação de funções
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
MIEEC (FEUP) MÉTODOS NUMÉRICOS 204 / 458
Interpolação polinomial
Interpolação
Por 2 pontos passa uma recta.
Por 3 será uma parábola?
E por 4? uma cúbica!? . . .
Como podem os polinómios ajudar a resolver equações não lineares?
O que são cubic splines?
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 205 / 458
Interpolação polinomial
Interpolação
x
y
(x0, y0) (x1, y1)
(xn, yn)
g(x)
Dados os pontos (x0, y0), (x1, y1), . . . , (xn, yn)
Determinar uma função g : R → R tal que
g(x0) = y0, g(x1) = y1, . . . , g(xn) = yn
x0, x1, . . . , xn são os nós de interpolação (i = j ⇒ xi = xj )
MIEEC (FEUP) MÉTODOS NUMÉRICOS 206 / 458
Interpolação polinomial
Aplicações da interpolação
Cálculo de funções fornecidas por tabelas
Quando se conhecem apenas alguns dos valores de uma função, por
exemplo obtidos experimentalmente
Aproximação de funções cujo cálculo seja complexo ou exija grande
esforço
Base de muitos métodos numéricos
MIEEC (FEUP) MÉTODOS NUMÉRICOS 207 / 458
Interpolação polinomial
Interpolação polinomial
Uma função p diz-se polinomial de grau n se puder ser escrita na forma
p(x) = anxn
+ an−1xn−1
+ · · · + a1x + a0
onde n ∈ N0 e an = 0.
Se p(x) = 0, o polinómio diz-se nulo, e o seu grau é, por convenção, −∞.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 208 / 458
Interpolação polinomial
Interpolação polinomial
Utilização de funções interpoladoras polinomiais
o seu cálculo é feito com um número finito de multiplicações e somas
as operações de derivação e primitivação são simples
são funções de classe C∞
aproximam tanto quanto se queira qualquer função contínua num
intervalo finito
MIEEC (FEUP) MÉTODOS NUMÉRICOS 209 / 458
Interpolação polinomial
Aproximação por polinómios
Teorema (Weierstrass)
Seja [a, b] um intervalo real e f uma função contínua em [a, b]. Então,
qualquer que seja ε > 0, existe uma função polinomial p tal que
max
x∈[a,b]
|f (x) − p(x)| < ε.
x
y
a b
f (x)
f (x) + ε
f (x) − ε
p(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 210 / 458
Interpolação polinomial
Formas polinomiais
Forma de potências simples
p(x) = a0 + a1x + a2x2 + · · · + anxn
Forma de potências centradas
p(x) = ¯a0 + ¯a1(x − c) + ¯a2(x − c)2 + · · · + ¯an(x − c)n
Forma de Newton
p(x) = ˜a0 + ˜a1(x − c1) + ˜a2(x − c1)(x − c2) + · · · + ˜an(x − c1) · · · (x − cn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 211 / 458
Interpolação polinomial
Cálculo de polinómios: algoritmo de Horner
Forma de potências simples:
p(x) = a0 + a1x + · · · + anxn
y ← an
Para i = n − 1 até 0 fazer
y ← ai + y · x
MIEEC (FEUP) MÉTODOS NUMÉRICOS 212 / 458
Interpolação polinomial
Cálculo de polinómios: algoritmo de Horner
Forma de Newton:
p(x) = a0 + a1(x − c1) + · · · + an(x − c1) · · · (x − cn)
y ← an
Para i = n − 1 até 0 fazer
y ← ai + y · (x − ci+1)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 213 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Vamos agora ver ...
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
Splines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 214 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Polinómio interpolador: unicidade e existência
Teorema
Dados os nós distintos x0, x1, . . . , xn e os valores nodais y0, y1, . . . , yn,
existe um e um só polinómio p de grau menor ou igual a n que interpola
os valores yi nos nós xi , ou seja, tal que
p(xi ) = yi , i = 0, 1, . . . , n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 215 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Existência e unicidade de polinómio interpolador
Os coeficientes do polinómio interpolador verificam



a0 + a1x0 + . . . + anxn
0 = y0
a0 + a1x1 + . . . + anxn
1 = y1
. . .
a0 + a1xn + . . . + anxn
n = yn
que não é mais do que um sistema de n + 1 equações lineares nas n + 1
incógnitas a0, a1, . . . , an.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 216 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
v(x0, x1, . . . , xn) =
1 x0 x2
0 . . . xn−1
0 xn
0
1 x1 x2
1 . . . xn−1
1 xn
1
...
...
...
...
...
...
1 xn x2
n . . . xn−1
n xn
n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 217 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
1 x0 x2
0 . . . xn−1
0 0
1 x1 x2
1 . . . xn−1
1 xn−1
1 (x1 − x0)
...
...
...
...
...
...
1 xn x2
n . . . xn−1
n xn−1
n (xn − x0)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 218 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
1 x0 x2
0 . . . xn−2
0 0 0
1 x1 x2
1 . . . xn−2
1 xn−2
1 (x1 − x0) xn−1
1 (x1 − x0)
...
...
...
...
...
...
...
1 xn x2
n . . . xn−2
n xn−2
n (xn − x0) xn−1
n (xn − x0)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 219 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
1 0 0 . . . 0 0
1 x1 − x0 x1(x1 − x0) . . . xn−2
1 (x1 − x0) xn−1
1 (x1 − x0)
...
...
...
...
...
...
1 xn − x0 xn(xn − x0) . . . xn−2
n (xn − x0) xn−1
n (xn − x0)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 220 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
x1 − x0 x1(x1 − x0) . . . xn−2
1 (x1 − x0) xn−1
1 (x1 − x0)
x2 − x0 x2(x2 − x0) . . . xn−2
2 (x2 − x0) xn−1
2 (x2 − x0)
...
...
...
...
...
xn − x0 xn(xn − x0) . . . xn−2
n (xn − x0) xn−1
n (xn − x0)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 221 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
(x1 − x0) · (x2 − x0) · · · (xn − x0) ·
1 x1 x2
1 . . . xn−1
1
1 x2 x2
2 . . . xn−1
2
...
...
...
...
...
1 xn x2
n . . . xn−1
n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 222 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
v(x0, x1, . . . , xn) =


n
j=1
(xj − x0)

 · v(x1, . . . , xn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 223 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
v(x0, x1, . . . , xn) =


n
j=1
(xj − x0)

 ·


n
j=2
(xj − x1)

 · . . . ·


n
j=n
(xj − xn−1)


é não nulo se os nós forem distintos!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 224 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Construção do polinómio interpolador
Dados os valores (yi )n
i=0 nos nós distintos (xi )n
i=0, como se determina o
polinómio interpolador p, de grau ≤ n?
Uma possibilidade é resolver o sistema de equações



a0 + a1x0 + . . . + anxn
0 = y0
a0 + a1x1 + . . . + anxn
1 = y1
. . .
a0 + a1xn + . . . + anxn
n = yn
Abordagem não aconselhável . . . vamos estudar outras!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 225 / 458
Interpolação polinomial Forma de Lagrange
Vamos agora ver ...
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
Splines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 226 / 458
Interpolação polinomial Forma de Lagrange
Forma de Lagrange
Os polinómios de Lagrange definem-se por
Lk(x) =
n
i=0
i=k
x − xi
xk − xi
e verificam as relações
Lk(xj ) = δkj =
1 se k = j
0 se k = j
onde δkj é o designado delta de Kronecker
MIEEC (FEUP) MÉTODOS NUMÉRICOS 227 / 458
Interpolação polinomial Forma de Lagrange
Forma de Lagrange: polinómios Lk(x)
x
y
x0 x1 x2 x3
1
L0(x)
L1(x)
L2(x)
L3(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 228 / 458
Interpolação polinomial Forma de Lagrange
Existência e unicidade: outra vez
Mostramos assim de uma outra forma, construtiva, a existência do
polinómio interpolador.
Teorema
O polinómio
p(x) =
n
k=0
ykLk(x),
tem grau menor ou igual a n e interpola os valores y0, y1, . . . , yn nos nós
distintos x0, x1, . . . , xn.
A unicidade mostra-se facilmente. Suponha-se que p1(x) e p2(x) são dois
polinómios interpoladores de grau menor ou igual que ≤ n. O polinómio
d(x) = p1(x) − p2(x) tem grau ≤ n e tem pelo menos n + 1 zeros nos nós.
Logo d(x) = 0.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 229 / 458
Interpolação polinomial Forma de Lagrange
Forma de Lagrange: exemplo
Determinar o polinómio de grau menor ou igual a 3 que interpola os valores
x −1 0 2 3
y 6 −12 18 24
MIEEC (FEUP) MÉTODOS NUMÉRICOS 230 / 458
Interpolação polinomial Forma de Lagrange
Forma de Lagrange
Quando se altera ou adiciona um nó é necessário recalcular todos os
polinómios Lk
Se um ou mais valores nodais forem alterados, os polinómios Lk
mantêm-se, sendo apenas necessário recalcular a combinação destes
para obter p(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 231 / 458
Interpolação polinomial Forma de Aitken-Neville
Vamos agora ver ...
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
Splines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 232 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
x
y
xm
ym
xm+1
ym+1
xm+k
ym+k
xm+k+1
ym+k+1
pm,k (x)
pm+1,k (x)
pm,k+1(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 233 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
Se pm,k(x) interpola (yi )m+k
i=m nos nós (xi )m+k
i=m
e se pm+1,k(x) interpola (yi )m+k+1
i=m+1 nos nós (xi )m+k+1
i=m+1
então
pm,k+1(x) =
(x − xm+k+1) · pm,k(x) + (xm − x) · pm+1,k(x)
xm − xm+k+1
interpola (yi )m+k+1
i=m nos nós (xi )m+k+1
i=m .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 234 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
A expressão de recorrência
(x − xm+k+1) · pm,k(x) + (xm − x) · pm+1,k(x)
xm − xm+k+1
é uma generalização da expressão
(x − x1) · y0 + (x0 − x) · y1
x0 − x1
designando-se também por interpolação linear iterada
MIEEC (FEUP) MÉTODOS NUMÉRICOS 235 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
A expressão de recorrência pode ainda ser escrita como
pm,k+1(x) =
pm,k(x) x − xm
pm+1,k(x) x − xm+k+1
xm − xm+k+1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 236 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
Para determinar p(x) que interpola (yi )n
i=0 em (xi )n
i=0 é necessário obter os
polinómios
pi,0(x), i = 0, . . . , n
pi,1(x), i = 0, . . . , n − 1
. . . e, finalmente
p0,n(x) = p(x).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 237 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
y01(x) =
y0 x − x0
y1 x − x1
x0 − x1
, y12(x) =
y1 x − x1
y2 x − x2
x1 − x2
, . . .
y012(x) =
y01(x) x − x0
y12(x) x − x2
x0 − x2
, y123(x) = . . .
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 238 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville: exemplo
Determinar, em x = 1, o valor do polinómio de grau menor ou igual a 3
que interpola
x −1 0 2 3
y 6 −12 18 24
MIEEC (FEUP) MÉTODOS NUMÉRICOS 239 / 458
Interpolação polinomial Forma de Aitken-Neville
Forma de Aitken-Neville
Permite calcular o valor do polinómio interpolador num ponto, sem
determinar os seus coeficientes.
É possível adicionar e retirar nós nos “extremos” reutilizando os
cálculos já efectuados.
Se os valores nodais forem alterados é necessário repetir os cálculos.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 240 / 458
Interpolação polinomial Forma de Newton
Vamos agora ver ...
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
Splines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 241 / 458
Interpolação polinomial Forma de Newton
Forma de Newton
O polinómio interpolador p é obtido na forma de Newton tomando como
centros os nós distintos x0, x1, . . . , xn−1
p(x) = a0 + a1W0(x) + · · · + anWn−1(x)
onde
W0(x) = x − x0
W1(x) = (x − x0)(x − x1)
. . .
Wn−1(x) = (x − x0)(x − x1) · · · (x − xn−1)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 242 / 458
Interpolação polinomial Forma de Newton
Forma de Newton
Teorema
Sendo os polinómios p0, p1, . . . , pn definidos por
p0(x) = a0,
pk(x) = pk−1(x) + akWk−1(x), k = 1, . . . , n,
e definindo os valores
a0 = y0,
ak =
yk − pk−1(xk)
Wk−1(xk)
, k = 1, . . . , n,
então, para k = 0, 1, . . . , n, pk interpola (yj )k
j=0 nos nós (xj )k
j=0.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 243 / 458
Interpolação polinomial Forma de Newton
Forma de Newton: exemplo
Determinar o polinómio de grau menor ou igual a 2 que interpola
x −1 2 3
y 1 3 5
MIEEC (FEUP) MÉTODOS NUMÉRICOS 244 / 458
Interpolação polinomial Diferenças divididas
Vamos agora ver ...
5 Interpolação polinomial
Polinómio interpolador: unicidade e existência
Forma de Lagrange
Forma de Aitken-Neville
Forma de Newton
Diferenças divididas
Diferenças fiinitas
Interpolação directa e inversa
Dupla interpolação
Erro de interpolação
Splines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 245 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas
pm,k(x) interpola (xi , yi )m+k
i=m
pm,k(x) = am,0 + am,1(x − xm) + · · · + am,k(x − xm) · · · (x − xm+k−1)
pm,k+1(x) interpola (xi , yi )m+k+1
i=m
pm,k+1(x) = am,0 + am,1(x − xm) + · · · + am,k+1(x − xm) · · · (x − xm+k)
am,j depende de (xi , yi )m+j
i=m → am,j = y[xm, . . . , xm+j ]
e designa-se diferença dividida (nos nós xm, . . . , xm+j ).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 246 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas
Teorema
As diferenças dividas satisfazem y[xj ] = yj , e
y[xm, . . . , xm+k+1] =
y[xm+1, . . . , xm+k+1] − y[xm, . . . , xm+k]
xm+k+1 − xm
.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 247 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas: forma de Newton
O polinómio interpolador na forma de Newton fica agora
p(x) = y[x0] + y[x0, x1](x − x0) + · · · + y[x0, . . . , xn](x − x0) · · · (x − xn−1)
onde
y[x0] = y0
y[x0, x1] =
y[x1] − y[x0]
x1 − x0
y[x0, x1, x2] =
y[x1, x2] − y[x0, x1]
x2 − x0
. . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 248 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas: forma tabular
Exemplo com 4 nós
x y[·] y[·, ·] y[·, ·, ·] y[·, ·, ·, ·]
x0 y0
y[x0, x1]
x1 y1 y[x0, x1, x2]
y[x1, x2] y[x0, x1, x2, x3]
x2 y2 y[x1, x2, x3]
y[x2, x3]
x3 y3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 249 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas: exemplo
Determinar, na forma de Newton, o polinómio de grau menor ou igual a 3
que interpola
x −1 0 2 3
y 6 −12 18 24
MIEEC (FEUP) MÉTODOS NUMÉRICOS 250 / 458
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas
Métodos numéricos: erros e representações numéricas

Contenu connexe

Tendances

8051 Timers / Counters
8051 Timers / Counters8051 Timers / Counters
8051 Timers / CountersPatricio Lima
 
12 algoritmos e funcoes recursivas
12   algoritmos e funcoes recursivas12   algoritmos e funcoes recursivas
12 algoritmos e funcoes recursivasRicardo Bolanho
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabDavid Luna Santos
 
Lógica de programação construção de algoritmos e estrutura de dados
Lógica de programação   construção de algoritmos e estrutura de dadosLógica de programação   construção de algoritmos e estrutura de dados
Lógica de programação construção de algoritmos e estrutura de dadospronatecvja
 
101545233 exercicios-resolvidos-de-sinais-e-sistemas
101545233 exercicios-resolvidos-de-sinais-e-sistemas101545233 exercicios-resolvidos-de-sinais-e-sistemas
101545233 exercicios-resolvidos-de-sinais-e-sistemasHenrique Farias
 
PAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentationPAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentationKanchanPatil34
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03desta_gebre
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Hardware interfacing basics using AVR
Hardware interfacing basics using AVRHardware interfacing basics using AVR
Hardware interfacing basics using AVRMohamed Abdallah
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generatorsanchi29
 
자료구조 2014-2018년 출석수업대체시험 기출문제
자료구조 2014-2018년 출석수업대체시험 기출문제자료구조 2014-2018년 출석수업대체시험 기출문제
자료구조 2014-2018년 출석수업대체시험 기출문제Lee Sang-Ho
 
Embedded systems - Chapter 6.pdf
Embedded systems - Chapter 6.pdfEmbedded systems - Chapter 6.pdf
Embedded systems - Chapter 6.pdfAimerArt
 
GeoGebra JavaScript CheatSheet
GeoGebra JavaScript CheatSheetGeoGebra JavaScript CheatSheet
GeoGebra JavaScript CheatSheetJose Perez
 
Assembly Language Programming Of 8085
Assembly Language Programming Of 8085Assembly Language Programming Of 8085
Assembly Language Programming Of 8085techbed
 

Tendances (20)

8.unit-1-fds-2022-23.pptx
8.unit-1-fds-2022-23.pptx8.unit-1-fds-2022-23.pptx
8.unit-1-fds-2022-23.pptx
 
8051 Timers / Counters
8051 Timers / Counters8051 Timers / Counters
8051 Timers / Counters
 
12 algoritmos e funcoes recursivas
12   algoritmos e funcoes recursivas12   algoritmos e funcoes recursivas
12 algoritmos e funcoes recursivas
 
Trabalho equações
Trabalho equaçõesTrabalho equações
Trabalho equações
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com Matlab
 
Lógica de programação construção de algoritmos e estrutura de dados
Lógica de programação   construção de algoritmos e estrutura de dadosLógica de programação   construção de algoritmos e estrutura de dados
Lógica de programação construção de algoritmos e estrutura de dados
 
8051 Timer
8051 Timer8051 Timer
8051 Timer
 
101545233 exercicios-resolvidos-de-sinais-e-sistemas
101545233 exercicios-resolvidos-de-sinais-e-sistemas101545233 exercicios-resolvidos-de-sinais-e-sistemas
101545233 exercicios-resolvidos-de-sinais-e-sistemas
 
LaTeX Básico II
LaTeX Básico IILaTeX Básico II
LaTeX Básico II
 
PAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentationPAI Unit 2 Protection in 80386 segmentation
PAI Unit 2 Protection in 80386 segmentation
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Hardware interfacing basics using AVR
Hardware interfacing basics using AVRHardware interfacing basics using AVR
Hardware interfacing basics using AVR
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generator
 
자료구조 2014-2018년 출석수업대체시험 기출문제
자료구조 2014-2018년 출석수업대체시험 기출문제자료구조 2014-2018년 출석수업대체시험 기출문제
자료구조 2014-2018년 출석수업대체시험 기출문제
 
Os讀書會20170616
Os讀書會20170616Os讀書會20170616
Os讀書會20170616
 
Embedded systems - Chapter 6.pdf
Embedded systems - Chapter 6.pdfEmbedded systems - Chapter 6.pdf
Embedded systems - Chapter 6.pdf
 
GeoGebra JavaScript CheatSheet
GeoGebra JavaScript CheatSheetGeoGebra JavaScript CheatSheet
GeoGebra JavaScript CheatSheet
 
Assembly Language Programming Of 8085
Assembly Language Programming Of 8085Assembly Language Programming Of 8085
Assembly Language Programming Of 8085
 

Similaire à Métodos numéricos: erros e representações numéricas

Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosFlavio Gomes Lima
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEduardo Mendes
 
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...Jesimar Arantes
 
Planif novo espaco_a_12_ae_2019_20
Planif novo espaco_a_12_ae_2019_20Planif novo espaco_a_12_ae_2019_20
Planif novo espaco_a_12_ae_2019_20Paula Gomes
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfLuanaBatista74
 
livro de matematica.pdf
livro de matematica.pdflivro de matematica.pdf
livro de matematica.pdfHlioCardoso8
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NACloves da Rocha
 
Laboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaLaboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaNathan Hartmann
 
Plano de aula po1 capitulo 1 programação aulas 2015 vrs 0001
Plano de aula po1 capitulo 1   programação aulas 2015 vrs 0001Plano de aula po1 capitulo 1   programação aulas 2015 vrs 0001
Plano de aula po1 capitulo 1 programação aulas 2015 vrs 0001Luis Duncan
 

Similaire à Métodos numéricos: erros e representações numéricas (20)

Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios Resolvidos
 
Curs omatlab52
Curs omatlab52Curs omatlab52
Curs omatlab52
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de Software
 
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...
Palestra: Algoritmos Genéticos Aplicados em Planejamento de Rota para VANTs e...
 
Planif novo espaco_a_12_ae_2019_20
Planif novo espaco_a_12_ae_2019_20Planif novo espaco_a_12_ae_2019_20
Planif novo espaco_a_12_ae_2019_20
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
 
Módulo1 aula4
Módulo1 aula4Módulo1 aula4
Módulo1 aula4
 
GOP Software Manual
GOP Software ManualGOP Software Manual
GOP Software Manual
 
Econometria endogeneidade
Econometria   endogeneidadeEconometria   endogeneidade
Econometria endogeneidade
 
Elenco modular
Elenco modularElenco modular
Elenco modular
 
livro de matematica.pdf
livro de matematica.pdflivro de matematica.pdf
livro de matematica.pdf
 
Atps
AtpsAtps
Atps
 
SeComp2003
SeComp2003SeComp2003
SeComp2003
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Laboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaLaboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca Ternária
 
Plano de aula po1 capitulo 1 programação aulas 2015 vrs 0001
Plano de aula po1 capitulo 1   programação aulas 2015 vrs 0001Plano de aula po1 capitulo 1   programação aulas 2015 vrs 0001
Plano de aula po1 capitulo 1 programação aulas 2015 vrs 0001
 

Métodos numéricos: erros e representações numéricas

  • 1. MÉTODOS NUMÉRICOS MIEEC, FEUP http://www.fe.up.pt/∼faf/mnum Fernando Fontes 2008/2009 MIEEC (FEUP) MÉTODOS NUMÉRICOS 1 / 458
  • 2. Conteúdo Conteúdo I 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 2 / 458
  • 3. Conteúdo Conteúdo II Método iterativo simples Método de Newton 4 Aproximação de funções Aproximação dos mínimos quadrados Aproximação em espaços vectoriais Sistemas Sobredeterminados 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação MIEEC (FEUP) MÉTODOS NUMÉRICOS 3 / 458
  • 4. Conteúdo Conteúdo III Splines 6 Integração numérica Regra dos trapézios Regra de Simpson Integração de Romberg 7 Sobre normas de vectores e matrizes Norma de um vector Norma de uma matriz 8 Sistemas de equações lineares Eliminação gaussiana Estratégias de pivotação Erro e resíduo de uma solução aproximada Perturbações no sistema de equações Métodos iterativos Inversão de matrizes 9 Integração de Equações diferenciais MIEEC (FEUP) MÉTODOS NUMÉRICOS 4 / 458
  • 5. Conteúdo Conteúdo IV Problema de valor inicial Métodos de Euler Método de Taylor Consistência e Convergência Métodos de Runge-Kutta Sistemas de equações diferenciais Equações diferenciais de ordem n MIEEC (FEUP) MÉTODOS NUMÉRICOS 5 / 458
  • 6. Apresentação Docentes C. Mendonça e Moura cmm@fe.up.pt Manuel J. Oliveira moliv@fe.up.pt M. Joana Peres jperes@fe.up.pt Fernando A. Fontes faf@fe.up.pt Agradecimentos aos anteriores docentes Aníbal Matos e Miguel Gomes pelo material disponibilizado. MIEEC (FEUP) MÉTODOS NUMÉRICOS 6 / 458
  • 7. Apresentação Métodos Numéricos (Análise Numérica, Computação Numérica, ...) Trata do estudo de métodos que permitam obter soluções aproximadas de problemas com um esforço computacional razoável. Está na fronteira entre a Matemática e Ciências de Computação. MIEEC (FEUP) MÉTODOS NUMÉRICOS 7 / 458
  • 8. Apresentação Objectivos da disciplina Dotar os alunos da capacidade de aplicar criteriosamente técnicas numéricas para a resolução de problemas de engenharia, o que exige: 1 compreender os fundamentos dos métodos 2 saber aplicar os métodos, recorrendo a programação calculadoras aplicações computacionais MIEEC (FEUP) MÉTODOS NUMÉRICOS 8 / 458
  • 9. Apresentação Importância da disciplina Um computador é uma útil e poderosa ferramenta de cálculo de um EEC. Logo, é importante que ele conheça as potencialidades e fundamentos dos métodos utilizados ... Mas também as limitações desses métodos. Exemplos de desastres devido ao uso incorrecto de métodos numéricos: The explosion of the Ariane 5 rocket just after lift-off on its first voyage on June 4, 1996, was ultimately the consequence of a simple overflow. The Patriot Missile failure, in Dharan, Saudi Arabia, on February 25, 1991 which resulted in 28 deaths, is ultimately attributable to poor handling of rounding errors. The sinking of the Sleipner A offshore platform in Gandsfjorden, Norway, on August 23, 1991, resulted in a loss of nearly one billion dollars. It was found to be the result of inaccurate finite element analysis. fonte/mais info: http://www.ima.umn.edu/~arnold/disasters/ MIEEC (FEUP) MÉTODOS NUMÉRICOS 9 / 458
  • 10. Apresentação Programa Erros e representações numéricas Equações não lineares Sistemas de equações não lineares Sistemas de equações lineares Aproximação de funções Interpolação polinomial Integração numérica Integração de Equações diferenciais MIEEC (FEUP) MÉTODOS NUMÉRICOS 10 / 458
  • 11. Apresentação É expectável Conhecimentos prévios de Matemática ⇒ derivação e integração, série de Taylor ⇒ matrizes, sistemas de equações ⇒ maturidade matemática (facilidade na manipulação de expressões, saber ler e escrever matemática) Conhecimentos prévios de Programação ⇒ entrada e saída de dados, passagem de parâmetros ⇒ ciclos e “arrays” Estudo/Trabalho ⇒ 8 horas/semana para esta UC (4 de aulas) MIEEC (FEUP) MÉTODOS NUMÉRICOS 11 / 458
  • 12. Apresentação Aulas teóricas ⇒ 2×1 horas por semana exposição e discussão da matéria apresentação de exemplos ilustrativos esclarecimento de dúvidas MIEEC (FEUP) MÉTODOS NUMÉRICOS 12 / 458
  • 13. Apresentação Aulas teórico-práticas ⇒ bloco de 2 horas por semana ⇒ começam na semana de 9 de Março ⇒ salas de PCs ⇒ plano anunciado antecipadamente programação de métodos numéricos em linguagem C grupos de 2 alunos resolução de exercícios pelos alunos MIEEC (FEUP) MÉTODOS NUMÉRICOS 13 / 458
  • 14. Apresentação Ferramentas Uso obrigatório calculadora científica compilador de C Uso incentivado aplicações de cálculo numérico e simbólico Matlab Maple . . . folha de cálculo MIEEC (FEUP) MÉTODOS NUMÉRICOS 14 / 458
  • 15. Apresentação Avaliação: distribuída com exame final Exame Final (E) Programas e Problemas (P) A resolver nas aulas TP Trabalhos de Programação (4) (grupos 2 alunos, duração 1,5 h) Resolução de problemas (5) (individualmente, duração 30 min) De entre os 4 programas + 5 problemas só contam para nota os 7 melhores. MIEEC (FEUP) MÉTODOS NUMÉRICOS 15 / 458
  • 16. Apresentação Classificação A classificação final é F = (0.1 + 0.01E) · P + (0.9 − 0.01E) · E Motivação: a nota da avaliação prática vale tanto mais quanto melhor for a nota do exame! MIEEC (FEUP) MÉTODOS NUMÉRICOS 16 / 458
  • 17. Apresentação Obtenção de frequência não exceder o limite de faltas às aulas TP; obter pelo menos 6 valores na componente de trabalhos de programação e resolução de problemas MIEEC (FEUP) MÉTODOS NUMÉRICOS 17 / 458
  • 18. Apresentação Bibliografia e material de apoio A. Matos, “Apontamentos de Análise Numérica”, FEUP. S. Conte & C. de Boor, “An Introduction to Numerical Analysis”, McGraw-Hill. E. Fernandes, “Computação Numérica”, U. Minho. H. Pina, “Métodos Numéricos”, McGraw-Hill. R. Burden & J. Faires, “Numerical Analysis”, Brooks Cole. W. Cheney & D. Kincaid, “Numerical Mathematics and Computing”, Brooks Cole. MIEEC (FEUP) MÉTODOS NUMÉRICOS 18 / 458
  • 19. Apresentação Páginas disciplina Página do SIFEUP e http://www.fe.up.pt/∼faf/mnum/ “Apontamentos de Análise Numérica” Folhas de problemas (alguns resolvidos) Testes de anos anteriores Exercícios de programação de anos anteriores Informação sobre funcionamento plano das aulas sumários classificações . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 19 / 458
  • 20. Erros Um novo capítulo ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes 8 Sistemas de equações lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 20 / 458
  • 21. Erros 1. Erros e representações numéricas O que significa 1.2±0.1 ou 1.2±5%? 1.3 e 1.30 têm o mesmo significado? Porque razão a operação 1 + 10−20 tem resultado 1 nas máquinas calculadoras? Porque nem sempre (a + b) + c é igual a a + (b + c) ? Como minimizar as consequências da precisão finita? Que precisão terá sin α se α tiver uma precisão de 2o? Quantos termos devemos usar para calcular 5 dígitos de √ 2 através de uma série? MIEEC (FEUP) MÉTODOS NUMÉRICOS 21 / 458
  • 22. Erros Valores exacto e aproximado Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 22 / 458
  • 23. Erros Valores exacto e aproximado Valores exacto e aproximado Valor exacto: x Valor aproximado: x∗ Erro (de aproximação): ∆x∗ = x − x∗ xx* Δx* Aproximação por defeito: x∗ < x ⇔ ∆x∗ > 0 por excesso: x∗ > x ⇔ ∆x∗ < 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 23 / 458
  • 24. Erros Valores exacto e aproximado Erro absoluto Erro absoluto: |∆x∗| = |x − x∗| Erro máximo absoluto: um majorante do erro absoluto ε : |∆x∗ | ≤ ε Notação: x = x∗ ± ε ⇔ x ∈ [x∗ − ε, x∗ + ε] Exemplo: π = 3.14 ± 0.002 ⇔ π ∈ [3.138, 3.142] MIEEC (FEUP) MÉTODOS NUMÉRICOS 24 / 458
  • 25. Erros Valores exacto e aproximado Erro relativo Erro relativo: |∆x∗| |x| ou aproximadamente |∆x∗| |x∗| → exprime-se habitualmente em percentagem Erro máximo relativo: um majorante do erro relativo ε = ε |x| ε |x∗| Notação: x = x∗ ± (100ε )% ⇔ x ∈ [x∗(1 − ε ), x∗(1 + ε )] Exemplo: x = 2.0 ± 5% ⇔ x ∈ [1.9, 2.1] MIEEC (FEUP) MÉTODOS NUMÉRICOS 25 / 458
  • 26. Erros Valores exacto e aproximado Notação científica Notação científica na base 10 de x ∈ R x = ±dndn−1 · · · d1d0.d−1d−2d−3 · · · × 10e mantissa: dndn−1 . . . d1d0.d−1d−2d−3 expoente: e ∈ Z Dígitos da mantissa: di ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} MIEEC (FEUP) MÉTODOS NUMÉRICOS 26 / 458
  • 27. Erros Valores exacto e aproximado Mantissa com n algarismos E se a mantissa for d1d2 · · · dndn+1dn+2 · · · ? Truncatura ignoram-se algarismos a partir do índice n + 1 Arredondamento se 0.dn+1dn+2 . . . > 0.5 soma-se uma unidade à casa n para (arredondar para cima) se 0.dn+1dn+2 . . . < 0.5 mantém-se a casa n (arredondar para baixo) se 0.dn+1dn+2 . . . = 0.5 arredonda-se para cima ou para baixo ficando a casa n par (por vezes também se arredonda para cima) MIEEC (FEUP) MÉTODOS NUMÉRICOS 27 / 458
  • 28. Erros Valores exacto e aproximado Notação compacta para aproximações Como simplificar a notação x = x∗ ± ε ? Majorar erros absolutos por 0.5 × 10n e representar a aproximação até à casa decimal 10n. Os algarismos da mantissa (com excepção dos zeros à esquerda) designam-se algarismos significativos. Procedimento 1 majoração de ε por um número da forma 0.5 × 10n 2 arredondar x∗ para a casa 10n MIEEC (FEUP) MÉTODOS NUMÉRICOS 28 / 458
  • 29. Erros Valores exacto e aproximado Algarismos significativos e erro relativo x∗ ε Intervalo Alg. significativos ε 2.24 0.005 [2.235, 2.245] 3 2.2 × 10−3 2.240 0.0005 [2.2395, 2.2405] 4 2.2 × 10−4 1.5 × 102 5 [145, 155] 2 3.3 × 10−2 0.1 × 103 50 [50, 150] 1 5 × 10−1 1.00 × 10k 0.005 × 10k [0.995 × 10k , 1.005 × 10k ] 3 5 × 10−3 MIEEC (FEUP) MÉTODOS NUMÉRICOS 29 / 458
  • 30. Erros Valores exacto e aproximado Algarismos significativos e erro relativo Teorema Seja x = 0. Uma aproximação de x com n algarismos significativos tem um erro relativo inferior a 5 × 10−n. MIEEC (FEUP) MÉTODOS NUMÉRICOS 30 / 458
  • 31. Erros Sistemas de vírgula flutuante Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 31 / 458
  • 32. Erros Sistemas de vírgula flutuante Sistemas de vírgula flutuante FP(β, n, m, M) Números representáveis: x = ±(0.d1d2 · · · dn) × βe β base de representação n número de dígitos da mantissa (precisão) m, M expoentes mínimo e máximo (gama representável) Sistema normalizado: x = 0 ∨ d1 = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 32 / 458
  • 33. Erros Sistemas de vírgula flutuante Vírgula flutuante: números representáveis 0 rmin rmax−rmin−rmax gama representávelgama representável underflow overflowoverflow MIEEC (FEUP) MÉTODOS NUMÉRICOS 33 / 458
  • 34. Erros Sistemas de vírgula flutuante Vírgula flutuante: algumas limitações aproximação de números não representáveis → arredondamento → truncatura ⇒ erros de representação x, y ∈ FP x ◦ y ∈ FP ⇒ erros de representação underflow e overflow ⇒ impossibilidade de representação MIEEC (FEUP) MÉTODOS NUMÉRICOS 34 / 458
  • 35. Erros Sistemas de vírgula flutuante Vírgula flutuante Versões do mesmo sistema FP(β, n, m, M) podem diferir: aproximação de números não representáveis tratamento de excepções algoritmos de cálculo . . . Desvantajoso em termos de repetibilidade de resultados portabilidade de código validação de resultados Norma IEEE 754 MIEEC (FEUP) MÉTODOS NUMÉRICOS 35 / 458
  • 36. Erros Aritmética em representações finitas Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 36 / 458
  • 37. Erros Aritmética em representações finitas Aritmética em representações finitas ordem de realização de operações associativas pode influenciar resultado: (a ◦ b) ◦ c ? = a ◦ (b ◦ c) Ex: 1 + 0.24 + 0.14 com 2 dígitos. cancelamento aditivo: a + b com a b ou a b → problemas com somas de muitas parcelas cancelamento subtractivo: a − b com a ≈ b → podem perder-se algarismos significativos → podem conduzir a erros elevados → possível minorar rearranjando cálculos Ex: 1.16 − 1.04 com 2 dígitos. MIEEC (FEUP) MÉTODOS NUMÉRICOS 37 / 458
  • 38. Erros Propagação de erros no cálculo de funções Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 38 / 458
  • 39. Erros Propagação de erros no cálculo de funções Propagação de erros no cálculo de y = f (x) x∗ valor aproximado de x. Como aproximar y = f (x)? Será y∗ = f (x∗) uma boa aproximação? f contínua: x∗ próximo de x ⇒ y∗ próximo de y x x* y* y f MIEEC (FEUP) MÉTODOS NUMÉRICOS 39 / 458
  • 40. Erros Propagação de erros no cálculo de funções Estimação do erro de y∗ = f (x∗) x x* y* y f f de variação lenta x x* y* y f f de variação rápida ∆y∗ = y − y∗ = f (x) − f (x∗) = f (x∗ + ∆x∗) − f (x∗) Majorante para o erro absoluto da aproximação y∗ de y εy = |f ||max · εx MIEEC (FEUP) MÉTODOS NUMÉRICOS 40 / 458
  • 41. Erros Propagação de erros no cálculo de funções Propagação de erros: exemplo Calcular um valor aproximado de y = sin x e o correspondente erro máximo absoluto quando x ≈ 0.57, isto é, x = 0.57 ± 0.005. MIEEC (FEUP) MÉTODOS NUMÉRICOS 41 / 458
  • 42. Erros Propagação de erros no cálculo de funções Erro relativo no cálculo de y = f (x) Majorante para o erro relativo de y∗ = f (x∗) εy = f (x) · x f (x) max · εx xf (x) f (x) designa-se número de condição de f em x. → xf (x) f (x) reduzido: a função diz-se bem condicionada → xf (x) f (x) elevado: a função diz-se mal condicionada MIEEC (FEUP) MÉTODOS NUMÉRICOS 42 / 458
  • 43. Erros Propagação de erros no cálculo de funções Propagação de erros: exemplo Quantos dígitos significativos se podem perder no cálculo da função y = tan(x) quando x está próximo de 1? E quando x está próximo de 1.5? MIEEC (FEUP) MÉTODOS NUMÉRICOS 43 / 458
  • 44. Erros Propagação de erros no cálculo de funções Erro no cálculo de y = f (x1, x2, . . . , xn) x∗ i valor aproximado de xi , com erro máximo absoluto εxi . y∗ = f (x∗ 1 , x∗ 2 , . . . , x∗ n ) aproxima y = f (x1, x2, . . . , xn) com erro máximo absoluto εy = n i=1 ∂f ∂xi max · εxi e erro relativo máximo εy ≤ n i=1 ∂f ∂xi · xi f max · εxi Nota: os máximos são determinados em n i=1[xi − εxi , xi + εxi ] MIEEC (FEUP) MÉTODOS NUMÉRICOS 44 / 458
  • 45. Erros Propagação de erros no cálculo de funções Propagação de erros: exemplos 1 Calcular majorante para o erro absoluto de s = a + b em função dos erros máximos absolutos de a e de b. 2 Calcular o erro máximo relativo w = xyz a partir dos erros máximos relativos em x, y e z. MIEEC (FEUP) MÉTODOS NUMÉRICOS 45 / 458
  • 46. Erros Erro no cálculo de séries Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 46 / 458
  • 47. Erros Erro no cálculo de séries Cálculo de séries: erro de truncatura Quando se aproxima a série S = ∞ i=0 ai pela soma finita Sn = n i=0 ai aparece o erro de truncatura Rn = S − Sn MIEEC (FEUP) MÉTODOS NUMÉRICOS 47 / 458
  • 48. Erros Erro no cálculo de séries Erro de truncatura em séries alternadas Teorema Seja a sucessão {an}∞ n=0 decrescente e de termos não negativos, isto é, a0 ≥ a1 ≥ . . . ≥ an ≥ . . . ≥ 0. Estão a série ∞ i=0(−1)i ai é convergente para um número S. Verifica-se ainda que a soma parcial Sn = n i=0(−1)i ai satisfaz |S − Sn| ≤ an+1, ou seja, o erro de truncatura é, em valor absoluto, inferior ou igual ao primeiro termo não considerado. MIEEC (FEUP) MÉTODOS NUMÉRICOS 48 / 458
  • 49. Erros Erro no cálculo de séries Erro de truncatura: exemplo de série alternada A série alternada 1 − 1 3 + 1 5 − 1 7 + 1 9 − · · · é convergente para o valor π 4 . Determinar quantos termos são necessários para calcular este valor com um erro inferior a 10−4. MIEEC (FEUP) MÉTODOS NUMÉRICOS 49 / 458
  • 50. Erros Erro no cálculo de séries Série de Taylor: erro de truncatura Desenvolvimento de Taylor da função f em torno de x0 f (x) = f (x0) + f (x0)(x − x0) + · · · + f (n) (x0) (x − x0)n n! +Rx0,n(x) Px0,n(x) onde Rx0,n(x) = f (n+1)(x0 + (x − x0)θ)(x−x0)n+1 (n+1)! , θ ∈ [0, 1]. O erro de truncatura de f (x) ≈ Px0,n(x) é Rx0,n(x). Este desenvolvimento pode ser utilizado para o cálculo de funções como sin, cos, exp, . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 50 / 458
  • 51. Erros Erro no cálculo de séries Erro de truncatura: exemplo Pretende-se aproximar a função ex no intervalo [−2, 2] por um polinómio de Taylor. Qual deverá ser o grau do polinómio se se pretender que o erro absoluto devido à truncatura da série seja inferior a 5 × 10−5? MIEEC (FEUP) MÉTODOS NUMÉRICOS 51 / 458
  • 52. Erros Exercícios Vamos agora ver ... 1 Erros Valores exacto e aproximado Sistemas de vírgula flutuante Aritmética em representações finitas Propagação de erros no cálculo de funções Erro no cálculo de séries Exercícios 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial MIEEC (FEUP) MÉTODOS NUMÉRICOS 52 / 458
  • 53. Erros Exercícios Exercício: aritmética finita A precisão de uma máquina pode ser avaliada determinando o valor δ > 0 tal que o resultado da operação 1 + ε seja igual 1, para todo o |ε| ≤ δ. Estime o valor de δ da sua calculadora. MIEEC (FEUP) MÉTODOS NUMÉRICOS 53 / 458
  • 54. Erros Exercícios Exercício: propagação de erros Considere a relação t = cos(x) y + e−yz. (a) Determine um valor aproximado de t e um majorante para o erro absoluto quando x = 1.3, sendo este valor exacto, y = 0.25 ± 4%, z = 1.7 ± 3 × 10−1 . (b) Quantos algarismos significativos se podem perder no cálculo de t, quando x = π 2 e y = 3 (valores exactos) e z está próximo de 4? Nota: exame de 23/Jan/2002. MIEEC (FEUP) MÉTODOS NUMÉRICOS 54 / 458
  • 55. Erros Exercícios Exercício: erro de truncatura Pretende-se calcular a função sin(x) no intervalo [−π 4 , π 4 ] recorrendo a um polinómio de Taylor. Qual deverá ser o polinómio de modo a que o erro relativo, devido à truncatura da série de Taylor, seja inferior a 5 × 10−8 ? MIEEC (FEUP) MÉTODOS NUMÉRICOS 55 / 458
  • 56. Equações não Lineares Um novo capítulo ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes 8 Sistemas de equações lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 56 / 458
  • 57. Equações não Lineares 2. Equações não lineares Como se calcula a solução da equação e−x = x? Quais são as raízes do polinómio x5 + 2x4 − x3 + x − 1? Com que rapidez podemos resolver estes problemas? ... MIEEC (FEUP) MÉTODOS NUMÉRICOS 57 / 458
  • 58. Equações não Lineares Equações não lineares ou zeros de funções Problema Dada uma função f determinar s tal que f (s) = 0. x f(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 58 / 458
  • 59. Equações não Lineares Métodos de resolução Directos soluções determinadas por expressões envolvendo f fornecem soluções exactas (usando precisão infinita) aplicáveis apenas a alguns tipos de problemas → Exemplo: fórmula resolvente de equações do 2o grau Iterativos geram sucessões de soluções aproximadas aplicáveis a uma vasta gama de problemas MIEEC (FEUP) MÉTODOS NUMÉRICOS 59 / 458
  • 60. Equações não Lineares Métodos iterativos: funcionamento estimativa inicial x0 : f (x0) = 0 1a iteração ↓ x1 : f (x1) = 0 2a iteração ↓ x2 : f (x2) = 0 ↓ ... iteração n ↓ xn : f (xn) ≈ 0 x0, x1, . . . , xn, . . . → s, onde f (s) = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 60 / 458
  • 61. Equações não Lineares Métodos iterativos: implementação definir_estimativa_inicial; repetir calcular_nova_estimativa; até verificar_critério_paragem; MIEEC (FEUP) MÉTODOS NUMÉRICOS 61 / 458
  • 62. Equações não Lineares Métodos iterativos: questões a considerar 1 estimativa inicial como escolher x0? 2 convergência de {xn} é convergente? converge para uma solução? 3 critério de paragem xn próximo de s? f (xn) próximo de 0? número de iterações? 4 rapidez de convergência quantas iterações são necessárias? MIEEC (FEUP) MÉTODOS NUMÉRICOS 62 / 458
  • 63. Equações não Lineares Determinação de estimativa inicial Aplicando um método iterativo calcula-se um zero Múltiplos zeros ⇒ múltiplas aplicações de métodos iterativos ⇒ estimativas iniciais próximas dos zeros (ou intervalos contendo cada zero) Localização (ou separação) de zeros → cálculo de valores → estudo do gráfico → análise de propriedades MIEEC (FEUP) MÉTODOS NUMÉRICOS 63 / 458
  • 64. Equações não Lineares Localização de zeros: cálculo de valores Varrimento de um intervalo [a, b] em n subintervalos 1 definir passo h = b−a n 2 calcular f nos pontos xi = a + ih, i = 0, . . . n 3 se f (xi )f (xi+1) < 0 então ∃ zero de f em [xi , xi+1] Características aplicação geral simples de automatizar possibilidade de falhar zeros ⇒ ajustar passo h . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 64 / 458
  • 65. Equações não Lineares Localização de zeros: métodos gráficos xs1 s2 s3 f(x) O gráfico de f pode ser obtido estudando as propriedades de f utilizando meios computacionais MIEEC (FEUP) MÉTODOS NUMÉRICOS 65 / 458
  • 66. Equações não Lineares Localização de zeros: métodos gráficos Transformação de f (x) = 0 em g(x) = h(x) Estudos das intersecções dos gráficos de g e h xs1 s2 g(x) h(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 66 / 458
  • 67. Equações não Lineares Localização de zeros: métodos analíticos ⇒ Monotonia de f ⇒ Números de Rolle de f : D → R pontos fronteira de D zeros da função f Teorema Se f é estritamente monótona em [a, b], então f tem no máximo um zero em [a, b]. Teorema Se f é diferenciável, então entre dois números de Rolle consecutivos f tem no máximo um zero. MIEEC (FEUP) MÉTODOS NUMÉRICOS 67 / 458
  • 68. Equações não Lineares Localização de zeros: exemplos 1 Utilizando métodos gráficos localize os zeros de 1 f (x) = x2 + sin(x) − 1 2 f (x) = ex ln(x) − 1 2 Utilizando os números de Rolle localize os zeros de 1 f (x) = ex − 3x 2 f (x) = x3 − 3x + 1 MIEEC (FEUP) MÉTODOS NUMÉRICOS 68 / 458
  • 69. Equações não Lineares Estimação do erro Teorema f continuamente diferenciável em [a, b] tal que m1 = min ξ∈[a,b] |f (ξ)| > 0. Seja s ∈ [a, b] tal que f (s) = 0. Então |s − x| ≤ |f (x)| m1 ∀x ∈ [a, b]. Critério de paragem Parando o método quando |f (xk)| ≤ δ garante-se que |xk − s| ≤ δ m1 MIEEC (FEUP) MÉTODOS NUMÉRICOS 69 / 458
  • 70. Equações não Lineares Método das bissecções sucessivas Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 70 / 458
  • 71. Equações não Lineares Método das bissecções sucessivas Método das bissecções sucessivas Descrição Parte-se de um intervalo tal que a função tenha sinais contrários nos seus extremos. Divide-se o intervalo a meio, escolhe-se o subintervalo onde a função tem sinais con- trários nos extremos e assim sucessivamente. x a x1 b f(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 71 / 458
  • 72. Equações não Lineares Método das bissecções sucessivas Bissecções sucessivas: algoritmo Inicialização [a0, b0] = [a, b] Repetir 1. xn+1 = an+bn 2 ; 2. Se f (xn+1)f (an) < 0 Então an+1 = an; bn+1 = xn+1; Senão an+1 = xn+1; bn+1 = bn; Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 72 / 458
  • 73. Equações não Lineares Método das bissecções sucessivas Bissecções sucessivas: convergência Teorema Seja f contínua em [a, b] tal que f (a)f (b) ≤ 0 e seja s o único zero de f nesse intervalo. Então o método das bissecções sucessivas gera uma sucessão que converge para s. MIEEC (FEUP) MÉTODOS NUMÉRICOS 73 / 458
  • 74. Equações não Lineares Método das bissecções sucessivas Bissecções sucessivas: estimação do erro x1 = a + b 2 ⇒ |s − x1| ≤ b − a 2 x2 = a1 + b1 2 ⇒ |s − x2| ≤ b1 − a1 2 = b − a 22 ... xn = an−1 + bn−1 2 ⇒ |s − xn| ≤ bn−1 − an−1 2 = b − a 2n n ≥ log2 b − a δ ⇒ |s − xn| ≤ δ MIEEC (FEUP) MÉTODOS NUMÉRICOS 74 / 458
  • 75. Equações não Lineares Método das bissecções sucessivas Bissecções sucessivas: exemplo Determinar, com um erro absoluto inferior a 5 × 10−3, a (única) solução da equação 1 + x + ex = 0 que se sabe estar no intervalo [−2, −1]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 75 / 458
  • 76. Equações não Lineares Método das bissecções sucessivas Bissecções sucessivas: exemplo n an f (an) bn f (bn) xn+1 f (xn+1) 0 −2.000 −0.865 −1.000 +0.368 −1.500 −0.277 1 −1.500 −0.277 −1.000 +0.368 −1.250 +0.037 2 −1.500 −0.277 −1.250 +0.037 −1.375 −0.122 3 −1.375 −0.122 −1.250 +0.037 −1.313 −0.043 4 −1.313 −0.043 −1.250 +0.037 −1.281 −0.004 5 −1.281 −0.004 −1.250 +0.037 −1.266 +0.016 6 −1.281 −0.004 −1.266 +0.016 −1.273 +0.006 7 −1.281 −0.004 −1.273 +0.006 −1.277 +0.001 Solução: s = −1.277 ± 4 × 10−3 ou s ∈ [−1.281, −1.273] MIEEC (FEUP) MÉTODOS NUMÉRICOS 76 / 458
  • 77. Equações não Lineares Método da falsa posição Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 77 / 458
  • 78. Equações não Lineares Método da falsa posição Método da falsa posição (regula falsi) Semelhante ao método das bissecções suces- sivas, mas com o cálculo de xn+1 dado por xn+1 = anf (bn) − bnf (an) f (bn) − f (an) Este ponto corresponde à intersecção com o eixo dos xx da recta que une os pontos (an, f (an)) e (bn, f (bn)). xan xn+1 bn f(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 78 / 458
  • 79. Equações não Lineares Método da falsa posição Falsa posição: algoritmo Inicialização [a0, b0] = [a, b] Repetir 1. xn+1 = anf (bn)−bnf (an) f (bn)−f (an) ; 2. Se f (xn+1)f (an) < 0 Então an+1 = an; bn+1 = xn+1; Senão an+1 = xn+1; bn+1 = bn; Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 79 / 458
  • 80. Equações não Lineares Método da falsa posição Falsa posição: estimação do erro Teorema Seja f continuamente diferenciável em [a, b] e tal que f (a)f (b) ≤ 0. Sejam m1 = minξ∈[a,b] |f (ξ)| > 0 e M1 = maxξ∈[a,b] |f (ξ)|. Então, o erro de aproximação de s, único zero de f em [a, b], pela estimativa xn+1 satisfaz a relação |s − xn+1| ≤ M1 − m1 m1 |xn+1 − xn|. Critério de paragem εn+1 = M1 − m1 m1 |xn+1 − xn| ≤ δ ⇒ |s − xn+1| ≤ δ MIEEC (FEUP) MÉTODOS NUMÉRICOS 80 / 458
  • 81. Equações não Lineares Método da falsa posição Falsa posição: exemplo 1 Utilizar o método da falsa posição para determinar, com um erro absoluto inferior a 5 × 10−3, o (único) zero da função f (x) = 1 + x + ex . MIEEC (FEUP) MÉTODOS NUMÉRICOS 81 / 458
  • 82. Equações não Lineares Método da falsa posição Falsa posição: exemplo 1 n an f (an) bn f (bn) xn+1 f (xn+1) εn+1 0 −2.000 −0.865 −1.000 +0.368 −1.298 −2.55 × 10−2 1.4 × 10−1 1 −1.298 −0.026 −1.000 +0.368 −1.279 −8.22 × 10−4 4.0 × 10−3 Solução: s −1.279, com erro absoluto máximo de 4.0 × 10−3 MIEEC (FEUP) MÉTODOS NUMÉRICOS 82 / 458
  • 83. Equações não Lineares Método da falsa posição Falsa posição: exemplo 2 Determinar o zero de f (x) = x + ex5 − 5 em [0, 1.3] 1.3 x1 x2 x3 s MIEEC (FEUP) MÉTODOS NUMÉRICOS 83 / 458
  • 84. Equações não Lineares Método da falsa posição Falsa posição: exemplo 2 n an f (an) bn f (bn) xn+1 f (xn+1) εn+1 0 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.87 1 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.76 2 +0.237 −3.763 +1.300 +37.274 +0.334 −3.66 +3.66 3 +0.334 −3.662 +1.300 +37.274 +0.420 −3.57 +3.57 4 +0.420 −3.566 +1.300 +37.274 +0.497 −3.47 +3.47 5 +0.497 −3.472 +1.300 +37.274 +0.566 −3.37 +3.37 · · · · · · · · · · · · · · · · · · · · · · · · 50 +1.065 −0.008 +1.300 +37.274 +1.065 −6.64 × 10−3 +6.64 × 10−3 51 +1.065 −0.007 +1.300 +37.274 +1.065 −5.54 × 10−3 +5.54 × 10−3 52 +1.065 −0.006 +1.300 +37.274 +1.065 −4.63 × 10−3 +4.63 × 10−3 MIEEC (FEUP) MÉTODOS NUMÉRICOS 84 / 458
  • 85. Equações não Lineares Método da falsa posição Falsa posição: exemplo 2 O método das bissecções sucessivas aplicado a este problema garante o mesmo erro máximo em 9 iterações! n an f (an) bn f (bn) xn+1 f (xn+1) 0 +0.000 −4.000 +1.300 +37.274 +0.650 −3.227 1 +0.650 −3.227 +1.300 +37.274 +0.975 −1.611 2 +0.975 −1.611 +1.300 +37.274 +1.138 +2.853 3 +0.975 −1.611 +1.138 +2.853 +1.056 −0.220 4 +1.056 −0.220 +1.138 +2.853 +1.097 +0.990 5 +1.056 −0.220 +1.097 +0.990 +1.077 +0.323 6 +1.056 −0.220 +1.077 +0.323 +1.066 +0.038 7 +1.056 −0.220 +1.066 +0.038 +1.061 −0.094 8 +1.061 −0.094 +1.066 +0.038 +1.064 −0.029 MIEEC (FEUP) MÉTODOS NUMÉRICOS 85 / 458
  • 86. Equações não Lineares Método da falsa posição Falsa posição: convergência Teorema Se f for estritamente monótona e duplamente diferenciável em [a, b], se f (a)f (b) ≤ 0 e se o sinal de f não variar em [a, b], então a sucessão produzida pelo método da falsa posição converge monotonamente para o zero de f nesse intervalo. Também se verifica que um dos extremos do intervalo permanece inalterado. MIEEC (FEUP) MÉTODOS NUMÉRICOS 86 / 458
  • 87. Equações não Lineares Método da falsa posição Falsa posição modificado Fb x1 x2 Fb/2 x3 Fb/4 x4 MIEEC (FEUP) MÉTODOS NUMÉRICOS 87 / 458
  • 88. Equações não Lineares Método da falsa posição Falsa posição modificado: convergência Teorema Se f é contínua, estritamente monótona e tiver sinais contrários nos extremos de um intervalo [a, b], a sucessão produzida pelo método da falsa posição modificado converge para o zero de f em [a, b]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 88 / 458
  • 89. Equações não Lineares Método da falsa posição Falsa posição modificado: algoritmo Inicialização [a0, b0] = [a, b]; Fa = f (a0); Fb = f (b0) Repetir 1. xn+1 = anFb−bnFa Fb−Fa ; 2. Se f (xn+1)f (an) < 0 Então an+1 = an; bn+1 = xn+1; Fb = f (xn+1); Se f (xn+1)f (xn) > 0 Então Fa = Fa 2 ; Senão an+1 = xn+1; bn+1 = bn; Fa = f (xn+1); Se f (xn+1)f (xn) > 0 Então Fb = Fb 2 ; Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 89 / 458
  • 90. Equações não Lineares Método da falsa posição Falsa posição modificado: exemplo Determinar, com um erro absoluto inferior a 5 × 10−3 o zero de f (x) = x + ex5 − 5 no intervalo [0, 1.3]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 90 / 458
  • 91. Equações não Lineares Método da falsa posição Falsa posição modificado: exemplo n an Fa bn Fb xn+1 f (xn+1) εn+1 0 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.87 1 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.76 2 +0.237 −3.763 +1.300 +18.637 +0.415 −3.57 +3.57 3 +0.415 −3.572 +1.300 +9.318 +0.660 −3.21 +3.21 4 +0.660 −3.206 +1.300 +4.659 +0.921 −2.14 +2.14 5 +0.921 −2.138 +1.300 +2.330 +1.102 +1.20 +1.20 6 +0.921 −2.138 +1.102 +1.198 +1.037 −6.39 × 10−1 +6.39 × 10−1 7 +1.037 −0.639 +1.102 +1.198 +1.060 −1.29 × 10−1 +1.29 × 10−1 8 +1.060 −0.129 +1.102 +0.599 +1.067 +6.65 × 10−2 +6.65 × 10−2 9 +1.060 −0.129 +1.067 +0.066 +1.065 −1.61 × 10−3 +1.61 × 10−3 MIEEC (FEUP) MÉTODOS NUMÉRICOS 91 / 458
  • 92. Equações não Lineares Método iterativo simples Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 92 / 458
  • 93. Equações não Lineares Método iterativo simples Método iterativo simples 1 Reescrever f (x) = 0 da forma equivalente x = F(x) 2 Escolher estimativa inicial x0 3 Gerar a sucessão xn+1 = F(xn), n = 0, 1, . . . → F designa-se função de recorrência → s : F(s) = s designa-se ponto fixo de F MIEEC (FEUP) MÉTODOS NUMÉRICOS 93 / 458
  • 94. Equações não Lineares Método iterativo simples Método iterativo simples y = F(x) y = x x0 F(x0) x1 F(x1) x2 F(x2) s MIEEC (FEUP) MÉTODOS NUMÉRICOS 94 / 458
  • 95. Equações não Lineares Método iterativo simples Método iterativo simples: algoritmo Inicialização Escolher x0 Repetir xn+1 = F(xn) Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 95 / 458
  • 96. Equações não Lineares Método iterativo simples Método iterativo simples: comportamento xx2x1x0 s y = F(x) y = x Convergência monótona MIEEC (FEUP) MÉTODOS NUMÉRICOS 96 / 458
  • 97. Equações não Lineares Método iterativo simples Método iterativo simples: comportamento xx1x2x0 s y = F(x) y = x Convergência “alternada” MIEEC (FEUP) MÉTODOS NUMÉRICOS 97 / 458
  • 98. Equações não Lineares Método iterativo simples Método iterativo simples: comportamento xx2x0 x1s y = F(x) y = x Divergência MIEEC (FEUP) MÉTODOS NUMÉRICOS 98 / 458
  • 99. Equações não Lineares Método iterativo simples Método iterativo simples: convergência Teorema Se F é continuamente diferenciável em [a, b], maxx∈[a,b] |F (x)| < 1 e existe s ∈ [a, b] tal que s = F(s), então, para qualquer valor inicial x0 ∈ [a, b], a sucessão gerada o método iterativo simples converge para s (s será único! porquê?). MIEEC (FEUP) MÉTODOS NUMÉRICOS 99 / 458
  • 100. Equações não Lineares Método iterativo simples Método iterativo simples: erro Majoração do erro |xn+1 − s| ≤ 1 − L L |xn+1 − xn| Critério de paragem εn+1 = 1 − L L |xn+1 − xn| ≤ δ ⇒ |xn+1 − s| ≤ δ MIEEC (FEUP) MÉTODOS NUMÉRICOS 100 / 458
  • 101. Equações não Lineares Método iterativo simples Método iterativo simples: exemplo Determinar, com um erro absoluto inferior a 5 × 10−5, o zero da função f (x) = 1 + x + ex no intervalo [−2, −1]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 101 / 458
  • 102. Equações não Lineares Método iterativo simples Método iterativo simples: exemplo n xn xn+1 = F(xn) εn+1 0 −2.00000 −1.13534 +5.0 × 10−1 1 −1.13534 −1.32131 +1.1 × 10−1 2 −1.32131 −1.26678 +3.2 × 10−2 3 −1.26678 −1.28174 +8.7 × 10−3 4 −1.28174 −1.27756 +2.4 × 10−3 5 −1.27756 −1.27872 +6.8 × 10−4 6 −1.27872 −1.27839 +1.9 × 10−4 7 −1.27839 −1.27848 +5.2 × 10−5 8 −1.27848 −1.27846 +1.5 × 10−5 MIEEC (FEUP) MÉTODOS NUMÉRICOS 102 / 458
  • 103. Equações não Lineares Método de Newton Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 103 / 458
  • 104. Equações não Lineares Método de Newton Método de Newton f (x) s x0x1x2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 104 / 458
  • 105. Equações não Lineares Método de Newton Método de Newton: algoritmo Inicialização Escolher x0 Repetir xn+1 = xn − f (xn) f (xn) Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 105 / 458
  • 106. Equações não Lineares Método de Newton Método de Newton: divergência xx2x1 x0s y = f(x) Anulamento da derivada MIEEC (FEUP) MÉTODOS NUMÉRICOS 106 / 458
  • 107. Equações não Lineares Método de Newton Método de Newton: divergência xx2 x1 x0s y = f(x) Mudança de concavidade MIEEC (FEUP) MÉTODOS NUMÉRICOS 107 / 458
  • 108. Equações não Lineares Método de Newton Método de Newton: convergência Teorema Seja f ∈ C2([a, b]; R) tal que f (x) = 0, e f (x) ≤ 0 ou f (x) ≥ 0 em [a, b]. Seja ainda s o (único) zero de f em [a, b]. Então a sucessão gerada pelo método de Newton converge para s sempre que o ponto inicial x0 ∈ [a, b] satisfizer f (x0)f (x0) ≥ 0. Mais ainda, a sucessão gerada é monótona. MIEEC (FEUP) MÉTODOS NUMÉRICOS 108 / 458
  • 109. Equações não Lineares Método de Newton Método de Newton: erro Majoração do erro |xn+1 − s| ≤ M2 2m1 |xn+1 − xn|2 Critério de paragem εn+1 = M2 2m1 |xn+1 − xn|2 ≤ δ ⇒ |xn+1 − s| ≤ δ MIEEC (FEUP) MÉTODOS NUMÉRICOS 109 / 458
  • 110. Equações não Lineares Método de Newton Método de Newton: exemplo Determinar, com um erro absoluto inferior a 5 × 10−6, o zero da função f (x) = 1 + x + ex , que se sabe estar no intervalo [−2, −1]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 110 / 458
  • 111. Equações não Lineares Método de Newton Método de Newton: exemplo n xn f (xn) f (xn) xn+1 εn+1 0 −1.00000 +3.68 × 10−1 +1.368 −1.26894 +1.2 × 10−1 1 −1.26894 +1.22 × 10−2 +1.281 −1.27845 +1.5 × 10−5 2 −1.27845 +1.27 × 10−5 +1.278 −1.27846 +1.6 × 10−11 Solução: s −1.27846 (todos os algarismos exactos) MIEEC (FEUP) MÉTODOS NUMÉRICOS 111 / 458
  • 112. Equações não Lineares Método de Newton Método de Newton: convergência (2) Teorema Sejam f ∈ C2([a, b]; R) e s um zero de f em [a, b] tal que f (s) = 0. Então existe δ > 0 tal que a sucessão {xn} gerada pelo método de Newton converge para s sempre que x0 ∈ [s − δ, s + δ]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 112 / 458
  • 113. Equações não Lineares Método da Secante Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 113 / 458
  • 114. Equações não Lineares Método da Secante Método da secante Semelhante ao método de Newton Tangente ao gráfico substituída pela secante nos dois últimos pontos xxn-1xn+1 xns y = f(x) xn+1 = xn−1f (xn) − xnf (xn−1) f (xn) − f (xn−1) MIEEC (FEUP) MÉTODOS NUMÉRICOS 114 / 458
  • 115. Equações não Lineares Método da Secante Método da secante: algoritmo Inicialização Escolher x−1 e x0 Repetir xn+1 = xn−1f (xn) − xnf (xn−1) f (xn) − f (xn−1) Até verificar critério de paragem MIEEC (FEUP) MÉTODOS NUMÉRICOS 115 / 458
  • 116. Equações não Lineares Método da Secante Método da secante: convergência Teorema Seja f ∈ C2([a, b]; R) tal que f (x) = 0, e f (x) ≤ 0 ou f (x) ≥ 0 em [a, b]. Seja ainda s o (único) zero de f em [a, b]. Então a sucessão gerada pelo método da secante converge para s sempre que os pontos iniciais x−1, x0 ∈ [a, b] satisfizerem f (x−1)f (x−1) ≥ 0 e f (x0)f (x0) ≥ 0. Mais ainda, a sucessão gerada é monótona. MIEEC (FEUP) MÉTODOS NUMÉRICOS 116 / 458
  • 117. Equações não Lineares Método da Secante Método da secante: erro Majoração do erro |xn+1 − s| ≤ M2 2m1 |xn+1 − xn| · |xn+1 − xn−1| Critério de paragem εn+1 = M2 2m1 |xn+1 − xn| · |xn+1 − xn−1| ≤ δ ⇒ |xn+1 − s| ≤ δ MIEEC (FEUP) MÉTODOS NUMÉRICOS 117 / 458
  • 118. Equações não Lineares Método da Secante Método da secante: exemplo Determinar, com um erro absoluto inferior a 5 × 10−6, o (único) zero da função f (x) = 1 + x + ex , que se sabe estar no intervalo [−2, −1]. MIEEC (FEUP) MÉTODOS NUMÉRICOS 118 / 458
  • 119. Equações não Lineares Método da Secante Método da secante: exemplo n xn−1 xn xn+1 f (xn+1) εn+1 0 −1.00000 −1.10000 −1.27249 +7.65 × 10−3 7.6 × 10−3 1 −1.10000 −1.27249 −1.27834 +1.55 × 10−4 1.7 × 10−4 2 −1.27249 −1.27834 −1.27846 +1.01 × 10−7 1.2 × 10−7 Solução: s −1.27846 (com todos os algarismos exactos) MIEEC (FEUP) MÉTODOS NUMÉRICOS 119 / 458
  • 120. Equações não Lineares Ordem de convergência: definição Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 120 / 458
  • 121. Equações não Lineares Ordem de convergência: definição Ordem de convergência dum método iterativo Considere um método iterativo tal que: função de recorrência: F ponto fixo: s (s = F(s)) F (s) = F (s) = . . . = F(p−1)(s) = 0 F(p)(s) = 0 xn+1 = F(xn) xn → s o método têm convergência de ordem p MIEEC (FEUP) MÉTODOS NUMÉRICOS 121 / 458
  • 122. Equações não Lineares Ordem de convergência: definição Ordem de convergência ∆n+1 ∝ ∆n p p = 1 → convergência linear ou de 1a ordem p = 2 → convergência quadrática ou de 2a ordem MIEEC (FEUP) MÉTODOS NUMÉRICOS 122 / 458
  • 123. Equações não Lineares Ordem de convergência: definição Ordem de convergência: justificação O desenvolvimento em série de F em torno de s F(xn) =F(s) + F (s)(xn − s) + . . . +F(p−1) (s)(xn − s)p−1 /(p − 1)!+ +F(p) (ξ)(xn − s)p /p! = s + F(p) (ξ)(xn − s)p /p! Seja ∆n = s − xn, obtemos |∆n+1| = |xn+1 − s| = |F(xn) − s| = F(p)(ξ) p! ∆p n ou seja ∆n+1 ∝ ∆n p MIEEC (FEUP) MÉTODOS NUMÉRICOS 123 / 458
  • 124. Equações não Lineares Ordem de convergência: definição Ordem de convergência: exemplo Considere dois métodos iterativos A e B, para os quais se tem ∆n+1 = 10−2∆n e ∆n+1 = ∆2 n, respectivamente. Se em ambos os casos se tiver ∆0 = 10−1, determine a evolução do erro para as primeiras 6 iterações de cada método. MIEEC (FEUP) MÉTODOS NUMÉRICOS 124 / 458
  • 125. Equações não Lineares Ordem de convergência: definição Ordem de convergência: exemplo n ∆n(mét. A) ∆n(mét. B) 0 10−1 10−1 1 10−3 10−2 2 10−5 10−4 3 10−7 10−8 4 10−9 10−16 5 10−11 10−32 6 10−13 10−64 MIEEC (FEUP) MÉTODOS NUMÉRICOS 125 / 458
  • 126. Equações não Lineares Ordem de convergência: definição Método iterativo simples: convergência linear 1 + x + ex = 0, x ∈ [−2, −1] ⇒ x = F(x) = −1 − ex n xn xn+1 = F(xn) ∆n+1 ∆n+1/∆n 0 −2.00000 −1.13534 −1.4 × 10−1 − 1 −1.13534 −1.32131 +4.3 × 10−2 −0.299 2 −1.32131 −1.26678 −1.2 × 10−2 −0.273 3 −1.26678 −1.28174 +3.3 × 10−3 −0.280 4 −1.28174 −1.27756 −9.1 × 10−4 −0.278 5 −1.27756 −1.27872 +2.5 × 10−4 −0.279 6 −1.27872 −1.27839 −7.1 × 10−5 −0.278 7 −1.27839 −1.27848 +2.0 × 10−5 −0.278 8 −1.27848 −1.27846 −5.5 × 10−6 −0.278 F (x) = −ex F (−1.27846) = −0.27846 MIEEC (FEUP) MÉTODOS NUMÉRICOS 126 / 458
  • 127. Equações não Lineares Ordem de convergência: definição Método de Newton: convergência quadrática 1 + x + ex = 0, x ∈ [−2, −1] n xn f (xn) f (xn) xn+1 ∆n+1 ∆n+1/∆2 n 0 −1.00000 +3.68 × 10−1 +1.368 −1.26894 −9.5 × 10−3 − 1 −1.26894 +1.22 × 10−2 +1.281 −1.27845 −9.9 × 10−6 −0.1094 2 −1.27845 +1.27 × 10−5 +1.278 −1.27846 −1.1 × 10−11 −0.1089 MIEEC (FEUP) MÉTODOS NUMÉRICOS 127 / 458
  • 128. Equações não Lineares Ordem de convergência: definição Método de Newton: convergência quadrática A função de recorrência neste método é F(x) = x − f (x)/f (x) A primeira derivada F (x) = 1 − [f (x)]2 − f (x)f (x) [f (x)]2 Como f (s) = 0, temos que F (s) = 0. A 2a derivada F (s) = . . . = f (s) f (s) é em geral não nula. Logo o método é de 2a ordem. MIEEC (FEUP) MÉTODOS NUMÉRICOS 128 / 458
  • 129. Equações não Lineares Ordem de convergência: definição Ordem de convergência duma sucessão {en} convergente para 0. Se existirem p, K > 0 tais que lim n→+∞ |en+1| |en|p = K diz-se que {en} tem ordem de convergência p. n elevado ⇒ |en+1| K|en|p p = 1 → convergência linear p > 1 → convergência supralinear p = 2 → convergência quadrática MIEEC (FEUP) MÉTODOS NUMÉRICOS 129 / 458
  • 130. Equações não Lineares Ordem de convergência: definição Ordem de convergência: método da secante Teorema Nas condições suficientes apresentadas para a convergência do método da secante, pode ainda afirmar-se que sucessão dos erros de aproximação gerada por este método tem convergência de ordem 1 + √ 5 2 (≈ 1.618). MIEEC (FEUP) MÉTODOS NUMÉRICOS 130 / 458
  • 131. Equações não Lineares Ordem de convergência: definição Método da secante: ordem de convergência 1 + x + ex = 0, x ∈ [−2, −1] n xn−1 xn xn+1 f (xn+1) εn+1 εn+1/εp n 0 −1.00000 −1.10000 −1.27249 +7.65 × 10−3 +1.5 × 10−1 − 1 −1.10000 −1.27249 −1.27834 +1.55 × 10−4 +2.1 × 10−2 0.479 2 −1.27249 −1.27834 −1.27846 +1.01 × 10−7 +5.0 × 10−4 0.255 3 −1.27834 −1.27846 −1.27846 +1.33 × 10−12 +1.7 × 10−6 0.377 4 −1.27846 −1.27846 −1.27846 +1.33 × 10−12 +1.4 × 10−10 0.296 5 −1.27846 −1.27846 −1.27846 +1.33 × 10−12 +4.0 × 10−17 0.344 p = 1+ √ 5 2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 131 / 458
  • 132. Equações não Lineares Raízes de Polinómios Vamos agora ver ... 1 Erros 2 Equações não Lineares Método das bissecções sucessivas Método da falsa posição Método iterativo simples Método de Newton Método da Secante Ordem de convergência: definição Raízes de Polinómios 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomialMIEEC (FEUP) MÉTODOS NUMÉRICOS 132 / 458
  • 133. Equações não Lineares Raízes de Polinómios Raízes de polinómios p(x) → polinómio de coeficientes reais de grau n p(x) = anxn + an−1xn−1 + · · · + a1x + a0, ai ∈ R ∧ an = 0 Teorema O polinómio p(x) tem n raízes (contando com a multiplicidade). Estas raízes podem ser reais ou complexas, caso em quem surgem em pares conjugados. Teorema Sejam r1, r2, . . . , rn as n raízes do polinómio de grau n p(x). Então, p(x) pode ser escrito como p(x) = an(x − r1)(x − r2) · · · (x − rn) MIEEC (FEUP) MÉTODOS NUMÉRICOS 133 / 458
  • 134. Equações não Lineares Raízes de Polinómios Polinómios: Regra de Ruffini p(x) = (x − s)q(x) + r onde q(x) = bn−1xn−1 + . . . + b1x + b0 é o quociente r ∈ C é o resto an an−1 . . . a1 a0 s sbn−1 . . . sb1 sb0 bn−1 bn−2 . . . b0 || r MIEEC (FEUP) MÉTODOS NUMÉRICOS 134 / 458
  • 135. Equações não Lineares Raízes de Polinómios Polinómios: “Regra de Ruffini” generalizada Generalizando, p(x) = (x2 − αx − β)q(x) + (rx + s), onde q(x) = bn−2xn−2 + . . . + b1x + b0 é o quociente rx + s é o resto an an−1 an−2 . . . a2 a1 a0 β βbn−2 . . . βb2 βb1 βb0 α αbn−2 αbn−3 . . . αb1 αb0 bn−2 bn−3 bn−4 . . . b0 || r s MIEEC (FEUP) MÉTODOS NUMÉRICOS 135 / 458
  • 136. Equações não Lineares Raízes de Polinómios Localização de raízes de polinómios Regra dos sinais de Descartes I O número de raízes reais positivas do polinómio p(x) é igual, ou menor pela diferença de um número par, ao número de mudanças de sinal dos seus coeficientes não nulos. Regra dos sinais de Descartes II O número de raízes reais negativas do polinómio p(x) é igual, ou menor pela diferença de um número par, ao número de mudanças de sinal dos coeficientes não nulos de p(−x). MIEEC (FEUP) MÉTODOS NUMÉRICOS 136 / 458
  • 137. Equações não Lineares Raízes de Polinómios Localização de raízes de polinómios Exemplo: p(x) = x5 − 5x4 + 10x3 − 6x2 − 12x + 16 tem 4 mudanças de sinal p(−x) = −x5 − 5x4 − 10x3 − 6x2 + 12x + 16 tem uma mudança de sinal. Logo as raizes do polinómio serão: 1 real negativa e 4 reais positiva, ou 1 real negativa, 2 reais positivas e 2 complexas, ou 1 real negativa, 0 reais positivas, 4 complexas. MIEEC (FEUP) MÉTODOS NUMÉRICOS 137 / 458
  • 138. Equações não Lineares Raízes de Polinómios Localização de raízes de polinómios Teorema Todos os zeros do polinómio p(x) situam-se no interior do círculo (no plano complexo) centrado na origem e de raio 1 + max 0≤k≤n−1 ak an MIEEC (FEUP) MÉTODOS NUMÉRICOS 138 / 458
  • 139. Equações não Lineares Raízes de Polinómios Polinómios: determinação de todas as raízes Conhecendo k raízes r1, . . . , rk de p(x), as restantes n − k raízes podem ser obtidas como sendo as raízes de q(x) que é o polinómio quociente da divisão de p(x) pelo polinómio (x − r1) · · · (x − rk). Estratégia Ir obtendo raízes, uma de cada vez, e dividir o polinómio até se obter um polinómio de grau 1 ou 2, casos em que a determinação de raízes é trivial. MIEEC (FEUP) MÉTODOS NUMÉRICOS 139 / 458
  • 140. Equações não Lineares Raízes de Polinómios Método de Newton para polinómios A expressão de recorrência é xk+1 = xk − p(xk) p (xk) x0 ∈ C é escolhido como uma das soluções de anx2 + an−1x + an−2 = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 140 / 458
  • 141. Equações não Lineares Raízes de Polinómios Método de Newton para polinómios: exemplo Determinar todas as raízes do polinómio p(x) = x4 + 2x3 + 10x2 + 24x + 80 aplicando o método de Newton. MIEEC (FEUP) MÉTODOS NUMÉRICOS 141 / 458
  • 142. Equações não Lineares Raízes de Polinómios Método de Newton para polinómios: exemplo Determinação x0 x2 0 + 2x0 + 10 = 0 ⇔ x0 = −1 ± 3j k xk p(xk ) p (xk ) 0 −1.00 + j3.00 56.00 + j72.00 60.00 − j48.00 1 −0.98 + j1.81 43.35 + j23.00 25.40 + j12.07 2 −2.73 + j1.74 −2.57 − j69.73 13.53 + j111.88 3 −2.11 + j1.79 8.26 − j15.13 32.70 + j63.12 4 −1.97 + j1.99 1.84 + j0.91 47.11 + j54.20 5 −2.00 + j2.00 −0.02 − j0.02 48.01 + j56.03 6 −2.00 + j2.00 ≈ 0 r1 = −2 + 2j r2 = −2 − 2j Depois, determinar as raízes do polinómio: p(x) (x − r1)(x − r2) = p(x) x2 + 4x + 8 = x2 − 2x + 10 MIEEC (FEUP) MÉTODOS NUMÉRICOS 142 / 458
  • 143. Equações não Lineares Raízes de Polinómios Método de Lin Construir sucessões {pi } e {qi } convergentes para ¯p e ¯q de forma a que x2 + ¯px + ¯q seja divisor de p(x). Em cada iteração é realizada a divisão polinomial p(x) x2 + pi x + qi = q(x) + rx + s x2 + pi x + qi que é parada após se obter de q(x), substituindo-se pi → pi+1 e qi → qi+1 de modo a anular o resto rx + s. MIEEC (FEUP) MÉTODOS NUMÉRICOS 143 / 458
  • 144. Equações não Lineares Raízes de Polinómios Método de Lin an an−1 . . . a2 a1 a0 −qi . . . −qi b2 −qi b1 −qi+1b0 −pi −pi bn−2 . . . −pi b1 −pi+1b0 bn−2 bn−3 . . . b0 || 0 0 a1 − qi b1 − pi+1b0 = 0 a0 − qi+1b0 = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 144 / 458
  • 145. Equações não Lineares Raízes de Polinómios Método de Lin: exemplo Determinar os zeros de p(x) = x4 − 6x3 + 18x2 − 24x + 16 pelo método de Lin. MIEEC (FEUP) MÉTODOS NUMÉRICOS 145 / 458
  • 146. Equações não Lineares Raízes de Polinómios Método de Lin: exemplo k pk qk quociente da divisão p(x) x2+pk x+qk 0 1 1 x2 − 7x + 24 1 −0.708333 0.666667 x2 − 5.2917x + 13.5851 2 −1.506965 1.177764 x2 − 4.4930x + 10.0514 3 −1.861262 1.591820 x2 − 4.1387x + 8.7049 4 −2.000237 1.838044 x2 − 3.9998x + 8.1615 5 −2.039857 1.960428 x2 − 3.9601x + 7.9614 6 −2.039382 2.009685 x2 − 3.9606x + 7.9131 x4 − 6x3 + 18x2 − 24x + 16 é divisível por x2 − 2x + 2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 146 / 458
  • 147. Sistemas de equações não lineares Um novo capítulo ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes 8 Sistemas de equações lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 147 / 458
  • 148. Sistemas de equações não lineares Sistemas de equações não lineares n equações nas n variáveis x1, x2, . . . , xn:    f1(x1, x2, . . . , xn) = 0 f2(x1, x2, . . . , xn) = 0 ... fn(x1, x2, . . . , xn) = 0 onde f1, f2, . . . , fn : Rn → R MIEEC (FEUP) MÉTODOS NUMÉRICOS 148 / 458
  • 149. Sistemas de equações não lineares Sistemas de equações não lineares Definindo x = (x1, x2, . . . , xn)T e F : Rn → Rn como F(x) =      f1(x) f2(x) ... fn(x)      =      f1(x1, x2, . . . , xn) f2(x1, x2, . . . , xn) ... fn(x1, x2, . . . , xn)      o sistema pode ser escrito como F(x) = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 149 / 458
  • 150. Sistemas de equações não lineares Sistemas de equações não lineares Métodos iterativos método iterativo simples (iteração de ponto fixo) método de Newton . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 150 / 458
  • 151. Sistemas de equações não lineares Método iterativo simples Vamos agora ver ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares Método iterativo simples Método de Newton 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes MIEEC (FEUP) MÉTODOS NUMÉRICOS 151 / 458
  • 152. Sistemas de equações não lineares Método iterativo simples Método iterativo simples Reescrever o sistema de equações F(x) = 0 na forma x = G(x), G : Rn → Rn ou seja    x1 = g1(x1, x2, . . . , xn) x2 = g2(x1, x2, . . . , xn) ... xn = gn(x1, x2, . . . , xn) MIEEC (FEUP) MÉTODOS NUMÉRICOS 152 / 458
  • 153. Sistemas de equações não lineares Método iterativo simples Método iterativo simples 1 Escolher um ponto inicial x(0) 2 Determinar os termos da sucessão {x(k)} pela expressão de recorrência x(k+1) = G(x(k)) x(k) → s tal que s = G(s) (ponto fixo de G) ⇔ F(s) = 0 MIEEC (FEUP) MÉTODOS NUMÉRICOS 153 / 458
  • 154. Sistemas de equações não lineares Método iterativo simples Método iterativo simples: exemplo Considere o sistema de equações 4x1 − ln(x1x2) − 8 = 0 2x1 − 4x2 + √ x1x2 − 3 = 0 (a) Reescreva-o numa forma apropriada para aplicação do método iterativo simples. (b) Efectue 11 iterações deste método partindo do ponto (1.5, 1). MIEEC (FEUP) MÉTODOS NUMÉRICOS 154 / 458
  • 155. Sistemas de equações não lineares Método iterativo simples Método iterativo simples: exemplo x1 = [ln(x1x2) + 8]/4 = 0 x2 = [2x1 + √ x1x2 − 3]/4 k x1,(k) x2,(k) g1(x1,(k), x2,(k)) g2(x1,(k), x2,(k)) 0 1.50000 1.00000 2.10137 0.30619 1 2.10137 0.30619 1.88976 0.50122 2 1.88976 0.50122 1.98643 0.43819 3 1.98643 0.43819 1.96531 0.47646 4 1.96531 0.47646 1.98357 0.47457 5 1.98357 0.47457 1.98489 0.48434 6 1.98489 0.48434 1.99015 0.48757 7 1.99015 0.48757 1.99247 0.49134 8 1.99247 0.49134 1.99469 0.49359 9 1.99469 0.49359 1.99611 0.49541 10 1.99611 0.49541 1.99721 0.49666 MIEEC (FEUP) MÉTODOS NUMÉRICOS 155 / 458
  • 156. Sistemas de equações não lineares Método iterativo simples Método iterativo simples: convergência Teorema Seja D ⊂ Rn um conjunto fechado e convexo. Seja G : D → Rn de classe C1. Se i) existe um número L < 1 tal que maxj ∂gi ∂xj (x) ≤ L ∀i = 1 . . . n ∀x ∈ D ii) G(D) ⊂ D então i) existe um e só um z ∈ D tal que z = G(z) ii) o método iterativo simples converge para z, ∀x(0) ∈ D iii) verifica-se que z − x(k) ≤ L 1 − L x(k) − x(k−1) MIEEC (FEUP) MÉTODOS NUMÉRICOS 156 / 458
  • 157. Sistemas de equações não lineares Método iterativo simples Método iterativo simples: exemplo 2 Considere o sistema de equações definido em R2. 4x1 − cos(x1 + x2) = 4, 3x2 − sin(x1 + x2) = 6. (a) Verifique que o sistema tem uma e uma só solução. (b) Aplicando o método iterativo simples, determine tal solução com um erro máximo de 10−5 na soma dos módulos de cada uma das componentes do erro (norma 1). MIEEC (FEUP) MÉTODOS NUMÉRICOS 157 / 458
  • 158. Sistemas de equações não lineares Método iterativo simples Método iterativo simples: exemplo 2 k x1,(k) x2,(k) g1(x1,(k), x2,(k)) g2(x1,(k), x2,(k)) εk+1 0 1.000000 1.000000 0.895963 2.303099 2.0 1 0.895963 2.303099 0.750413 1.980854 6.5 × 10−1 2 0.750413 1.980854 0.770752 2.132969 2.4 × 10−1 3 0.770752 2.132969 0.757040 2.078545 9.5 × 10−2 4 0.757040 2.078545 0.761614 2.100418 3.7 × 10−2 5 0.761614 2.100418 0.759706 2.091978 1.4 × 10−2 6 0.759706 2.091978 0.760433 2.095288 5.7 × 10−3 7 0.760433 2.095288 0.760146 2.093998 2.2 × 10−3 8 0.760146 2.093998 0.760257 2.094502 8.6 × 10−4 9 0.760257 2.094502 0.760214 2.094305 3.4 × 10−4 10 0.760214 2.094305 0.760231 2.094382 1.3 × 10−4 11 0.760231 2.094382 0.760224 2.094352 5.1 × 10−5 12 0.760224 2.094352 0.760227 2.094364 2.0 × 10−5 13 0.760227 2.094364 0.760226 2.094359 7.8 × 10−6 MIEEC (FEUP) MÉTODOS NUMÉRICOS 158 / 458
  • 159. Sistemas de equações não lineares Método de Newton Vamos agora ver ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares Método iterativo simples Método de Newton 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes MIEEC (FEUP) MÉTODOS NUMÉRICOS 159 / 458
  • 160. Sistemas de equações não lineares Método de Newton Método de Newton Sendo JF (x) não singular tem-se F(x) = 0 ⇔ [JF (x)]−1 F(x) = 0 ou ainda x = x − [JF (x)]−1 F(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 160 / 458
  • 161. Sistemas de equações não lineares Método de Newton Método de Newton Expressão de recorrência x(k+1) = x(k) − [JF (x(k))]−1 F(x(k)), k = 0, 1, . . . Determinação de x(k+1) 1 calcular F(x(k)) 2 calcular JF (x(k)) 3 calcular v(k) resolvendo o SEL JF (x(k)) v(k) = F(x(k)) 4 calcular x(k+1) = x(k) − v(k) MIEEC (FEUP) MÉTODOS NUMÉRICOS 161 / 458
  • 162. Sistemas de equações não lineares Método de Newton Método de Newton: caso R2 Para o sistema de equações f1(x1, x2) = 0 f2(x1, x2) = 0 , a matriz jacobiana JF (x1, x2) = a b c d = ∂f1 ∂x1 ∂f1 ∂x2 ∂f2 ∂x1 ∂f2 ∂x2 tem como inversa J−1 F (x1, x2) = 1 ad−bc d −b −c a . Logo x1,(k+1) x2,(k+1) = x1,(k) x2,(k) − J−1 F f1 f2 (x1,(k), x2,(k)) x1,(k+1) x2,(k+1) = x1,(k) x2,(k) − 1 ad − bc df1 − bf2 −cf1 + af2 (x1,(k), x2,(k)) MIEEC (FEUP) MÉTODOS NUMÉRICOS 162 / 458
  • 163. Sistemas de equações não lineares Método de Newton Método de Newton: convergência Teorema Sejam F de classe C2 e z tal que F(z) = 0. Se det(JF (z)) = 0 a sucessão gerada pelo método de Newton converge para z qualquer que seja o ponto inicial x(0) suficientemente próximo de z. Verifica-se ainda que existe uma constante positiva c tal que z − x(k) ≤ c z − x(k−1) 2 , ou seja, a convergência é quadrática. MIEEC (FEUP) MÉTODOS NUMÉRICOS 163 / 458
  • 164. Sistemas de equações não lineares Método de Newton Método de Newton: exemplo Aplique o método de Newton para resolver o sistema de equações 4x1x2 2 − 2x2 1 x2 + 2 = 0 2x1 − 4x2 + √ x1x2 − 3 = 0. Parta do ponto (1.5, 1) e termine a aplicação do método assim que da diferença entre duas estimativas consecutivas seja inferior 5 × 10−6 em qualquer das componentes do erro (norma ∞) MIEEC (FEUP) MÉTODOS NUMÉRICOS 164 / 458
  • 165. Sistemas de equações não lineares Método de Newton Método de Newton: exemplo k x1,(k) x2,(k) v1,(k) v2,(k) x1,(k+1) x2,(k+1) x(k+1) − x(k) ∞ 0 1.500000 1.000000 −0.793659 0.255024 2.293659 0.744976 7.9 × 10−1 1 2.293659 0.744976 0.360263 0.290966 1.933395 0.454010 3.6 × 10−1 2 1.933395 0.454010 −0.066606 −0.046156 2.000001 0.500166 6.7 × 10−2 3 2.000001 0.500166 0.000001 0.000166 2.000000 0.500000 1.7 × 10−4 4 2.000000 0.500000 0.000000 0.000000 2.000000 0.500000 7.3 × 10−8 MIEEC (FEUP) MÉTODOS NUMÉRICOS 165 / 458
  • 166. Sistemas de equações não lineares Método de Newton Método de Newton: algumas dificuldades Cálculo de JF e resolução do sistema JF · v = F → aproximar numericamente as derivadas → não recalcular JF em todas as iterações Dificuldades de convergência → x(k+1) = x(k) − αk · [JF (x(k))]−1F(x(k)) αk tal que F(x(k+1)) ≤ F(x(k)) → . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 166 / 458
  • 167. Aproximação de funções Um novo capítulo ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes 8 Sistemas de equações lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 167 / 458
  • 168. Aproximação de funções Aproximação de funções Qual a recta y = ax + b que melhor aproxima um dado conjunto de pontos (xi , yi )? E se for uma parábola y = ax2 + bx + c? E se for uma função y = a sin x + b cos x? Como é que estes problemas se relacionam com projectar pontos em planos? ... MIEEC (FEUP) MÉTODOS NUMÉRICOS 168 / 458
  • 169. Aproximação de funções Aproximação x y (x1, y1) (x2, y2) (xn, yn) g(x) Dados os pontos (x1, y1), (x2, y2), . . . , (xn, yn) Determinar uma função g : R → R tal que g(xi ) seja próximo de yi MIEEC (FEUP) MÉTODOS NUMÉRICOS 169 / 458
  • 170. Aproximação de funções Funções aproximantes A função aproximante depende de constantes c1, c2, . . . , ck g(x) = F(x; c1, c2, . . . , ck) O problema de aproximação consiste em determinar o vector de parâmetros (c1, . . . , ck) tal que a função g melhor aproxime os pontos dados. MIEEC (FEUP) MÉTODOS NUMÉRICOS 170 / 458
  • 171. Aproximação de funções Critérios de aproximação Para determinar a função que melhor aproxima os pontos dados é necessário definir um critério que permita comparar funções aproximantes. Este critério deverá depender dos desvios di definidos por di = yi − F(xi ; c1, . . . , ck) i = 1, . . . , n e deverá garantir que a função aproximante torne os desvios “pequenos”. MIEEC (FEUP) MÉTODOS NUMÉRICOS 171 / 458
  • 172. Aproximação de funções Critérios de aproximação Alguns dos critérios utilizados são 1 minimizar n i=1 |di | 2 minimizar max 1≤i≤n |di | 3 minimizar n i=1 d2 i MIEEC (FEUP) MÉTODOS NUMÉRICOS 172 / 458
  • 173. Aproximação de funções Funções aproximantes Em muitas situações, F(x; c1, . . . , ck) é escolhida como uma combinação linear de funções φ1, . . . , φk F(x; c1, . . . , ck) = c1φ1(x) + · · · + ckφk(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 173 / 458
  • 174. Aproximação de funções Aproximação dos mínimos quadrados Vamos agora ver ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções Aproximação dos mínimos quadrados Aproximação em espaços vectoriais Sistemas Sobredeterminados 5 Interpolação polinomial 6 Integração numérica MIEEC (FEUP) MÉTODOS NUMÉRICOS 174 / 458
  • 175. Aproximação de funções Aproximação dos mínimos quadrados Aproximação dos mínimos quadrados Dados os pares (xi , yi )n i=1 e as funções φ1, . . . , φk, calcular os parâmetros c1, . . . , ck que minimizam e(c1, . . . , ck) = n i=1 d2 i = n i=1 [yi − ( c1φ1(xi ) + . . . + ckφk(xi ) )]2 isto é, que minimizam a soma dos quadrados dos desvios. MIEEC (FEUP) MÉTODOS NUMÉRICOS 175 / 458
  • 176. Aproximação de funções Aproximação dos mínimos quadrados Mínimos quadrados: equações normais    c1 n i=1 φ2 1(xi ) + c2 n i=1 φ1(xi )φ2(xi ) + · · · + ck n i=1 φ1(xi )φk (xi ) = n i=1 yi φ1(xi ) c1 n i=1 φ2(xi )φ1(xi ) + c2 n i=1 φ2 2(xi ) + · · · + ck n i=1 φ2(xi )φk (xi ) = n i=1 yi φ2(xi ) . . . . . . . . . c1 n i=1 φk (xi )φ1(xi ) + c2 n i=1 φk (xi )φ2(xi ) + · · · + ck n i=1 φ2 k (xi ) = n i=1 yi φk (xi ) MIEEC (FEUP) MÉTODOS NUMÉRICOS 176 / 458
  • 177. Aproximação de funções Aproximação dos mínimos quadrados MQ: aproximação por uma recta As funções aproximantes serão da forma g(x) = c1 + c2x, ou seja, k = 2, φ1(x) = 1 e φ2(x) = x. O sistema de equações a resolver é       n i=1 1 n i=1 xi n i=1 xi n i=1 x2 i         c1 c2   =       n i=1 yi n i=1 xi yi       MIEEC (FEUP) MÉTODOS NUMÉRICOS 177 / 458
  • 178. Aproximação de funções Aproximação dos mínimos quadrados MQ: aproximação por uma recta Os somatórios envolvidos são facilmente determinados com base na tabela xi yi x2 i xi yi x1 y1 x2 1 x1y1 x2 y2 x2 2 x2y2 . . . . . . . . . . . . xn yn x2 n xnyn xi yi x2 i xi yi MIEEC (FEUP) MÉTODOS NUMÉRICOS 178 / 458
  • 179. Aproximação de funções Aproximação dos mínimos quadrados MQ: aproximação por uma parábola As funções aproximantes são do tipo g(x) = c1 + c2x + c3x2, ou seja, k = 3, φ1(x) = 1, φ2(x) = x e φ3(x) = x2. O sistema de equações a resolver é           n i=1 1 n i=1 xi n i=1 x2 i n i=1 xi n i=1 x2 i n i=1 x3 i n i=1 x2 i n i=1 x3 i n i=1 x4 i                 c1 c2 c3       =           n i=1 yi n i=1 xi yi n i=1 x2 i yi           MIEEC (FEUP) MÉTODOS NUMÉRICOS 179 / 458
  • 180. Aproximação de funções Aproximação dos mínimos quadrados Mínimos quadrados: exemplo Determine a aproximação dos mínimos quadrados aos pontos da tabela x 1 2 4 5 7 8 10 y 1 1 4 4 6 6 7 por a) uma recta b) uma parábola c) uma recta que minimize o erro em x MIEEC (FEUP) MÉTODOS NUMÉRICOS 180 / 458
  • 181. Aproximação de funções Aproximação dos mínimos quadrados Exemplo y = 0.3333 + 0.7207x y = −0.5372 + 1.1901x − 0.04353x2 x = −0.1475 + 1.3115y MIEEC (FEUP) MÉTODOS NUMÉRICOS 181 / 458
  • 182. Aproximação de funções Aproximação dos mínimos quadrados Redução a problemas de mínimos quadrados Se a função aproximante não puder ser escrita como F(x; c1, . . . , ck) = c1φ1(x) + . . . + c2φk(x) a aproximação dos mínimos quadrados origina um sistema de equações não lineares (resolução "difícil"). Contudo, se existir uma função g tal que g(F(x; c1, . . . , ck)) = b1φ1(x) + · · · + bkφk(x) e b1 = ψ1(c1), b2 = ψ1(c2), . . . , bk = ψk(ck) obtém-se uma função aproximante resolvendo um SEL. MIEEC (FEUP) MÉTODOS NUMÉRICOS 182 / 458
  • 183. Aproximação de funções Aproximação dos mínimos quadrados Redução a problemas de mínimos quadrados Para tal, deverá ser determinada a função b1φ1(x) + · · · + bkφk(x) que melhor aproxima os pontos (xi , g(yi )) no sentido dos mínimos quadrados, isto é, que minimiza a soma dos quadrados dos desvios modificados ˜di = g(yi ) − g(F(xi ; c1, . . . , ck)) Após a resolução deste problema, os cj calculam-se por cj = ψ−1 j (bj ), j = 1, . . . , k. MIEEC (FEUP) MÉTODOS NUMÉRICOS 183 / 458
  • 184. Aproximação de funções Aproximação dos mínimos quadrados Redução a problemas de MQ: exemplo Aproximar por uma função da forma y = c1xc2 os pontos x 1 1.2 1.6 2 y 1 1.3 1.4 1.7 MIEEC (FEUP) MÉTODOS NUMÉRICOS 184 / 458
  • 185. Aproximação de funções Aproximação dos mínimos quadrados Redução a problemas de MQ: exemplo y = 1.05x0.69 MIEEC (FEUP) MÉTODOS NUMÉRICOS 185 / 458
  • 186. Aproximação de funções Aproximação em espaços vectoriais Vamos agora ver ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções Aproximação dos mínimos quadrados Aproximação em espaços vectoriais Sistemas Sobredeterminados 5 Interpolação polinomial 6 Integração numérica MIEEC (FEUP) MÉTODOS NUMÉRICOS 186 / 458
  • 187. Aproximação de funções Aproximação em espaços vectoriais Aproximação em espaços vectoriais V espaço vectorial com o produto interno ·, · · norma em V induzida pelo produto interno, isto é, v = v, v , v ∈ V {v1, v2, . . . , vk} vectores de V linearmente independentes Dado u ∈ V pretende-se determinar a combinação linear c1v1 + c2v2 + · · · + ckvk que melhor aproxima u, no sentido de tornar mínimo, u − (c1v1 + c2v2 + · · · + ckvk) 2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 187 / 458
  • 188. Aproximação de funções Aproximação em espaços vectoriais Aproximação em espaços vectoriais Teorema Sejam os vectores {v1, v2, . . . , vk} de V linearmente independentes e um vector u ∈ V . A combinação linear c1v1 + c2v2 + · · · + ckvk que torna mínimo o valor u − (c1v1 + c2v2 + · · · + ckvk) 2 satisfaz as relações vj , u − (c1v1 + c2v2 + · · · + ckvk) = 0, j = 1, 2, . . . , k. MIEEC (FEUP) MÉTODOS NUMÉRICOS 188 / 458
  • 189. Aproximação de funções Aproximação em espaços vectoriais Aproximação em espaços vectoriais O sistema de equações que determina c1, c2, . . . , ck é      v1, v1 v1, v2 . . . v1, vk v2, v1 v2, v2 . . . v2, vk ... ... ... ... vk, v1 vk, v2 . . . vk, vk           c1 c2 ... ck      =      v1, u v2, u ... vk, u      e designa-se por sistema de equações normais. Sendo v1, v2, . . . , vk linearmente independentes, este sistema tem solução única, qualquer que seja u ∈ V . MIEEC (FEUP) MÉTODOS NUMÉRICOS 189 / 458
  • 190. Aproximação de funções Aproximação em espaços vectoriais MQ e aproximação em espaços vectoriais Dados os pares (xi , yi )n i=1 e as funções φ1(x), . . . , φk(x) pretende-se determinar a combinação linear c1φ1(x) + · · · + ckφk(x) que minimiza a soma dos quadrados dos desvios. Definam-se ¯φ1, . . . , ¯φk, ¯y ∈ Rn de acordo com ¯φ1 =      φ1(x1) φ1(x2) ... φ1(xn)      , . . . , ¯φk =      φk(x1) φk(x2) ... φk(xn)      , e ¯y =      y1 y2 ... yn      MIEEC (FEUP) MÉTODOS NUMÉRICOS 190 / 458
  • 191. Aproximação de funções Aproximação em espaços vectoriais MQ e aproximação em espaços vectoriais Determinar a combinação linear c1φ1(x) + · · · + ckφk(x) que minimiza a soma dos quadrados dos desvios é equivalente a Determinar a combinação linear c1 ¯φ1 + · · · + ck ¯φk que minimiza o valor ¯y − (c1 ¯φ1 + · · · + ck ¯φk) 2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 191 / 458
  • 192. Aproximação de funções Aproximação em espaços vectoriais MQ e aproximação em espaços vectoriais Os valores c1, c2, . . . , ck são determinados resolvendo      ¯φ1, ¯φ1 ¯φ1, ¯φ2 . . . ¯φ1, ¯φk ¯φ2, ¯φ1 ¯φ2, ¯φ2 . . . ¯φ2, ¯φk ... ... ... ... ¯φk, ¯φ1 ¯φk, ¯φ2 . . . ¯φk, ¯φk           c1 c2 ... ck      =      ¯φ1, ¯y ¯φ2, ¯y ... ¯φk, ¯y      MIEEC (FEUP) MÉTODOS NUMÉRICOS 192 / 458
  • 193. Aproximação de funções Aproximação em espaços vectoriais MQ e aproximação em espaços vectoriais Este sistema de equações pode ser escrito na forma                 n i=1 φ1(xi )φ1(xi ) n i=1 φ1(xi )φ2(xi ) . . . n i=1 φ1(xi )φk (xi ) n i=1 φ2(xi )φ1(xi ) n i=1 φ2(xi )φ2(xi ) . . . n i=1 φ2(xi )φk (xi ) . . . . . . .. . . . . n i=1 φk (xi )φ1(xi ) n i=1 φk (xi )φ2(xi ) . . . n i=1 φk (xi )φk (xi )                       c1 c2 . . . ck       =              n i=1 φ1(xi )yi n i=1 φ2(xi )yi . . . n i=1 φk (xi )yi              MIEEC (FEUP) MÉTODOS NUMÉRICOS 193 / 458
  • 194. Aproximação de funções Aproximação em espaços vectoriais MQ e aproximação em espaços vectoriais Este sistema tem solução única se os vectores ¯φ1, ¯φ2, . . . , ¯φk, forem linearmente independentes. Neste caso, diz-se que as funções φ1, . . . , φk são linearmente independentes nos pontos x1, x2, . . . , xn. Então, o número de pontos (n) deverá ser sempre superior ou igual ao número de funções consideradas (k). MIEEC (FEUP) MÉTODOS NUMÉRICOS 194 / 458
  • 195. Aproximação de funções Aproximação em espaços vectoriais Exercício Determine a melhor aproximação y = a sin(x) + b cos(x), no sentido dos mínimos quadrados, dos pontos da tabela. x 0 π 2 π 3π 2 y −1.3 1.55 1.2 −1.45 Resolva o exercício usando o formalismo da aproximação em espaços vectoriais. MIEEC (FEUP) MÉTODOS NUMÉRICOS 195 / 458
  • 196. Aproximação de funções Aproximação em espaços vectoriais Vectores ortogonais Se vi , vj = 0 para i = j (vectores ortogonais), então      v1, v1 0 . . . 0 0 v2, v2 . . . 0 ... ... ... ... 0 0 . . . vk, vk           c1 c2 ... ck      =      v1, u v2, u ... vk, u      Concluindo-se que cj = vj , u vj , vj MIEEC (FEUP) MÉTODOS NUMÉRICOS 196 / 458
  • 197. Aproximação de funções Aproximação em espaços vectoriais Exercício: aprox. por exponenciais complexas Sejam f , g : [0, T] → C e defina-se f , g = T 0 f ∗ (t)g(t)dt. 1 Verifique que as funções vk(t) = ej 2kπ T t com k ∈ Z são ortogonais. Nota: j = √ −1. 2 Considere a função h(t) = 1 se 0 ≤ t ≤ T 2 0 se T 2 < t ≤ T Qual a combinação linear de v−N, . . . , v0, . . . , vN que melhor aproxima h no sentido dos mínimos quadrados? MIEEC (FEUP) MÉTODOS NUMÉRICOS 197 / 458
  • 198. Aproximação de funções Aproximação em espaços vectoriais Exemplo MIEEC (FEUP) MÉTODOS NUMÉRICOS 198 / 458
  • 199. Aproximação de funções Sistemas Sobredeterminados Vamos agora ver ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções Aproximação dos mínimos quadrados Aproximação em espaços vectoriais Sistemas Sobredeterminados 5 Interpolação polinomial 6 Integração numérica MIEEC (FEUP) MÉTODOS NUMÉRICOS 199 / 458
  • 200. Aproximação de funções Sistemas Sobredeterminados Sistemas Sobredeterminados O sistema de equações (na variável c = c1, . . . , ck)    F(x1, c) = y1 ... F(xm, c) = ym ⇔    k j=1 φj (x1)cj = y1 ... k j=1 φj (xm)cj = ym ⇔ Ac = y é, para um problema de MQ, em geral sobredeterminado (n.o de equações m > n.o incógnitas k). Não tem solução se n.o linhas lin. indep. > k). Defina-se “solução mínimos quadrados” deste sistema o vector c ∈ R que minimiza a soma dos quadrados dos desvios d 2 = y − Ac 2 MIEEC (FEUP) MÉTODOS NUMÉRICOS 200 / 458
  • 201. Aproximação de funções Sistemas Sobredeterminados Desenvolvendo a expressão d 2 = y − Ac 2 = (y − Ac)T (y − Ac) = = yT y − 2yT Ac − cT AT AC Derivando em ordem a c e igualando a zero −2yT A + 2cT AT A = 0 ⇔ AT Ac = AT y (1) Se a matriz AT A possuir inversa (se as colunas de A forem lin. indep.) então c = (AT A)−1AT y MIEEC (FEUP) MÉTODOS NUMÉRICOS 201 / 458
  • 202. Aproximação de funções Sistemas Sobredeterminados Pseudo-inversa A matriz (AT A)−1AT designa-se por pseudo-inversa e representa-se por A+. No caso em que A admite inversa A+ = A−1. Teorema Seja Ac = y um sistema (sobredeterminado ou não) em que as colunas de A são linearmente independentes. Então a solução de mínimos quadrados do sistema é dada por c = A+ y onde A+ = (AT A)−1AT . Em alguns sistemas de computação numérica (ex: Matlab) a solução de sistemas sobredeterminados é dada desta forma. Exemplo: Em Matlab » c=inv(A)*y dá-nos a solução de MQ do sistema Ac = y. MIEEC (FEUP) MÉTODOS NUMÉRICOS 202 / 458
  • 203. Aproximação de funções Sistemas Sobredeterminados Normalidade A expressão (1) AT Ac = AT y é uma outra forma de escrever as equações normais, pois reescrevendo como AT (Ac − y) = 0 ⇔ AT d = 0 verificamos que os desvios são ortogonais às colunas de A. (Comparar com o 1o teorema deste capítulo.) MIEEC (FEUP) MÉTODOS NUMÉRICOS 203 / 458
  • 204. Interpolação polinomial Um novo capítulo ... 1 Erros 2 Equações não Lineares 3 Sistemas de equações não lineares 4 Aproximação de funções 5 Interpolação polinomial 6 Integração numérica 7 Sobre normas de vectores e matrizes 8 Sistemas de equações lineares MIEEC (FEUP) MÉTODOS NUMÉRICOS 204 / 458
  • 205. Interpolação polinomial Interpolação Por 2 pontos passa uma recta. Por 3 será uma parábola? E por 4? uma cúbica!? . . . Como podem os polinómios ajudar a resolver equações não lineares? O que são cubic splines? ... MIEEC (FEUP) MÉTODOS NUMÉRICOS 205 / 458
  • 206. Interpolação polinomial Interpolação x y (x0, y0) (x1, y1) (xn, yn) g(x) Dados os pontos (x0, y0), (x1, y1), . . . , (xn, yn) Determinar uma função g : R → R tal que g(x0) = y0, g(x1) = y1, . . . , g(xn) = yn x0, x1, . . . , xn são os nós de interpolação (i = j ⇒ xi = xj ) MIEEC (FEUP) MÉTODOS NUMÉRICOS 206 / 458
  • 207. Interpolação polinomial Aplicações da interpolação Cálculo de funções fornecidas por tabelas Quando se conhecem apenas alguns dos valores de uma função, por exemplo obtidos experimentalmente Aproximação de funções cujo cálculo seja complexo ou exija grande esforço Base de muitos métodos numéricos MIEEC (FEUP) MÉTODOS NUMÉRICOS 207 / 458
  • 208. Interpolação polinomial Interpolação polinomial Uma função p diz-se polinomial de grau n se puder ser escrita na forma p(x) = anxn + an−1xn−1 + · · · + a1x + a0 onde n ∈ N0 e an = 0. Se p(x) = 0, o polinómio diz-se nulo, e o seu grau é, por convenção, −∞. MIEEC (FEUP) MÉTODOS NUMÉRICOS 208 / 458
  • 209. Interpolação polinomial Interpolação polinomial Utilização de funções interpoladoras polinomiais o seu cálculo é feito com um número finito de multiplicações e somas as operações de derivação e primitivação são simples são funções de classe C∞ aproximam tanto quanto se queira qualquer função contínua num intervalo finito MIEEC (FEUP) MÉTODOS NUMÉRICOS 209 / 458
  • 210. Interpolação polinomial Aproximação por polinómios Teorema (Weierstrass) Seja [a, b] um intervalo real e f uma função contínua em [a, b]. Então, qualquer que seja ε > 0, existe uma função polinomial p tal que max x∈[a,b] |f (x) − p(x)| < ε. x y a b f (x) f (x) + ε f (x) − ε p(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 210 / 458
  • 211. Interpolação polinomial Formas polinomiais Forma de potências simples p(x) = a0 + a1x + a2x2 + · · · + anxn Forma de potências centradas p(x) = ¯a0 + ¯a1(x − c) + ¯a2(x − c)2 + · · · + ¯an(x − c)n Forma de Newton p(x) = ˜a0 + ˜a1(x − c1) + ˜a2(x − c1)(x − c2) + · · · + ˜an(x − c1) · · · (x − cn) MIEEC (FEUP) MÉTODOS NUMÉRICOS 211 / 458
  • 212. Interpolação polinomial Cálculo de polinómios: algoritmo de Horner Forma de potências simples: p(x) = a0 + a1x + · · · + anxn y ← an Para i = n − 1 até 0 fazer y ← ai + y · x MIEEC (FEUP) MÉTODOS NUMÉRICOS 212 / 458
  • 213. Interpolação polinomial Cálculo de polinómios: algoritmo de Horner Forma de Newton: p(x) = a0 + a1(x − c1) + · · · + an(x − c1) · · · (x − cn) y ← an Para i = n − 1 até 0 fazer y ← ai + y · (x − ci+1) MIEEC (FEUP) MÉTODOS NUMÉRICOS 213 / 458
  • 214. Interpolação polinomial Polinómio interpolador: unicidade e existência Vamos agora ver ... 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação Splines MIEEC (FEUP) MÉTODOS NUMÉRICOS 214 / 458
  • 215. Interpolação polinomial Polinómio interpolador: unicidade e existência Polinómio interpolador: unicidade e existência Teorema Dados os nós distintos x0, x1, . . . , xn e os valores nodais y0, y1, . . . , yn, existe um e um só polinómio p de grau menor ou igual a n que interpola os valores yi nos nós xi , ou seja, tal que p(xi ) = yi , i = 0, 1, . . . , n. MIEEC (FEUP) MÉTODOS NUMÉRICOS 215 / 458
  • 216. Interpolação polinomial Polinómio interpolador: unicidade e existência Existência e unicidade de polinómio interpolador Os coeficientes do polinómio interpolador verificam    a0 + a1x0 + . . . + anxn 0 = y0 a0 + a1x1 + . . . + anxn 1 = y1 . . . a0 + a1xn + . . . + anxn n = yn que não é mais do que um sistema de n + 1 equações lineares nas n + 1 incógnitas a0, a1, . . . , an. MIEEC (FEUP) MÉTODOS NUMÉRICOS 216 / 458
  • 217. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde v(x0, x1, . . . , xn) = 1 x0 x2 0 . . . xn−1 0 xn 0 1 x1 x2 1 . . . xn−1 1 xn 1 ... ... ... ... ... ... 1 xn x2 n . . . xn−1 n xn n MIEEC (FEUP) MÉTODOS NUMÉRICOS 217 / 458
  • 218. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde 1 x0 x2 0 . . . xn−1 0 0 1 x1 x2 1 . . . xn−1 1 xn−1 1 (x1 − x0) ... ... ... ... ... ... 1 xn x2 n . . . xn−1 n xn−1 n (xn − x0) MIEEC (FEUP) MÉTODOS NUMÉRICOS 218 / 458
  • 219. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde 1 x0 x2 0 . . . xn−2 0 0 0 1 x1 x2 1 . . . xn−2 1 xn−2 1 (x1 − x0) xn−1 1 (x1 − x0) ... ... ... ... ... ... ... 1 xn x2 n . . . xn−2 n xn−2 n (xn − x0) xn−1 n (xn − x0) MIEEC (FEUP) MÉTODOS NUMÉRICOS 219 / 458
  • 220. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde 1 0 0 . . . 0 0 1 x1 − x0 x1(x1 − x0) . . . xn−2 1 (x1 − x0) xn−1 1 (x1 − x0) ... ... ... ... ... ... 1 xn − x0 xn(xn − x0) . . . xn−2 n (xn − x0) xn−1 n (xn − x0) MIEEC (FEUP) MÉTODOS NUMÉRICOS 220 / 458
  • 221. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde x1 − x0 x1(x1 − x0) . . . xn−2 1 (x1 − x0) xn−1 1 (x1 − x0) x2 − x0 x2(x2 − x0) . . . xn−2 2 (x2 − x0) xn−1 2 (x2 − x0) ... ... ... ... ... xn − x0 xn(xn − x0) . . . xn−2 n (xn − x0) xn−1 n (xn − x0) MIEEC (FEUP) MÉTODOS NUMÉRICOS 221 / 458
  • 222. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde (x1 − x0) · (x2 − x0) · · · (xn − x0) · 1 x1 x2 1 . . . xn−1 1 1 x2 x2 2 . . . xn−1 2 ... ... ... ... ... 1 xn x2 n . . . xn−1 n MIEEC (FEUP) MÉTODOS NUMÉRICOS 222 / 458
  • 223. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde v(x0, x1, . . . , xn) =   n j=1 (xj − x0)   · v(x1, . . . , xn) MIEEC (FEUP) MÉTODOS NUMÉRICOS 223 / 458
  • 224. Interpolação polinomial Polinómio interpolador: unicidade e existência Determinante de Vandermonde v(x0, x1, . . . , xn) =   n j=1 (xj − x0)   ·   n j=2 (xj − x1)   · . . . ·   n j=n (xj − xn−1)   é não nulo se os nós forem distintos! MIEEC (FEUP) MÉTODOS NUMÉRICOS 224 / 458
  • 225. Interpolação polinomial Polinómio interpolador: unicidade e existência Construção do polinómio interpolador Dados os valores (yi )n i=0 nos nós distintos (xi )n i=0, como se determina o polinómio interpolador p, de grau ≤ n? Uma possibilidade é resolver o sistema de equações    a0 + a1x0 + . . . + anxn 0 = y0 a0 + a1x1 + . . . + anxn 1 = y1 . . . a0 + a1xn + . . . + anxn n = yn Abordagem não aconselhável . . . vamos estudar outras! MIEEC (FEUP) MÉTODOS NUMÉRICOS 225 / 458
  • 226. Interpolação polinomial Forma de Lagrange Vamos agora ver ... 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação Splines MIEEC (FEUP) MÉTODOS NUMÉRICOS 226 / 458
  • 227. Interpolação polinomial Forma de Lagrange Forma de Lagrange Os polinómios de Lagrange definem-se por Lk(x) = n i=0 i=k x − xi xk − xi e verificam as relações Lk(xj ) = δkj = 1 se k = j 0 se k = j onde δkj é o designado delta de Kronecker MIEEC (FEUP) MÉTODOS NUMÉRICOS 227 / 458
  • 228. Interpolação polinomial Forma de Lagrange Forma de Lagrange: polinómios Lk(x) x y x0 x1 x2 x3 1 L0(x) L1(x) L2(x) L3(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 228 / 458
  • 229. Interpolação polinomial Forma de Lagrange Existência e unicidade: outra vez Mostramos assim de uma outra forma, construtiva, a existência do polinómio interpolador. Teorema O polinómio p(x) = n k=0 ykLk(x), tem grau menor ou igual a n e interpola os valores y0, y1, . . . , yn nos nós distintos x0, x1, . . . , xn. A unicidade mostra-se facilmente. Suponha-se que p1(x) e p2(x) são dois polinómios interpoladores de grau menor ou igual que ≤ n. O polinómio d(x) = p1(x) − p2(x) tem grau ≤ n e tem pelo menos n + 1 zeros nos nós. Logo d(x) = 0. MIEEC (FEUP) MÉTODOS NUMÉRICOS 229 / 458
  • 230. Interpolação polinomial Forma de Lagrange Forma de Lagrange: exemplo Determinar o polinómio de grau menor ou igual a 3 que interpola os valores x −1 0 2 3 y 6 −12 18 24 MIEEC (FEUP) MÉTODOS NUMÉRICOS 230 / 458
  • 231. Interpolação polinomial Forma de Lagrange Forma de Lagrange Quando se altera ou adiciona um nó é necessário recalcular todos os polinómios Lk Se um ou mais valores nodais forem alterados, os polinómios Lk mantêm-se, sendo apenas necessário recalcular a combinação destes para obter p(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 231 / 458
  • 232. Interpolação polinomial Forma de Aitken-Neville Vamos agora ver ... 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação Splines MIEEC (FEUP) MÉTODOS NUMÉRICOS 232 / 458
  • 233. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville x y xm ym xm+1 ym+1 xm+k ym+k xm+k+1 ym+k+1 pm,k (x) pm+1,k (x) pm,k+1(x) MIEEC (FEUP) MÉTODOS NUMÉRICOS 233 / 458
  • 234. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville Se pm,k(x) interpola (yi )m+k i=m nos nós (xi )m+k i=m e se pm+1,k(x) interpola (yi )m+k+1 i=m+1 nos nós (xi )m+k+1 i=m+1 então pm,k+1(x) = (x − xm+k+1) · pm,k(x) + (xm − x) · pm+1,k(x) xm − xm+k+1 interpola (yi )m+k+1 i=m nos nós (xi )m+k+1 i=m . MIEEC (FEUP) MÉTODOS NUMÉRICOS 234 / 458
  • 235. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville A expressão de recorrência (x − xm+k+1) · pm,k(x) + (xm − x) · pm+1,k(x) xm − xm+k+1 é uma generalização da expressão (x − x1) · y0 + (x0 − x) · y1 x0 − x1 designando-se também por interpolação linear iterada MIEEC (FEUP) MÉTODOS NUMÉRICOS 235 / 458
  • 236. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville A expressão de recorrência pode ainda ser escrita como pm,k+1(x) = pm,k(x) x − xm pm+1,k(x) x − xm+k+1 xm − xm+k+1 MIEEC (FEUP) MÉTODOS NUMÉRICOS 236 / 458
  • 237. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville Para determinar p(x) que interpola (yi )n i=0 em (xi )n i=0 é necessário obter os polinómios pi,0(x), i = 0, . . . , n pi,1(x), i = 0, . . . , n − 1 . . . e, finalmente p0,n(x) = p(x). MIEEC (FEUP) MÉTODOS NUMÉRICOS 237 / 458
  • 238. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville y01(x) = y0 x − x0 y1 x − x1 x0 − x1 , y12(x) = y1 x − x1 y2 x − x2 x1 − x2 , . . . y012(x) = y01(x) x − x0 y12(x) x − x2 x0 − x2 , y123(x) = . . . ... MIEEC (FEUP) MÉTODOS NUMÉRICOS 238 / 458
  • 239. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville: exemplo Determinar, em x = 1, o valor do polinómio de grau menor ou igual a 3 que interpola x −1 0 2 3 y 6 −12 18 24 MIEEC (FEUP) MÉTODOS NUMÉRICOS 239 / 458
  • 240. Interpolação polinomial Forma de Aitken-Neville Forma de Aitken-Neville Permite calcular o valor do polinómio interpolador num ponto, sem determinar os seus coeficientes. É possível adicionar e retirar nós nos “extremos” reutilizando os cálculos já efectuados. Se os valores nodais forem alterados é necessário repetir os cálculos. MIEEC (FEUP) MÉTODOS NUMÉRICOS 240 / 458
  • 241. Interpolação polinomial Forma de Newton Vamos agora ver ... 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação Splines MIEEC (FEUP) MÉTODOS NUMÉRICOS 241 / 458
  • 242. Interpolação polinomial Forma de Newton Forma de Newton O polinómio interpolador p é obtido na forma de Newton tomando como centros os nós distintos x0, x1, . . . , xn−1 p(x) = a0 + a1W0(x) + · · · + anWn−1(x) onde W0(x) = x − x0 W1(x) = (x − x0)(x − x1) . . . Wn−1(x) = (x − x0)(x − x1) · · · (x − xn−1) MIEEC (FEUP) MÉTODOS NUMÉRICOS 242 / 458
  • 243. Interpolação polinomial Forma de Newton Forma de Newton Teorema Sendo os polinómios p0, p1, . . . , pn definidos por p0(x) = a0, pk(x) = pk−1(x) + akWk−1(x), k = 1, . . . , n, e definindo os valores a0 = y0, ak = yk − pk−1(xk) Wk−1(xk) , k = 1, . . . , n, então, para k = 0, 1, . . . , n, pk interpola (yj )k j=0 nos nós (xj )k j=0. MIEEC (FEUP) MÉTODOS NUMÉRICOS 243 / 458
  • 244. Interpolação polinomial Forma de Newton Forma de Newton: exemplo Determinar o polinómio de grau menor ou igual a 2 que interpola x −1 2 3 y 1 3 5 MIEEC (FEUP) MÉTODOS NUMÉRICOS 244 / 458
  • 245. Interpolação polinomial Diferenças divididas Vamos agora ver ... 5 Interpolação polinomial Polinómio interpolador: unicidade e existência Forma de Lagrange Forma de Aitken-Neville Forma de Newton Diferenças divididas Diferenças fiinitas Interpolação directa e inversa Dupla interpolação Erro de interpolação Splines MIEEC (FEUP) MÉTODOS NUMÉRICOS 245 / 458
  • 246. Interpolação polinomial Diferenças divididas Diferenças divididas pm,k(x) interpola (xi , yi )m+k i=m pm,k(x) = am,0 + am,1(x − xm) + · · · + am,k(x − xm) · · · (x − xm+k−1) pm,k+1(x) interpola (xi , yi )m+k+1 i=m pm,k+1(x) = am,0 + am,1(x − xm) + · · · + am,k+1(x − xm) · · · (x − xm+k) am,j depende de (xi , yi )m+j i=m → am,j = y[xm, . . . , xm+j ] e designa-se diferença dividida (nos nós xm, . . . , xm+j ). MIEEC (FEUP) MÉTODOS NUMÉRICOS 246 / 458
  • 247. Interpolação polinomial Diferenças divididas Diferenças divididas Teorema As diferenças dividas satisfazem y[xj ] = yj , e y[xm, . . . , xm+k+1] = y[xm+1, . . . , xm+k+1] − y[xm, . . . , xm+k] xm+k+1 − xm . MIEEC (FEUP) MÉTODOS NUMÉRICOS 247 / 458
  • 248. Interpolação polinomial Diferenças divididas Diferenças divididas: forma de Newton O polinómio interpolador na forma de Newton fica agora p(x) = y[x0] + y[x0, x1](x − x0) + · · · + y[x0, . . . , xn](x − x0) · · · (x − xn−1) onde y[x0] = y0 y[x0, x1] = y[x1] − y[x0] x1 − x0 y[x0, x1, x2] = y[x1, x2] − y[x0, x1] x2 − x0 . . . MIEEC (FEUP) MÉTODOS NUMÉRICOS 248 / 458
  • 249. Interpolação polinomial Diferenças divididas Diferenças divididas: forma tabular Exemplo com 4 nós x y[·] y[·, ·] y[·, ·, ·] y[·, ·, ·, ·] x0 y0 y[x0, x1] x1 y1 y[x0, x1, x2] y[x1, x2] y[x0, x1, x2, x3] x2 y2 y[x1, x2, x3] y[x2, x3] x3 y3 MIEEC (FEUP) MÉTODOS NUMÉRICOS 249 / 458
  • 250. Interpolação polinomial Diferenças divididas Diferenças divididas: exemplo Determinar, na forma de Newton, o polinómio de grau menor ou igual a 3 que interpola x −1 0 2 3 y 6 −12 18 24 MIEEC (FEUP) MÉTODOS NUMÉRICOS 250 / 458