mÉtodos numÉricos - paginas.fe.up.ptfaf/mnum/mnum-faf-handout.pdf · apresentação...
Post on 01-Sep-2018
218 Views
Preview:
TRANSCRIPT
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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercícios
2 Equações não LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
3 Sistemas de equações não linearesMIEEC (FEUP) MÉTODOS NUMÉRICOS 2 / 458
Conteúdo
Conteúdo II
Método iterativo simplesMétodo de Newton
4 Aproximação de funçõesAproximação dos mínimos quadradosAproximação em espaços vectoriaisSistemas Sobredeterminados
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoMIEEC (FEUP) MÉTODOS NUMÉRICOS 3 / 458
Conteúdo
Conteúdo III
Splines6 Integração numérica
Regra dos trapéziosRegra de SimpsonIntegração de Romberg
7 Sobre normas de vectores e matrizesNorma de um vectorNorma de uma matriz
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
9 Integração de Equações diferenciaisMIEEC (FEUP) MÉTODOS NUMÉRICOS 4 / 458
Conteúdo
Conteúdo IV
Problema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 5 / 458
Apresentação
Docentes
C. Mendonça e Mouracmm@fe.up.pt
Manuel J. Oliveiramoliv@fe.up.pt
M. Joana Peresjperes@fe.up.pt
Fernando A. Fontesfaf@fe.up.pt
Agradecimentos aos anteriores docentes Aníbal Matos e Miguel Gomespelo 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 deproblemas 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écnicasnumé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 aprogramaçãocalculadorasaplicaçõ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 umEEC.Logo, é importante que ele conheça as potencialidades e fundamentosdos 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 onJune 4, 1996, was ultimately the consequence of a simple overflow.
The Patriot Missile failure, in Dharan, Saudi Arabia, on February 25, 1991which resulted in 28 deaths, is ultimately attributable to poor handling ofrounding errors.
The sinking of the Sleipner A offshore platform in Gandsfjorden, Norway, onAugust 23, 1991, resulted in a loss of nearly one billion dollars. It was foundto 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éricasEquações não linearesSistemas de equações não linearesSistemas de equações linearesAproximação de funçõesInterpolação polinomialIntegração numéricaIntegraçã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ériaapresentação de exemplos ilustrativosesclarecimento 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éricosem linguagem Cgrupos de 2 alunos
resolução de exercícios pelos alunos
MIEEC (FEUP) MÉTODOS NUMÉRICOS 13 / 458
Apresentação
Ferramentas
Uso obrigatóriocalculadora científicacompilador de C
Uso incentivadoaplicações de cálculo numérico e simbólico
MatlabMaple. . .
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 fora 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 deprogramaçã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 anterioresExercícios de programação de anos anteriores
Informação sobre funcionamentoplano das aulassumáriosclassificaçõ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
9 Integração de Equações diferenciais
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áquinascalculadoras?
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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 22 / 458
Erros Valores exacto e aproximado
Valores exacto e aproximado
Valor exacto: xValor aproximado: x∗
Erro (de aproximação): ∆x∗ = x − x∗
x x*
Δx*
Aproximaçãopor defeito: x∗ < x ⇔ ∆x∗ > 0por 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−3expoente: 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 · · · ?
Truncaturaignoram-se algarismos a partir do índice n + 1
Arredondamentose 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 ficandoa 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.
Procedimento1 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−32.240 0.0005 [2.2395, 2.2405] 4 2.2× 10−4
1.5× 102 5 [145, 155] 2 3.3× 10−20.1× 103 50 [50, 150] 1 5× 10−11.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 6= 0. Uma aproximação de x com n algarismos significativos tem umerro relativo inferior a 5× 10−n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 30 / 458
Erros Sistemas de vírgula flutuante
Vamos agora ver ...
1 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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çãon 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 6= 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
underflowoverflowoverflow
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áveistratamento de excepçõesalgoritmos de cálculo. . .
Desvantajoso em termos derepetibilidade de resultadosportabilidade de códigovalidaçã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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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 influenciarresultado: (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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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áximoabsoluto 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) · xf (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çãoy = 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 · xif∣∣∣∣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 doserros máximos absolutos de a e de b.
2 Calcular o erro máximo relativo w = xyz a partir dos erros máximosrelativos 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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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)iai é convergente para um número S.
Verifica-se ainda que a soma parcial Sn =∑n
i=0(−1)iai satisfaz
|S − Sn| ≤ an+1,
ou seja, o erro de truncatura é, em valor absoluto, inferior ou igual aoprimeiro 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 alternada1− 1
3+
15− 1
7+
19− · · ·
é convergente para o valor π4 .
Determinar quantos termos são necessários para calcular este valor com umerro 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 comosin, 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ómiode Taylor.Qual deverá ser o grau do polinómio se se pretender que o erro absolutodevido à 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 ErrosValores exacto e aproximadoSistemas de vírgula flutuanteAritmética em representações finitasPropagação de erros no cálculo de funçõesErro no cálculo de sériesExercí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
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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 δ > 0tal 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 erroabsoluto 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
9 Integração de Equações diferenciais
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
ProblemaDada 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
Directossoluções determinadas por expressões envolvendo ffornecem 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
Iterativosgeram sucessões de soluções aproximadasaplicá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) 6= 01a iteração ↓
x1 : f (x1) 6= 02a iteração ↓
x2 : f (x2) 6= 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 inicialcomo escolher x0?
2 convergência de {xn}é convergente?converge para uma solução?
3 critério de paragemxn próximo de s?f (xn) próximo de 0?número de iterações?
4 rapidez de convergênciaquantas 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 subintervalos1 definir passo h = b−a
n2 calcular f nos pontos xi = a + ih, i = 0, . . . n3 se f (xi )f (xi+1) < 0 então ∃ zero de f em [xi , xi+1]
Característicasaplicação geralsimples de automatizarpossibilidade 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 obtidoestudando as propriedades de futilizando 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 → Rpontos fronteira de Dzeros da função f ′
Teorema
Se f é estritamente monótona em [a, b], então f tem no máximo um zeroem [a, b].
Teorema
Se f é diferenciável, então entre dois números de Rolle consecutivos f temno 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 de1 f (x) = x2 + sin(x)− 12 f (x) = ex ln(x)− 1
2 Utilizando os números de Rolle localize os zeros de1 f (x) = ex − 3x2 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 paragemParando 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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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çãoParte-se de um intervalo tal que a funçãotenha sinais contrários nos seus extremos.
Divide-se o intervalo a meio, escolhe-se osubintervalo 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+bn2 ;
2. Se f (xn+1)f (an) < 0Entã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 fnesse intervalo. Então o método das bissecções sucessivas gera umasucessã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 + b2
⇒ |s − x1| ≤ b − a2
x2 =a1 + b1
2⇒ |s − x2| ≤ b1 − a1
2=
b − a22
...
xn =an−1 + bn−1
2⇒ |s − xn| ≤ bn−1 − an−1
2=
b − a2n
n ≥ log2b − 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 daequaçã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.2771 −1.500 −0.277 −1.000 +0.368 −1.250 +0.0372 −1.500 −0.277 −1.250 +0.037 −1.375 −0.1223 −1.375 −0.122 −1.250 +0.037 −1.313 −0.0434 −1.313 −0.043 −1.250 +0.037 −1.281 −0.0045 −1.281 −0.004 −1.250 +0.037 −1.266 +0.0166 −1.281 −0.004 −1.266 +0.016 −1.273 +0.0067 −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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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 como eixo dos xx da recta que une os pontos(an, f (an)) e (bn, f (bn)).
x an 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) < 0Entã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. Sejamm1 = 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], pelaestimativa 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 absolutoinferior 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+10 −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+10 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.871 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.762 +0.237 −3.763 +1.300 +37.274 +0.334 −3.66 +3.663 +0.334 −3.662 +1.300 +37.274 +0.420 −3.57 +3.574 +0.420 −3.566 +1.300 +37.274 +0.497 −3.47 +3.475 +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 omesmo 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.2271 +0.650 −3.227 +1.300 +37.274 +0.975 −1.6112 +0.975 −1.611 +1.300 +37.274 +1.138 +2.8533 +0.975 −1.611 +1.138 +2.853 +1.056 −0.2204 +1.056 −0.220 +1.138 +2.853 +1.097 +0.9905 +1.056 −0.220 +1.097 +0.990 +1.077 +0.3236 +1.056 −0.220 +1.077 +0.323 +1.066 +0.0387 +1.056 −0.220 +1.066 +0.038 +1.061 −0.0948 +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], sef (a)f (b) ≤ 0 e se o sinal de f ′′ não variar em [a, b], então a sucessãoproduzida pelo método da falsa posição converge monotonamente para ozero de f nesse intervalo. Também se verifica que um dos extremos dointervalo permanece inalterado.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 86 / 458
Equações não Lineares Método da falsa posição
Falsa posição modificadoFb
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 nosextremos de um intervalo [a, b], a sucessão produzida pelo método da falsaposiçã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) < 0Então an+1 = an; bn+1 = xn+1; Fb = f (xn+1);
Se f (xn+1)f (xn) > 0 Então Fa = Fa2 ;
Senão an+1 = xn+1; bn+1 = bn; Fa = f (xn+1);
Se f (xn+1)f (xn) > 0 Então Fb =Fb2 ;
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 def (x) = x + ex
5 − 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+10 +0.000 −4.000 +1.300 +37.274 +0.126 −3.87 +3.871 +0.126 −3.874 +1.300 +37.274 +0.237 −3.76 +3.762 +0.237 −3.763 +1.300 +18.637 +0.415 −3.57 +3.573 +0.415 −3.572 +1.300 +9.318 +0.660 −3.21 +3.214 +0.660 −3.206 +1.300 +4.659 +0.921 −2.14 +2.145 +0.921 −2.138 +1.300 +2.330 +1.102 +1.20 +1.206 +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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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 eexiste s ∈ [a, b] tal que s = F (s), então, para qualquer valor inicialx0 ∈ [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− LL|xn+1 − xn|
Critério de paragem
εn+1 =1− LL|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çãof (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+10 −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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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
x x2 x1 x0 s
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
x x2 x1
x0 s
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 ∈ C 2([a, b]; R) tal que f ′(x) 6= 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 geradapelo método de Newton converge para s sempre que o ponto inicialx0 ∈ [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çãof (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+10 −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 ∈ C 2([a, b]; R) e s um zero de f em [a, b] tal que f ′(s) 6= 0.Então existe δ > 0 tal que a sucessão {xn} gerada pelo método de Newtonconverge 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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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 pelasecante nos dois últimos pontos
x xn-1 xn+1 xn s
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 ∈ C 2([a, b]; R) tal que f ′(x) 6= 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 sempreque os pontos iniciais x−1, x0 ∈ [a, b] satisfizerem f (x−1)f ′′(x−1) ≥ 0 ef (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 dafunçã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+10 −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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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: Fponto fixo: s (s = F (s))
F ′(s) = F ′′(s) = . . . = F (p−1)(s) = 0F (p)(s) 6= 0
xn+1 = F (xn)
xn → so 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 ∝ ∆np
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 ∝ ∆np
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 erropara 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/∆n0 −2.00000 −1.13534 −1.4× 10−1 −1 −1.13534 −1.32131 +4.3× 10−2 −0.2992 −1.32131 −1.26678 −1.2× 10−2 −0.2733 −1.26678 −1.28174 +3.3× 10−3 −0.2804 −1.28174 −1.27756 −9.1× 10−4 −0.2785 −1.27756 −1.27872 +2.5× 10−4 −0.2796 −1.27872 −1.27839 −7.1× 10−5 −0.2787 −1.27839 −1.27848 +2.0× 10−5 −0.2788 −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/∆2n
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.10942 −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
limn→+∞
|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 dasecante, pode ainda afirmar-se que sucessão dos erros de aproximaçãogerada 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/εpn
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.4792 −1.27249 −1.27834 −1.27846 +1.01× 10−7 +5.0× 10−4 0.2553 −1.27834 −1.27846 −1.27846 +1.33× 10−12 +1.7× 10−6 0.3774 −1.27846 −1.27846 −1.27846 +1.33× 10−12 +1.4× 10−10 0.2965 −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 LinearesMétodo das bissecções sucessivasMétodo da falsa posiçãoMétodo iterativo simplesMétodo de NewtonMétodo da SecanteOrdem de convergência: definiçãoRaízes de Polinómios
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
9 Integração de Equações diferenciais
MIEEC (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 6= 0
Teorema
O polinómio p(x) tem n raízes (contando com a multiplicidade). Estasraízes podem ser reais ou complexas, caso em quem surgem em paresconjugados.
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 ondeq(x) = bn−1xn−1 + . . .+ b1x + b0 é o quocienter ∈ C é o resto
an an−1 . . . a1 a0s 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 IO número de raízes reais positivas do polinómio p(x) é igual, ou menorpela diferença de um número par, ao número de mudanças de sinal dosseus coeficientes não nulos.
Regra dos sinais de Descartes IIO número de raízes reais negativas do polinómio p(x) é igual, ou menorpela diferença de um número par, ao número de mudanças de sinal doscoeficientes 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, ou1 real negativa, 2 reais positivas e 2 complexas, ou1 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 (noplano complexo) centrado na origem e de raio
1 + max0≤k≤n−1
∣∣∣∣akan∣∣∣∣
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 podemser obtidas como sendo as raízes de q(x) que é o polinómio quociente dadivisão de p(x) pelo polinómio (x − r1) · · · (x − rk).
EstratégiaIr obtendo raízes, uma de cada vez, e dividir o polinómio até se obter umpolinó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
x20 + 2x0 + 10 = 0 ⇔ x0 = −1± 3j
k xk p(xk) p′(xk)0 −1.00 + j3.00 56.00 + j72.00 60.00− j48.001 −0.98 + j1.81 43.35 + j23.00 25.40 + j12.072 −2.73 + j1.74 −2.57− j69.73 13.53 + j111.883 −2.11 + j1.79 8.26− j15.13 32.70 + j63.124 −1.97 + j1.99 1.84 + j0.91 47.11 + j54.205 −2.00 + j2.00 −0.02− j0.02 48.01 + j56.036 −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 quex2 + px + q seja divisor de p(x).
Em cada iteração é realizada a divisão polinomial
p(x)
x2 + pix + qi= q(x) +
rx + sx2 + pix + qi
que é parada após se obter de q(x), substituindo-se pi → pi+1 e qi → qi+1de 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 . . . −qib2 −qib1 −qi+1b0−pi −pibn−2 . . . −pib1 −pi+1b0
bn−2 bn−3 . . . b0 || 0 0
{a1 − qib1 − pi+1b0 = 0a0 − 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+pkx+qk
0 1 1 x2 − 7x + 241 −0.708333 0.666667 x2 − 5.2917x + 13.58512 −1.506965 1.177764 x2 − 4.4930x + 10.05143 −1.861262 1.591820 x2 − 4.1387x + 8.70494 −2.000237 1.838044 x2 − 3.9998x + 8.16155 −2.039857 1.960428 x2 − 3.9601x + 7.96146 −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
9 Integração de Equações diferenciais
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) = 0f2(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 linearesMétodo iterativo simplesMé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
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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 = 02x1 − 4x2 +
√x1x2 − 3 = 0
(a) Reescreva-o numa forma apropriada para aplicação do métodoiterativo 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 = 0x2 = [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.306191 2.10137 0.30619 1.88976 0.501222 1.88976 0.50122 1.98643 0.438193 1.98643 0.43819 1.96531 0.476464 1.96531 0.47646 1.98357 0.474575 1.98357 0.47457 1.98489 0.484346 1.98489 0.48434 1.99015 0.487577 1.99015 0.48757 1.99247 0.491348 1.99247 0.49134 1.99469 0.493599 1.99469 0.49359 1.99611 0.4954110 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 classeC 1. Sei) existe um número L < 1 tal que
maxj∣∣∣∂gi∂xj
(x)∣∣∣ ≤ L ∀i = 1 . . . n ∀x ∈ D
ii) G (D) ⊂ Dentãoi) existe um e só um z ∈ D tal que z = G (z)
ii) o método iterativo simples converge para z, ∀x(0) ∈ Diii) 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 dascomponentes 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+10 1.000000 1.000000 0.895963 2.303099 2.01 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 linearesMétodo iterativo simplesMé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
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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)]−1F (x) = 0
ou aindax = x − [JF (x)]−1F (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))]−1F (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) = 0f2(x1, x2) = 0
,
a matriz jacobiana JF (x1, x2) =
[a bc d
]=
[∂f1∂x1
∂f1∂x2
∂f2∂x1
∂f2∂x2
]tem como inversa J−1F (x1, x2) = 1
ad−bc
[d −b−c a
].
Logo [x1,(k+1)
x2,(k+1)
]=
[x1,(k)
x2,(k)
]− J−1F
[f1f2
](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 C 2 e z tal que F (z) = 0.Se det(JF (z)) 6= 0 a sucessão gerada pelo método de Newton convergepara 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{4x1x22 − 2x21 x2 + 2 = 02x1 − 4x2 +
√x1x2 − 3 = 0.
Parta do ponto (1.5, 1) e termine a aplicação do método assim que dadiferença entre duas estimativas consecutivas seja inferior 5× 10−6 emqualquer 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
9 Integração de Equações diferenciais
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 emplanos?
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 168 / 458
Aproximação de funções
Aproximação
x
y
(x1, y1) (x2, y2)
(xn, yn)
bcbc
bc
bcbc
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 max1≤i≤n
|di |
3 minimizar∑n
i=1 d2i
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çãolinear 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çõesAproximação dos mínimos quadradosAproximação em espaços vectoriaisSistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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 )ni=1 e as funções φ1, . . . , φk , calcular os parâmetrosc1, . . . , ck que minimizam
e(c1, . . . , ck) =n∑
i=1
d2i =
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
c1n∑
i=1
φ21(xi ) + c2n∑
i=1
φ1(xi )φ2(xi ) + · · ·+ ckn∑
i=1
φ1(xi )φk(xi ) =n∑
i=1
yiφ1(xi )
c1n∑
i=1
φ2(xi )φ1(xi ) + c2n∑
i=1
φ22(xi ) + · · ·+ ckn∑
i=1
φ2(xi )φk(xi ) =n∑
i=1
yiφ2(xi )
. . . . . . . . .
c1n∑
i=1
φk(xi )φ1(xi ) + c2n∑
i=1
φk(xi )φ2(xi ) + · · ·+ ckn∑
i=1
φ2k(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
1n∑
i=1
xi
n∑i=1
xi
n∑i=1
x2i
c1
c2
=
n∑
i=1
yi
n∑i=1
xiyi
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 x2i xiyix1 y1 x21 x1y1x2 y2 x22 x2y2. . . . . . . . . . . .xn yn x2n xnyn∑xi
∑yi
∑x2i
∑xiyi
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
1n∑
i=1
xi
n∑i=1
x2i
n∑i=1
xi
n∑i=1
x2i
n∑i=1
x3i
n∑i=1
x2i
n∑i=1
x3i
n∑i=1
x4i
c1
c2
c3
=
n∑i=1
yi
n∑i=1
xiyi
n∑i=1
x2i 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 10y 1 1 4 4 6 6 7
pora) uma rectab) uma parábolac) 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
bc bc
bc bc
bc bc
bc
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çõesnã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ínimosquadrados, isto é, que minimiza a soma dos quadrados dos desviosmodificados
di = g(yi )− g(F (xi ; c1, . . . , ck))
Após a resolução deste problema, os cj calculam-se por
cj = ψ−1j (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 2y 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
bc
bc
bc
bc
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çõesAproximação dos mínimos quadradosAproximação em espaços vectoriaisSistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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 linearc1v1 + c2v2 + · · ·+ ckvk que melhor aproxima u, no sentido de tornarmí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 umvector u ∈ V . A combinação linear c1v1 + c2v2 + · · ·+ ckvk que tornamí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〉
c1c2...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 )ni=1 e as funções φ1(x), . . . , φk(x) pretende-sedeterminar 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 =
y1y2...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 asoma 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〉
c1c2...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 )
c1c2...
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 , foremlinearmente independentes.
Neste caso, diz-se que as funções φ1, . . . , φk são linearmenteindependentes nos pontos x1, x2, . . . , xn.
Então, o número de pontos (n) deverá ser sempre superior ou igual aonú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 dosmí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çosvectoriais.
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 6= j (vectores ortogonais), então〈v1, v1〉 0 . . . 0
0 〈v2, v2〉 . . . 0...
.... . .
...0 0 . . . 〈vk , vk〉
c1c2...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
0f ∗(t)g(t)dt.
1 Verifique que as funções vk(t) = e j2kπ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 T2 < t ≤ T
Qual a combinação linear de v−N , . . . , v0, . . . , vN que melhor aproximah 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çõesAproximação dos mínimos quadradosAproximação em espaços vectoriaisSistemas Sobredeterminados
5 Interpolação polinomial
6 Integração numérica
7 Sobre normas de vectores e matrizes
8 Sistemas de equações lineares
9 Integração de Equações diferenciais
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çõesm > 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 queminimiza 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 − 2yTAc − cTATAC
Derivando em ordem a c e igualando a zero
−2yTA + 2cTATA = 0
⇔ ATAc = AT y (1)
Se a matriz ATA possuir inversa (se as colunas de A forem lin. indep.)então
c = (ATA)−1AT y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 201 / 458
Aproximação de funções Sistemas Sobredeterminados
Pseudo-inversa
A matriz (ATA)−1AT designa-se por pseudo-inversa e representa-se porA+. No caso em que A admite inversa A+ = A−1.
TeoremaSeja Ac = y um sistema (sobredeterminado ou não) em que as colunas deA são linearmente independentes. Então a solução de mínimos quadradosdo sistema é dada por
c = A+y
onde A+ = (ATA)−1AT .
Em alguns sistemas de computação numérica (ex: Matlab) a solução desistemas 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)ATAc = AT y
é uma outra forma de escrever as equações normais, pois reescrevendocomo
AT (Ac − y) = 0⇔ ATd = 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
9 Integração de Equações diferenciais
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)
bcbc
bc
bc
bc
bcbc
bc
bc
bcg(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 6= j ⇒ xi 6= xj )
y0, y1, . . . , yn são os valores nodaisMIEEC (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, porexemplo obtidos experimentalmente
Aproximação de funções cujo cálculo seja complexo ou exija grandeesforç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 6= 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 numintervalo 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
maxx∈[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 ← anPara 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 ← anPara 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 polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
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 interpolaos 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 verificama0 + a1x0 + . . .+ anxn0 = y0a0 + a1x1 + . . .+ anxn1 = y1. . .a0 + a1xn + . . .+ anxnn = yn
que não é mais do que um sistema de n + 1 equações lineares nas n + 1incó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 x20 . . . xn−10 xn01 x1 x21 . . . xn−11 xn1...
......
. . ....
...1 xn x2n . . . xn−1n xnn
∣∣∣∣∣∣∣∣∣
MIEEC (FEUP) MÉTODOS NUMÉRICOS 217 / 458
Interpolação polinomial Polinómio interpolador: unicidade e existência
Determinante de Vandermonde
∣∣∣∣∣∣∣∣∣1 x0 x20 . . . xn−10 01 x1 x21 . . . xn−11 xn−11 (x1 − x0)...
......
. . ....
...1 xn x2n . . . xn−1n xn−1n (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−20 0 0
1 x1 x21 . . . xn−2
1 xn−21 (x1 − x0) xn−1
1 (x1 − x0)...
......
. . ....
......
1 xn x2n . . . xn−2
n xn−2n (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 01 x1 − x0 x1(x1 − x0) . . . xn−2
1 (x1 − x0) xn−11 (x1 − x0)
......
.... . .
......
1 xn − x0 xn(xn − x0) . . . xn−2n (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−11 (x1 − x0)
x2 − x0 x2(x2 − x0) . . . xn−22 (x2 − x0) xn−1
2 (x2 − x0)...
.... . .
......
xn − x0 xn(xn − x0) . . . xn−2n (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−11
1 x2 x22 . . . xn−1
2...
......
. . ....
1 xn x2n . . . 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 )ni=0 nos nós distintos (xi )ni=0, como se determina opolinómio interpolador p, de grau ≤ n?
Uma possibilidade é resolver o sistema de equaçõesa0 + a1x0 + . . .+ anxn0 = y0a0 + a1x1 + . . .+ anxn1 = y1. . .a0 + a1xn + . . .+ anxnn = 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 polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
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=0i 6=k
x − xixk − xi
e verificam as relações
Lk(xj) = δkj =
{1 se k = j0 se k 6= 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 dopolinó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ósdistintos x0, x1, . . . , xn.
A unicidade mostra-se facilmente. Suponha-se que p1(x) e p2(x) são doispolinómios interpoladores de grau menor ou igual que ≤ n. O polinómiod(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 3y 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 ospolinómios Lk
Se um ou mais valores nodais forem alterados, os polinómios Lkmantêm-se, sendo apenas necessário recalcular a combinação destespara obter p(x)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 231 / 458
Interpolação polinomial Forma de Aitken-Neville
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
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
bc
bc
bc
bc
pm,k (x)
bc
bc
bc
bc
pm+1,k (x)
bc
bc
bc
bc
pm,k+1(x)
bc
bc
bc
bc
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+ki=m nos nós (xi )m+k
i=m
e se pm+1,k(x) interpola (yi )m+k+1i=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+1i=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) · y1x0 − 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 − xmpm+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 )ni=0 em (xi )ni=0 é necessário obter ospolinómios
pi ,0(x), i = 0, . . . , npi ,1(x), i = 0, . . . , n − 1. . . e, finalmentep0,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 − x0y1 x − x1x0 − x1
, y12(x) =
y1 x − x1y2 x − x2x1 − x2
, . . .
y012(x) =
y01(x) x − x0y12(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 3que interpola
x −1 0 2 3y 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, semdeterminar os seus coeficientes.
É possível adicionar e retirar nós nos “extremos” reutilizando oscá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 polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
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 comocentros os nós distintos x0, x1, . . . , xn−1
p(x) = a0 + a1W0(x) + · · ·+ anWn−1(x)
onde
W0(x) = x − x0W1(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)kj=0 nos nós (xj)kj=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 3y 1 3 5
MIEEC (FEUP) MÉTODOS NUMÉRICOS 244 / 458
Interpolação polinomial Diferenças divididas
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 245 / 458
Interpolação polinomial Diferenças divididas
Diferenças divididas
pm,k(x) interpola (xi , yi )m+ki=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+1i=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+ji=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 3que interpola
x −1 0 2 3y 6 −12 18 24
MIEEC (FEUP) MÉTODOS NUMÉRICOS 250 / 458
Interpolação polinomial Diferenças fiinitas
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 251 / 458
Interpolação polinomial Diferenças fiinitas
Diferenças finitas
Definição
A diferença finita de ordem k ∈ N0 e passo h > 0 da função frepresenta-se por ∆k
hf e o seu valor no ponto x é
∆0hf (x) = f (x),
∆k+1h f (x) = ∆k
hf (x + h)−∆khf (x), k = 0, 1, . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 252 / 458
Interpolação polinomial Diferenças fiinitas
Diferenças finitas: forma tabular
x y ∆y ∆2y . . . ∆n−1y ∆nyx0 y0
∆y0x1 y1 ∆2y0
∆y1 . . .
. . . . . . . . . ∆n−1y0. . . . . . ∆ny0
. . . . . . . . . ∆n−1y1∆yn−2 . . .
xn−1 yn−1 ∆2yn−2∆yn−1
xn yn
MIEEC (FEUP) MÉTODOS NUMÉRICOS 253 / 458
Interpolação polinomial Diferenças fiinitas
Diferenças finitas e diferenças divididas
Teorema
A diferença dividida de ordem k dos valores nodais y nos nósh-equidistantes xi , xi+1, . . . , xi+k satisfaz
y [xi , . . . , xi+k ] =1
k!hk∆kyi
MIEEC (FEUP) MÉTODOS NUMÉRICOS 254 / 458
Interpolação polinomial Diferenças fiinitas
Nós equidistantes: exemplo
Determinar o polinómio p, de grau menor ou igual a 3,que interpola os valores da seguinte tabela.
x −1 1 3 5y 2 5 3 1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 255 / 458
Interpolação polinomial Diferenças fiinitas
Forma de Newton
É possível adicionar nós e retirar nós nos “extremos” reaproveitando oscálculos já efectuados.
A alteração dos valores nodais obriga a refazer os cálculos.
Os cálculos tornam-se mais simples se os nós estiverem igualmenteespaçados.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 256 / 458
Interpolação polinomial Interpolação directa e inversa
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 257 / 458
Interpolação polinomial Interpolação directa e inversa
Interpolação directa e inversa
Sejam f : [a, b]→ R , (xi )ni=0 nós distintos em [a, b] e yi = f (xi ),i = 0, 1, . . . , n.
A interpolação directa de f consiste em obter o polinómio p de menorgrau tal que p(xi ) = yi , i = 0, 1, . . . , n.
Se f admitir inversa então a interpolação inversa de f consiste em obtero polinómio q de menor grau tal que
q(yi ) = xi , i = 0, 1, . . . , n.
Agora (yi )ni=0 são os nós de interpolação e (xi )ni=0 são os valores nodais, dafunção f −1 a interpolar.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 258 / 458
Interpolação polinomial Interpolação directa e inversa
Interpolação inversa: exemplo de aplicação
Determinar, por interpolação inversa, um valor aproximado do zero def (x) = 3
2 sin(x)− e−x no intervalo [0, 1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 259 / 458
Interpolação polinomial Dupla interpolação
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 260 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação
Sejam f : R2 → R, (xi )ni=0 distintos, e (yj)mi=0 distintos
Dados os valores zij = f (xi , yj) pretende-se obter f (x , y)
Pode utilizar-se dupla interpolação, que consiste em efectuarinterpolações polinomiais independentes nas duas variáveis
MIEEC (FEUP) MÉTODOS NUMÉRICOS 261 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação: primeira alternativa
1 Interpolando em x , obtém-se para cada j o polinómio pj que interpolaos valores (zij)ni=0 nos nós (xi )ni=0.
2 Posteriormente, determina-se o polinómio q que interpola os valorespj(x) nos nós (yj)mj=0.
3 O valor procurado será q(y).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 262 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação
f (x , y) y0 . . . yl y yl+1 . . . ymx0 z00 . . . z0l z0,l+1 . . . z0m...
.... . .
......
. . ....
xk zk0 . . . zkl zk,l+1 . . . zkmx p0(x) . . . pl (x) q(y) pl+1(x) . . . pm(x)
xk+1 zk+1,0 . . . zk+1,l zk+1,l+1 . . . zk+1,m...
.... . .
......
. . ....
xn zn0 . . . znl zn,l+1 . . . znm
MIEEC (FEUP) MÉTODOS NUMÉRICOS 263 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação: segunda alternativa
1 Interpolando em y , obtém-se para cada i o polinómio qi que interpolaos valores (zij)mj=0 nos nós (yj)mj=0.
2 Posteriormente, determina-se o polinómio p que interpola os valoresqi (y) nos nós (xi )ni=0.
3 O valor procurado será p(x).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 264 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação
f (x , y) y0 . . . yl y yl+1 . . . ymx0 z00 . . . z0l q0(y) z0,l+1 . . . z0m...
.... . .
......
.... . .
...xk zk0 . . . zkl qk(y) zk,l+1 . . . zkmx p(x)
xk+1 zk+1,0 . . . zk+1,l qk+1(y) zk+1,l+1 . . . zk+1,m...
.... . .
......
.... . .
...xn zn0 . . . znl qn(y) zn,l+1 . . . znm
MIEEC (FEUP) MÉTODOS NUMÉRICOS 265 / 458
Interpolação polinomial Dupla interpolação
Dupla interpolação: exemplo
1 Considere a tabela com valores de z(x , y) conhecidos.
yz 1 2 4 6
1 10 15 18 22x 2 7 12 15 20
5 5 8 10 14
1 Com interpolação linear em x e em y , estime z(4, 5)
1 interpolando primeiro em x .2 interpolando primeiro em y .
2 Estime agora z(4, 5) utilizando primeiro interpolação linear em x edepois quadrática em y .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 266 / 458
Interpolação polinomial Erro de interpolação
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 267 / 458
Interpolação polinomial Erro de interpolação
Erro na interpolação de funções
Sejam f : [a, b]→ R e os nós (xi )ni=0 em [a, b]
Seja p o polinómio de menor grau que interpola f em (xi )ni=0
Qual o erro que se comete ao aproximar f (x) por p(x)?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 268 / 458
Interpolação polinomial Erro de interpolação
Erro de interpolação
Teorema
Sejam f ∈ Cn+1([a, b]; R) e p o polinómio de grau menor ou igual a n queinterpola f nos nós distintos (xi )ni=0, pertencentes a [a, b]. Então, paraqualquer x ∈ [a, b] existe ξ ∈ [a, b] tal que
e(x) ≡ f (x)− p(x) =1
(n + 1)!f (n+1)(ξ)Wn(x),
onde Wn(x) = (x − x0)(x − x1) · · · (x − xn).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 269 / 458
Interpolação polinomial Erro de interpolação
Diferenças divididas e derivadas
Lema
Sejam f ∈ C k([a, b]; R) e (xi )ki=0 um conjunto de nós distintos em [a, b].Então existe ξ ∈ [a, b] tal que
f [x0, x1, . . . , xk ] =1k!
f (k)(ξ).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 270 / 458
Interpolação polinomial Erro de interpolação
Erro de interpolação
Estando os nós ordenados de forma crescente e sendo h o espaçamentomáximo entre nós consecutivos, a majoração de |Wn| conduz a
|e(x)| ≤ hn+1
4(n + 1)· maxz∈[a,b]
|f (n+1)(z)|
válida para todo o x ∈ [x0, xn].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 271 / 458
Interpolação polinomial Erro de interpolação
Erro de interpolação: exercício 1
Pretende-se construir uma tabela da função f (x) = tan(x) no intervalo[0, π4 ] com nós equidistantes, por forma a que o erro absoluto cometidoquando se interpola linearmente nesta tabela não exceda 5× 10−5. Qual oespaçamento mínimo entre os nós?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 272 / 458
Interpolação polinomial Erro de interpolação
Erro de interpolação: exercício 2
Pretende-se aproximar a função ex no intervalo [−1, 1] por um polinómiointerpolador em nós igualmente espaçados, de forma a que o erro absolutocometido seja inferior a 5× 10−8. Determine a ordem mínima para opolinómio interpolador.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 273 / 458
Interpolação polinomial Erro de interpolação
Aproximação por polinómios interpoladores
Interpolação de f (x) = 11+25x2 em [−1, 1] (nós equidistantes)
5 nós
7 nós
9 nós
MIEEC (FEUP) MÉTODOS NUMÉRICOS 274 / 458
Interpolação polinomial Erro de interpolação
Rigidez dos polinómios
Oscilações crescentes ao aumentar o grau do polinómio.
Como evitar este fenómeno?
escolhendo criteriosamente a localização dos nós
utilizar outras funções interpoladoras
MIEEC (FEUP) MÉTODOS NUMÉRICOS 275 / 458
Interpolação polinomial Splines
Vamos agora ver ...
5 Interpolação polinomialPolinómio interpolador: unicidade e existênciaForma de LagrangeForma de Aitken-NevilleForma de NewtonDiferenças divididasDiferenças fiinitasInterpolação directa e inversaDupla interpolaçãoErro de interpolaçãoSplines
MIEEC (FEUP) MÉTODOS NUMÉRICOS 276 / 458
Interpolação polinomial Splines
Splines polinomiais
Definição
Uma função S diz-se um spline polinomial de grau m (onde m ∈ N),relativo aos nós a = x0 < x1 < · · · < xn = b, quando
1 S coincide com um polinómio Si de grau menor ou igual a m em cadasubintervalo [xi−1, xi ], i = 1, . . . , n.
2 S ∈ Cm−1([a, b]; R).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 277 / 458
Interpolação polinomial Splines
Interpolação por splines polinomiais
Dados os nós x0 < x1 < · · · < xn e os valores nodais y0, y1, . . . , yn, ainterpolação por splines de grau m consiste em encontrar um spline Sde grau m relativoaos nós x0 < x1 < · · · < xn tal que
S(xi ) = yi , i = 0, 1, . . . , n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 278 / 458
Interpolação polinomial Splines
Interpolação por splines polinomiais
Algumas questões importantes:
será que existe spline interpolador?
será que o spline interpolador é único?
como determinar os polinómios Si que o definem?
qual o erro na interpolação de uma função por splines?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 279 / 458
Interpolação polinomial Splines
Splines lineares (ou de grau 1)
O spline S coincide em [xi−1, xi ] com o segmento de recta que passa pelospontos (xi−1, yi−1) e (xi , yi ).
x x0 x1 x2 x3 x4
y0 y1
y2
y3 y4
y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 280 / 458
Interpolação polinomial Splines
Splines lineares
Os polinómios Si , definidores do spline, satisfazem
Si (xi−1) = yi−1 i = 1, . . . , n,Si (xi ) = yi i = 1, . . . , n.
de onde resultam 2n equações.
Spline é definido por 2n coeficientes.
Spline existe e é único.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 281 / 458
Interpolação polinomial Splines
Splines lineares
Os polinómios Si , definidores do spline, serão dados por
Si (x) = yi−1xi − xhi
+ yix − xi−1
hi
para i = 1, 2, . . . , n. Nota: hi = xi − xi−1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 282 / 458
Interpolação polinomial Splines
Aproximação por splines lineares
Sendo yi = f (xi ), onde f é de classe C 2, o erro de aproximação por umspline de grau 1 é majorado por
|e| ≤ 18· |f ′′|∣∣
max· h2
com h = max{hi : 1 ≤ i ≤ n}.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 283 / 458
Interpolação polinomial Splines
Splines quadráticos (ou de grau 2)
O spline coincide em cada intervalo [xi−1, xi ] com um arco de parábola.
Estes arcos ligam-se de forma contínua, deverão passar pelos valores ainterpolar e assegurar a continuidade da primeira derivada nos nósx1, x2, . . . , xn−1.
x x0 x1 x2 x3 x4
y0 y1
y2
y3 y4
y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 284 / 458
Interpolação polinomial Splines
Splines quadráticos
As condições a impor aos polinómios Si , definidores do spline S , serão
Si (xi−1) = yi−1 i = 1, . . . , n,Si (xi ) = yi i = 1, . . . , n,S ′i (xi ) = S ′i+1(xi ) i = 1, . . . , n − 1.
que resultam em 3n − 1 equações.
Spline é definido por 3n coeficientes.
Spline não único: necessário impor condição adicional.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 285 / 458
Interpolação polinomial Splines
Splines quadráticos
Definindo Si , i = 1, . . . , n, como
Si (x) = yi−1 + mi−1(x − xi−1) +Mi
2(x − xi−1)2
os valores mi e Mi determinam-se por recorrência
mi = 2 · yi − yi−1hi
−mi−1 i = 1, . . . , n,
Mi =mi −mi−1
hii = 1, . . . , n.
sendo necessário definir o valor adicional m0.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 286 / 458
Interpolação polinomial Splines
Splines quadráticos
São pouco utilizados, pois habitualmente apresentam um comportamentocom grandes oscilações.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 287 / 458
Interpolação polinomial Splines
Splines cúbicos (ou de grau 3)
Em [xi−1, xi ] o spline S coincide com um polinómio de grau menor ou iguala 3.
Estas funções polinomiais ligam-se de forma contínua, deverão passar pelosvalores a interpolar e assegurar a continuidade da primeira e segundaderivadas nos nós x1, x2, . . . , xn−1.
x x0 x1 x2 x3 x4
y0 y1
y2
y3 y4
y
MIEEC (FEUP) MÉTODOS NUMÉRICOS 288 / 458
Interpolação polinomial Splines
Splines cúbicos
As condições a impor aos polinómios Si , definidores do spline S , serão
Si (xi−1) = yi−1 i = 1, . . . , n,Si (xi ) = yi i = 1, . . . , n,S ′i (xi ) = S ′i+1(xi ) i = 1, . . . , n − 1,S ′′i (xi ) = S ′′i+1(xi ) i = 1, . . . , n − 1.
que resultam em 4n − 2 equações.
Spline é definido por 4n coeficientes.
Spline não único: necessárias duas condições adicionais.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 289 / 458
Interpolação polinomial Splines
Splines cúbicos
Definindo Mi = S ′′(xi ), para i = 0, 1, . . . , n, a continuidade da segundaderivada fica assegurada se
S ′′i (x) = Mi−1xi − xhi
+ Mix − xi−1
hi
Os parâmetros Mi são habitualmente designados por momentos.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 290 / 458
Interpolação polinomial Splines
Splines cúbicos
Si (x) = Mi−1(xi − x)3
6hi+ Mi
(x − xi−1)3
6hi+(
yi−1 − Mi−1h2i6
)xi − xhi
+
(yi − Mih2i
6
)x − xi−1
hi
MIEEC (FEUP) MÉTODOS NUMÉRICOS 291 / 458
Interpolação polinomial Splines
Splines cúbicos
Os momentos M0, . . . ,Mn deverão satisfazer as equações
hi6Mi−1 +
hi + hi+1
3Mi +
hi+1
6Mi+1 =
yi+1 − yihi+1
− yi − yi−1hi
para i = 1, 2, . . . , n − 1.
Sistema de n − 1 equações lineares com n + 1 incógnitas.
Impondo-se M0 = 0 e Mn = 0 obtém-se o spline natural.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 292 / 458
Interpolação polinomial Splines
Splines cúbicos: propriedades
Teorema
Sejam os nós a = x0 < · · · < xn = b e os valores nodais y0, . . . , yn. Então,de todas as funções g ∈ C 2([a, b]; R) que interpolam estes pontos, o splinecúbico natural é a única que torna mínimo o valor de∫ b
a[g ′′(x)]2dx .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 293 / 458
Interpolação polinomial Splines
Splines cúbicos interpoladores
Caso os valores nodais obedeçam a yi = f (xi ), onde f é uma função declasse C 4, o erro de interpolação por um spline cúbico é majorado por
|e| ≤ 5384· |f (4)|∣∣
max· h4
onde h = max{hi : 1 ≤ i ≤ n}.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 294 / 458
Interpolação polinomial Splines
Interpolação por splines: exemplo
Interpolar, por splines polinomiais, a função
f (x) =1
1 + 25x2x ∈ [−1, 1]
utilizando 7 pontos equidistantes do intervalo [−1, 1].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 295 / 458
Interpolação polinomial Splines
Interpolação por splines: exemplo
Os polinómios definidores do spline linear serão
S1(x) = 0.17078 + 0.13232x , x ∈ [−1,−23 ]
S2(x) = 0.44684 + 0.54641x , x ∈ [−23 ,−1
3 ]
S3(x) = 1 + 2.20588x , x ∈ [−13 , 0]
S4(x) = 1− 2.20588x , x ∈ [0, 13 ]
S5(x) = 0.44684− 0.54641x , x ∈ [13 ,23 ]
S6(x) = 0.17078− 0.13232x , x ∈ [23 , 1]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 296 / 458
Interpolação polinomial Splines
Interpolação por splines: exemplo
Os polinómios definidores do spline quadrático serão
S1(x) = 0.43543 + 0.79393x + 0.39697x2, x ∈ [−1,−23 ]
S2(x) = 0.63469 + 1.39171x + 0.84530x2, x ∈ [−23 ,−1
3 ]
S3(x) = 1 + 3.58359x + 4.13311x2, x ∈ [−13 , 0]
S4(x) = 1 + 3.58359x − 17.36841x2, x ∈ [0, 13 ]
S5(x) = 5.41280− 22.89323x + 22.34682x2, x ∈ [13 ,23 ]
S6(x) = −13.89892 + 35.04193x − 21.10455x2, x ∈ [23 , 1]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 297 / 458
Interpolação polinomial Splines
Interpolação por splines: exemplo
Os polinómios definidores do spline cúbico serão
S1(x) = −0.63728− 2.49388x − 2.72721x2 − 0.90907x3, x ∈ [−1,− 23 ]
S2(x) = 2.08308 + 9.74775x + 15.63523x2 + 8.27215x3, x ∈ [− 23 ,− 1
3 ]
S3(x) = 1− 13.60801x2 − 20.97109x3, x ∈ [− 13 , 0]
S4(x) = 1− 13.60801x2 + 20.97109x3, x ∈ [0, 13 ]
S5(x) = 2.08308− 9.74775x + 15.63523x2 − 8.27215x3, x ∈ [ 13 ,23 ]
S6(x) = −0.63728 + 2.49388x − 2.72721x2 + 0.90907x3, x ∈ [ 23 , 1]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 298 / 458
Interpolação polinomial Splines
Interpolação por splines: exemplo
linear
quadratico
cubico
linear
cubico
MIEEC (FEUP) MÉTODOS NUMÉRICOS 299 / 458
Integração numérica
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
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 300 / 458
Integração numérica
Integração numérica
Para calcular∫ 1
0sin x2dx , encontra-se h(x) tal que h′(x) = sin x2 e
calcula-se h(1)− h(0).
Mas h(x) não pode ser escrita à custa de um número finito de funçõesconhecidas!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 301 / 458
Integração numérica
Integração numérica
Dada uma função f definida num intervalo [a, b], consiste em obter valoresaproximados de
I (f ) =
∫ b
af (x)dx
sem obter uma primitiva de f .
x
f(x)
a b
MIEEC (FEUP) MÉTODOS NUMÉRICOS 302 / 458
Integração numérica
Integração numérica: interesse
1 quando não se conhece expressão analítica de f
2 quando não se conhecem expressões analíticas de primitivas de f
3 quando o cálculo de primitivas de f é dispendioso
MIEEC (FEUP) MÉTODOS NUMÉRICOS 303 / 458
Integração numérica
Integração numérica: metodologia
1 Aproximar f por uma função g de primitivação simples(vamos usar polinómios!)
2 Aproximar o integral de f por
I (f ) ' I (g) =
∫ b
ag(x)dx
3 O erro cometido é
E (f ) = I (f )− I (g) = I (f − g)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 304 / 458
Integração numérica
Regras de integração básicas
Aproximar∫ ba f (x)dx por
∫ ba pn(x)dx , onde pn é o polinómio de menor grau
que interpola f nos nós x0 < x1 < · · · < xn de [a, b].
Como pn(x) =∑n
i=0 f (xi )Li (x), onde os Li são os polinómios de Lagrangenos nós (xi )ni=0, temos∫ b
af (x)dx '
∫ b
apn(x)dx =
∫ b
a
(n∑
i=0
f (xi )Li (x)
)dx =
n∑i=0
Ai f (xi )
onde Ai =∫ ba Li (x)dx .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 305 / 458
Integração numérica
Regras de integração básicas: exemplos
xa x0 b
y1f(x)
x1
y0
p1(x)
Polinómio interpolador em 2 nós
MIEEC (FEUP) MÉTODOS NUMÉRICOS 306 / 458
Integração numérica
Regras de integração básicas: exemplos
xa x0 b
y2f(x)
x2
y0 p2(x)
x1
y1
Polinómio interpolador em 3 nós
MIEEC (FEUP) MÉTODOS NUMÉRICOS 307 / 458
Integração numérica
Regras de integração básicas: exactidão
Definição
Uma regra de integração diz-se de grau ou exactidão n se integrarexactamente todos os polinómios de grau menor ou igual a n e existir pelomenos um polinómio de grau n + 1 que não é integrado exactamente.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 308 / 458
Integração numérica
Regras de integração básicas: erro
O erro de integração será
E (f ) =
∫ b
ae(x)dx =
∫ b
af [x0, . . . , xn, x ]Wn(x)dx
Nota: Se f é Cn+1 então x 7→ f [x0, x1, . . . , xn, x ] é contínua e existeξ ∈ [a, b] tal que f [x0, x1, . . . , xn, x ] = 1
(n+1)! f(n+1)(ξ).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 309 / 458
Integração numérica
Regras de integração compostas
Sejam a = a0 < a1 < · · · < an = b. Em cada subintervalo [ai−1, ai ], afunção f é interpolada por um polinómio pi , de grau menor ou igual a ki .
A aproximação de∫ ba f (x)dx será
I (f ) =
∫ b
af (x)dx =
n∑i=1
∫ ai
ai−1f (x)dx '
n∑i=1
∫ ai
ai−1pi (x)dx
MIEEC (FEUP) MÉTODOS NUMÉRICOS 310 / 458
Integração numérica Regra dos trapézios
Vamos agora ver ...
6 Integração numéricaRegra dos trapéziosRegra de SimpsonIntegração de Romberg
MIEEC (FEUP) MÉTODOS NUMÉRICOS 311 / 458
Integração numérica Regra dos trapézios
Regra dos trapézios
Em cada subintervalo é utilizado o polinómio de grau menor ou igual a 1que interpola f nos seus extremos.
x a=x0 x1 xn=b
...
y1
x2
f(x)
xn-1
y0 y2 yn
yn-1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 312 / 458
Integração numérica Regra dos trapézios
Regra dos trapézios
A expressão da regra de integração dos trapézios é
I (f ) ' h2
(y0 + 2y1 + 2y2 + · · ·+ 2yn−1 + yn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 313 / 458
Integração numérica Regra dos trapézios
Regra dos trapézios: erro de truncatura
O erro de truncatura da regra dos trapézios é dado por
E (f ) = −h2
12(b − a)f ′′(ξ)
podendo usar-se o majorante
|E (f )| =h2
12(b − a) max
x∈[a,b]|f ′′(x)|
MIEEC (FEUP) MÉTODOS NUMÉRICOS 314 / 458
Integração numérica Regra dos trapézios
Regra dos trapézios: erro de arredondamento
Tendo cada yi um erro absoluto máximo ε, o erro de arredondamento εa naregra dos trapézios satisfará
εa ≤ (b − a)ε
Um majorante para o erro absoluto total, na aplicação da regra dostrapézios será
|E (f )|+ εa
MIEEC (FEUP) MÉTODOS NUMÉRICOS 315 / 458
Integração numérica Regra dos trapézios
Regra dos trapézios: exemplo
Calcular um valor aproximado de∫ 10 e−x2dx , utilizando a regra dos
trapézios com 20 subintervalos e obter um majorante para o erro cometido,considerando que os valores de f são exactos.Qual o erro máximo absoluto admissível para os valores de f se se pretenderque o erro de arredondamento não seja superior ao erro de truncatura?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 316 / 458
Integração numérica Regra de Simpson
Vamos agora ver ...
6 Integração numéricaRegra dos trapéziosRegra de SimpsonIntegração de Romberg
MIEEC (FEUP) MÉTODOS NUMÉRICOS 317 / 458
Integração numérica Regra de Simpson
Regra de Simpson
Consideram-se agora polinómios de grau menor ou igual a 2, cada uminterpolando f em três pontos igualmente espaçados.
O número n de subintervalos deverá ser par, pois cada parábolainterpoladora é definida em dois subintervalos consecutivos (3 pontos).
x a=x0 x1 xn=b
...
y1
x4
f(x)
y0 y4 yn
x3 x2
y3 y2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 318 / 458
Integração numérica Regra de Simpson
Regra de Simpson
A expressão da regra de integração de Simpson é
I (f ) ' h3
(y0 + 4y1 + 2y2 + 4y3 + 2y4 + · · ·+ 4yn−1 + yn)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 319 / 458
Integração numérica Regra de Simpson
Regra de Simpson: erro de truncatura
O erro de truncatura da regra de Simpson é dado por
E (f ) = − h4
180(b − a)f (4)(ξ)
podendo usar-se o majorante
|E (f )| =h4
180(b − a) max
x∈[a,b]|f (4)(x)|
MIEEC (FEUP) MÉTODOS NUMÉRICOS 320 / 458
Integração numérica Regra de Simpson
Regra de Simpson: erro de arredondamento
Tendo cada yi um erro absoluto máximo ε, o erro de arredondamento εa naregra de Simpson satisfará
εa ≤ (b − a)ε
Um majorante para o erro absoluto total na aplicação da regra deSimpson será
|E (f )|+ εa
MIEEC (FEUP) MÉTODOS NUMÉRICOS 321 / 458
Integração numérica Regra de Simpson
Regra de Simpson: exemplo
Calcular um valor aproximado de∫ 10 e−x2dx , utilizando a regra de Simpson
com 12 subintervalos e obter um majorante para o erro cometido,considerando que os valores de f são exactos.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 322 / 458
Integração numérica Integração de Romberg
Vamos agora ver ...
6 Integração numéricaRegra dos trapéziosRegra de SimpsonIntegração de Romberg
MIEEC (FEUP) MÉTODOS NUMÉRICOS 323 / 458
Integração numérica Integração de Romberg
Integração de Romberg
Consiste em obter estimativas de I =∫ ba f (x)dx partindo de várias
aplicações da regra dos trapézios, com subintervalos de larguras diferentes.
Sendo T (h) o valor aproximado de I dado pela regra dos trapézios comsubintervalos de largura h, tem-se que
I = T (h) + K1h2 + K2h4 + K3h6 + · · ·
onde K1,K2,K3, . . . são constantes independentes de h.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 324 / 458
Integração numérica Integração de Romberg
Integração de Romberg
Se T1(h) = 4T (h/2)−T (h)3 então I = T1(h) + K ′1h
4 + K ′2h6 + · · ·
Se T2(h) = 16T1(h/2)−T1(h)15 então I = T2(h) + K ′′1 h
6 + K ′′2 h8 + · · ·
Se T3(h) = 64T2(h/2)−T2(h)63 então I = T3(h) + K ′′′1 h8 + K ′′′2 h10 + · · ·
. . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 325 / 458
Integração numérica Integração de Romberg
Integração de Romberg
Definindo
T0(h) = T (h)
Tn(h) =4nTn−1(h/2)− Tn−1(h)
4n − 1, n = 1, 2, . . .
verifica-se que
I = Tn(h) + Kn,1h2n+2 + Kn,2h2n+4 + · · ·
MIEEC (FEUP) MÉTODOS NUMÉRICOS 326 / 458
Integração numérica Integração de Romberg
Integração de Romberg: exemplo
Obter uma estimativa de∫ 10
dx1+x2 com erro de ordem 8, utilizando um valor
de inicial de h = 0.25.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 327 / 458
Integração numérica Integração de Romberg
Integração de Romberg: exemplo
Valores obtidos com a regra dos trapézios
h T (h)
0.25 0.78279411764710.125 0.78474712362280.0625 0.78523540301030.03125 0.7853574732937
MIEEC (FEUP) MÉTODOS NUMÉRICOS 328 / 458
Integração numérica Integração de Romberg
Integração de Romberg: exemplo
Os valores extrapolados encontram-se na tabela seguinte
h T (h) T1(h) T2(h) T3(h)
0.25 0.7827941176471 0.7853981256147 0.7853981652856 0.78539816339750.125 0.7847471236228 0.7853981628062 0.78539816342700.0625 0.7852354030103 0.78539816338820.03125 0.7853574732937
O valor do integral a calcular é π4 = 0.78539816339744830963 . . .
O erro de T3(0.25) é cerca de 10−13,enquanto o erro de T (0.03125) é cerca de 4× 10−5!!!!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 329 / 458
Sobre normas de vectores e matrizes
Um novo capítulo ...
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
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 330 / 458
Sobre normas de vectores e matrizes Norma de um vector
Vamos agora ver ...
7 Sobre normas de vectores e matrizesNorma de um vectorNorma de uma matriz
MIEEC (FEUP) MÉTODOS NUMÉRICOS 331 / 458
Sobre normas de vectores e matrizes Norma de um vector
Norma de um vector
V : espaço vectorial
norma: ‖ · ‖ : V → R
1 ‖x‖ ≥ 0 ∀x ∈ V e ‖x‖ = 0⇒ x = 0
2 ‖αx‖ = |α| · ‖x‖ ∀α ∈ R,∀x ∈ V
3 ‖x + y‖ ≤ ‖x‖+ ‖y‖ ∀x , y ∈ V
MIEEC (FEUP) MÉTODOS NUMÉRICOS 332 / 458
Sobre normas de vectores e matrizes Norma de um vector
Norma euclidiana em Rn
x = (x1, x2, . . . , xn) ∈ Rn
‖x‖2 =√
x21 + x22 + · · ·+ x2n =
(n∑
i=1
x2i
) 12
MIEEC (FEUP) MÉTODOS NUMÉRICOS 333 / 458
Sobre normas de vectores e matrizes Norma de um vector
Outras normas em Rn
→ norma 1n∑
i=1
|xi |
→ norma ∞ max1≤i≤n
|xi |
→ norma p
(n∑
i=1
|xi |p) 1
p
, (com p ≥ 1)
→ . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 334 / 458
Sobre normas de vectores e matrizes Norma de um vector
Normas em Rn: exemplos para n = 2
x1
x2
1
1‖x‖1 = 1
‖x‖1.4 = 1
‖x‖2 = 1
‖x‖3 = 1
‖x‖∞ = 1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 335 / 458
Sobre normas de vectores e matrizes Norma de um vector
Equivalência de normas
Teorema
Sejam ‖ · ‖α e ‖ · ‖β duas normas definidas em Rn.Então existem constantes k1, k2 > 0 tais que
k1 ‖x‖α ≤ ‖x‖β ≤ k2 ‖x‖α, ∀x ∈ Rn.
Exemplo: ‖x‖∞ ≤ ‖x‖2 ≤√n ‖x‖∞, ∀x ∈ Rn
MIEEC (FEUP) MÉTODOS NUMÉRICOS 336 / 458
Sobre normas de vectores e matrizes Norma de um vector
Convergência em Rn
Sejam→ x(k) = (x1,(k), . . . , xn,(k)) ∈ Rn, k ∈ N→ s = (s1, . . . , sn) ∈ Rn
Definição
Diz-se que {x(k)} converge para s (x(k) → s) se
limk→+∞
‖x(k) − s‖ = 0.
Teorema
x(k) → s se e só se xi ,(k) → si , i = 1, . . . , n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 337 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Vamos agora ver ...
7 Sobre normas de vectores e matrizesNorma de um vectorNorma de uma matriz
MIEEC (FEUP) MÉTODOS NUMÉRICOS 338 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma de uma matriz
Dada uma norma ‖ · ‖ em Rn, define-se norma induzida da matrizA ∈ Rn×n como
‖A‖ = supx 6=0
‖Ax‖‖x‖
Esta definição é equivalente a
‖A‖ = max‖x‖=1
‖Ax‖
MIEEC (FEUP) MÉTODOS NUMÉRICOS 339 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma induzida: propriedades
1 Para A ∈ Rn×n tem-se
1 ∀x ∈ Rn ‖Ax‖ ≤ ‖A‖ · ‖x‖2 ∃x ∈ Rn \ {0} ‖Ax‖ ≥ ‖A‖ · ‖x‖
2 ‖AB‖ ≤ ‖A‖ · ‖B‖ ∀A,B ∈ Rn×n
3 ‖I‖ = 1, onde I é a matriz identidade
MIEEC (FEUP) MÉTODOS NUMÉRICOS 340 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Normas de matrizes
Diferentes normas em Rn originam diferentes normas induzidas:
‖A‖2 = max‖x‖2=1
‖Ax‖2
‖A‖1 = max‖x‖1=1
‖Ax‖1
‖A‖∞ = max‖x‖∞=1
‖Ax‖∞
MIEEC (FEUP) MÉTODOS NUMÉRICOS 341 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma 2 de uma matriz: exemplo
A =
[2 10 1
]‖A‖2 =?
x1
x2
1
1
{x : ‖x‖2 = 1}
{Ax : ‖x‖2 = 1}
‖A‖2 =√
3 +√
5
MIEEC (FEUP) MÉTODOS NUMÉRICOS 342 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma 1 de uma matriz: exemplo
A =
[2 10 1
]‖A‖1 =?
x1
x2
1
1
{x : ‖x‖1 = 1}
{Ax : ‖x‖1 = 1}
‖A‖1 = 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 343 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma ∞ de uma matriz: exemplo
A =
[2 10 1
]‖A‖∞ =?
x1
x2
1
1
{x : ‖x‖∞ = 1}
{Ax : ‖x‖∞ = 1}
‖A‖∞ = 3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 344 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma 1 de uma matriz
Teorema
Seja A ∈ Rn×n de elemento genérico aij . Então verifica-se
‖A‖1 = maxj=1,...,n
n∑i=1
|aij |,
ou seja, ‖A‖1 é o máximo das somas por colunas dos valores absolutos doselementos de A.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 345 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma ∞ de uma matriz
Teorema
Seja A ∈ Rn×n de elemento genérico aij . Então verifica-se
‖A‖∞ = maxi=1,...,n
n∑j=1
|aij |,
ou seja, ‖A‖∞ é o máximo das somas por linhas dos valores absolutos doselementos de A.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 346 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Normas de matrizes: exemplo
Sendo
A =
−2 0 1 6−3 −1 2 42 1 −1 13 −2 2 5
calcular ‖A‖1 e ‖A‖∞.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 347 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Norma 2 de uma matriz. Raio Espectral
Teorema
Seja A ∈ Rn×n. Então verifica-se ‖A‖2 =√ρ(ATA).
ρ(C ) é o raio espectral de C ∈ Rn×n definido por
ρ(C ) = max1≤i≤n
|λi |
onde λ1, . . . , λn são os valores próprios de C .
Raio espectral e norma 2 são de cálculo trabalhoso!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 348 / 458
Sobre normas de vectores e matrizes Norma de uma matriz
Raio espectral e normas
Teorema
Para qualquer norma induzida ‖ · ‖ e para qualquer A ∈ Rn×n tem-se
ρ(A) ≤ ‖A‖.
Dados A ∈ Rn×n e ε > 0, existe uma norma induzida ‖ · ‖ tal que
‖A‖ ≤ ρ(A) + ε.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 349 / 458
Sistemas de equações lineares
Um novo capítulo ...
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
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 350 / 458
Sistemas de equações lineares
4. Sistemas de equações lineares
Porque nem sempre é a regra de Cramer um bom método para resolversistemas de equações lineares?
Como se propagam os erros (de arredondamento) ao resolver um sistemade equações? Como se evita que estes sejam grandes?
O que é um sistema de equações mal condicionado?
...
MIEEC (FEUP) MÉTODOS NUMÉRICOS 351 / 458
Sistemas de equações lineares
Sistemas de equações lineares
a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2
......
am1x1 + am2x2 + · · ·+ amnxn = bm
em forma compacta: Ax = b
A ∈ Rm×n matriz dos coeficientes, de elementos aij
b ∈ Rm vector dos termos independentes, de elementos bi
x ∈ Rn vector de incógnitas, de elementos xj
MIEEC (FEUP) MÉTODOS NUMÉRICOS 352 / 458
Sistemas de equações lineares
Sistemas de n equações a n incógnitas
Teorema
O sistema de n equações a n incógnitas tem solução única se e só sedetA 6= 0.
Podem ser resolvidos pela regra de Cramer:
xi =detAi
detA
MIEEC (FEUP) MÉTODOS NUMÉRICOS 353 / 458
Sistemas de equações lineares
Métodos de resolução
Objectivo: estudar métodos de resolução numérica→ eficientes: baixo número de operações→ eficazes: boas aproximações
Serão estudados dois tipos de métodos→ directos: eliminação gaussiana (ou método de Gauss)→ iterativos: métodos de Jacobi e de Gauss-Seidel
MIEEC (FEUP) MÉTODOS NUMÉRICOS 354 / 458
Sistemas de equações lineares
Sistemas na forma triangular
a11x1 + a12x2 + · · ·+ a1,n−1xn−1 + a1nxn = b1a22x2 + · · ·+ a2,n−1xn−1 + a2nxn = b2
......
an−1,n−1xn−1 + an−1,nxn = bn−1annxn = bn
Substituição inversa
xn =bn
ann
xi =bi −
∑nj=i+1 aijxjaii
i = n − 1, . . . , 1
MIEEC (FEUP) MÉTODOS NUMÉRICOS 355 / 458
Sistemas de equações lineares Eliminação gaussiana
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 356 / 458
Sistemas de equações lineares Eliminação gaussiana
Eliminação gaussiana
Redução à forma triangular superior
Na etapa j anulam-se os coeficientes aij com i > jequação j designa-se equação pivotelemento ajj designa-se elemento pivotà equação i (> j) soma-se o múltiplo mij da equação j
mij = −aijajj
se ajj = 0 troca-se a equação j com a i tal que aij 6= 0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 357 / 458
Sistemas de equações lineares Eliminação gaussiana
Eliminação gaussiana: aritmética finita
Resolver o sistema com aritmética de 4 dígitos.{0.0002x1 + 1.672x2 = 1.6731.336x1 − 2.471x2 = 4.209
MIEEC (FEUP) MÉTODOS NUMÉRICOS 358 / 458
Sistemas de equações lineares Eliminação gaussiana
Eliminação gaussiana: aritmética finita
Na substituição inversa xi =bi −
∑nj=i+1 aijxjaii
a propagação de erros é εxi ≤n∑
j=i+1
|aij ||aii |εxj
Então interessa que os quocientes|aij ||aii | sejam pequenos!
Para tal usam-se estratégias de escolha de pivot
MIEEC (FEUP) MÉTODOS NUMÉRICOS 359 / 458
Sistemas de equações lineares Estratégias de pivotação
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 360 / 458
Sistemas de equações lineares Estratégias de pivotação
Estratégia parcial de pivot
1 Na etapa j é escolhida a equação pivot k ( j ≤ k ≤ n)
1 calculam-se os valores di = maxj≤l≤n
|ail | i = j , . . . , n
2 calculam-se os quocientes|aij |di
i = j , . . . , n
3 selecciona-se para equação pivot aquela em que
|akj |dk
é máximo
2 Troca-se a equação k com a j
3 Realiza-se a eliminação
MIEEC (FEUP) MÉTODOS NUMÉRICOS 361 / 458
Sistemas de equações lineares Estratégias de pivotação
Pivotação parcial: exemplo
Resolver por eliminação gaussiana, utilizando pivotação parcial earredondando os resultados para 2 algarismos significativos. 0.1 0.9 2.3
0.25 0.71 3.21.2 2.6 1.3
x1x2x3
=
123
MIEEC (FEUP) MÉTODOS NUMÉRICOS 362 / 458
Sistemas de equações lineares Estratégias de pivotação
Estratégia total de pivot
1 Na etapa j escolhe-se o elemento pivot akl (k, l ∈ {j , . . . , n})→ |akl | é máximo
2 Troca-se a equação j com a equação k
3 Troca-se a variável xj com a variável xl
4 Realiza-se a eliminação
MIEEC (FEUP) MÉTODOS NUMÉRICOS 363 / 458
Sistemas de equações lineares Estratégias de pivotação
Pivotação total: exemplo
Resolver por eliminação gaussiana, utilizando pivotação total earredondando os resultados para 2 algarismos significativos. 0.1 0.9 2.3
0.25 0.71 3.21.2 2.6 1.3
x1x2x3
=
123
MIEEC (FEUP) MÉTODOS NUMÉRICOS 364 / 458
Sistemas de equações lineares Estratégias de pivotação
Pivotação parcial vs. pivotação total
A pivotação parcial apenas exige trocas de linhas.
A pivotação total exige ainda a troca de colunas, e logo é mais “cara”em esforço computacional.
A pivotação total conduz geralmente a resultados melhores.
No entanto, a pivotação parcial produz resultados suficientementebons na maioria das situações.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 365 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 366 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Erro e resíduo de uma solução aproximada
Sistema de equações: Ax = b (A não singular)
x : solução exacta
x : solução aproximada
Erro da solução aproximada: e = x − x
Resíduo da solução aproximada: r = b − Ax
Relação entre erro e resíduo: r = Ae
MIEEC (FEUP) MÉTODOS NUMÉRICOS 367 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Erro e resíduo de uma solução aproximada
x = x ⇒ e = 0 ∧ r = 0
x 6= x ⇒ ?
erro pequeno ?⇒ resíduo pequeno
resíduo pequeno ?⇒ erro pequeno
MIEEC (FEUP) MÉTODOS NUMÉRICOS 368 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Erro e resíduo: exemplo 1
[1.01 0.990.99 1.01
] [x1x2
]=[
22
]tem solução exacta x =
[11
]→ se x =
[1.011.01
]tem-se e =
[ −0.01−0.01
]e r =
[ −0.02−0.02
]erro relativo: 1% em cada componenteresíduo relativo: 1% em cada componente
→ se x =[
20
]tem-se e =
[ −11
]e r =
[ −0.020.02
]erro relativo: 100% em cada componenteresíduo relativo: 1% em cada componente
MIEEC (FEUP) MÉTODOS NUMÉRICOS 369 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Erro e resíduo: exemplo 2
[1.01 0.990.99 1.01
] [x1x2
]=[
2−2]tem solução exacta x =
[100−100
]→ se x =
[101−99
]tem-se e =
[ −1−1]e r =
[ −2−2]
erro relativo: 1% em cada componenteresíduo relativo: 100% em cada componente
MIEEC (FEUP) MÉTODOS NUMÉRICOS 370 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Número de condição
O número de condição da matriz A é definido por
cond(A) = ‖A‖ · ‖A−1‖
A relação entre erro e resíduo fica agora
1cond(A)
‖r‖‖b‖ ≤
‖e‖‖x‖ ≤ cond(A)
‖r‖‖b‖
MIEEC (FEUP) MÉTODOS NUMÉRICOS 371 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Número de condição
Se A é invertível então I = AA−1 e logo
1 = ‖I‖ = ‖AA−1‖ ≤ ‖A‖ ‖A−1‖ = cond(A)
Se cond(A) ≈ 1 a matriz diz-se bem condicionada
Se cond(A)� 1 a matriz diz-se mal condicionada
MIEEC (FEUP) MÉTODOS NUMÉRICOS 372 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Cálculo do número de condição
Teorema
Se A é não singular tem-se que
cond(A) = maxB singular
( ‖A‖‖A− B‖
).
Sendo B singular conclui-se que
cond(A) ≥ ‖A‖‖A− B‖
MIEEC (FEUP) MÉTODOS NUMÉRICOS 373 / 458
Sistemas de equações lineares Erro e resíduo de uma solução aproximada
Cálculo do número de condição: exemplo
Estimar o número de condição (na norma ∞) da matriz
A =
[1.01 0.990.99 1.01
]
MIEEC (FEUP) MÉTODOS NUMÉRICOS 374 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 375 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Perturbações no sistema de equações
Sistema de equações Ax = b com solução x
Influência de perturbações nos elementos de A ou b em x
Estas perturbações podem resultar deerros de medidaerros de arredondamento
MIEEC (FEUP) MÉTODOS NUMÉRICOS 376 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Perturbação nos termos independentes
Teorema
Seja x a solução do sistema de equações Ax = b, onde A é não singular e bé não nulo.
Seja x a solução do sistema de equações (perturbado) Ax = b.
Então verifica-se que
‖x − x‖‖x‖ ≤ cond(A)
‖b − b‖‖b‖ .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 377 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Perturbação nos termos independentes
O sistema de equações Ax = b, onde
A =[ 1 2 4
4 3 12 2 3
]e b =
[ 121
].
tem solução x = [ −0.2 1 −0.2 ]T.
Se b = [ 1.1 2.2 0.9 ]T, a solução é x = [ −0.62 1.7 −0.42 ]T
Compare a variação relativa dos termos independentes com a variaçãorelativa das soluções.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 378 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Perturbação na matriz dos coeficientes
Teorema
Seja x a solução do sistema de equações Ax = b, onde A é não singular.
Seja x a solução do sistema de equações (perturbado) Ax = b, onde A énão singular.
Então verifica-se que
‖x − x‖‖x‖ ≤ cond(A)
‖A− A‖‖A‖ .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 379 / 458
Sistemas de equações lineares Perturbações no sistema de equações
Perturbação na matriz dos coeficientes: exemplo
O sistema de equações Ax = b, onde
A =[ 1 5 10
0 1 −60 0 1
]e b =
[ 16−51
],
tem solução x = [ 1 1 1 ]T.
Se a matriz dos coeficientes for A =[ 1 5 10
0 1 −60 0 1.1
]a solução é
x = [ 5111
511
1011 ]T.
Compare a variação relativa da matriz de coeficientes com a variaçãorelativa das soluções.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 380 / 458
Sistemas de equações lineares Métodos iterativos
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 381 / 458
Sistemas de equações lineares Métodos iterativos
Métodos iterativos
1 Substituir a equação Ax = b pela equação equivalente
x = Gx + d
2 Escolher um valor inicial x(0) ∈ Rn
3 Gerar a sucessão {x(k)}, pela relação de recorrência
x(k+1) = Gx(k) + d k = 0, 1, . . . .
A sucessão {x(k)} deverá ser convergente para A−1b!
MIEEC (FEUP) MÉTODOS NUMÉRICOS 382 / 458
Sistemas de equações lineares Métodos iterativos
Métodos iterativos
Algumas questões importantes
Como determinar G e d a partir de A e b?
Em que condições converge o método iterativo?
Que critério de paragem utilizar?
Será possível estimar o erro?
MIEEC (FEUP) MÉTODOS NUMÉRICOS 383 / 458
Sistemas de equações lineares Métodos iterativos
Métodos iterativos
Dado o sistema de equações, onde aii 6= 0 ∀i ,a11x1 + a12x2 + · · · + a1nxn = b1a21x1 + a22x2 + · · · + a2nxn = b2
......
an1x1 + an2x2 + · · · + annxn = bn
e resolvendo cada equação i em ordem a xi , obtém-se
MIEEC (FEUP) MÉTODOS NUMÉRICOS 384 / 458
Sistemas de equações lineares Métodos iterativos
Métodos iterativos
x1 = − a12a11
x2 − a13a11
x3 − · · · − a1na11
xn + b1a11
x2 = − a21a22
x1 − a23a22
x3 − · · · − a2na22
xn + b2a22
......
xn = − an1ann
x1 − an2ann
x2 − an3ann
x3 − · · · + bnann
MIEEC (FEUP) MÉTODOS NUMÉRICOS 385 / 458
Sistemas de equações lineares Métodos iterativos
Métodos iterativos
Definindo B ∈ Rn×n e c ∈ Rn respectivamente por
bij =
{−aij
aiise i 6= j
0 se i = ji , j = 1, . . . , n, e
ci =biaii
i = 1, . . . , n,
este último sistema pode ser escrito como
x = Bx + c
MIEEC (FEUP) MÉTODOS NUMÉRICOS 386 / 458
Sistemas de equações lineares Métodos iterativos
Método de Jacobi
Utiliza a relação de recorrência
x(k+1) = Bx(k) + c
ou, equivalentemente
xi ,(k+1) =n∑
j=1
[bijxj ,(k)
]+ ci i = 1, . . . , n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 387 / 458
Sistemas de equações lineares Métodos iterativos
Método de Jacobi: exemplo
Aplicar o método de Jacobi para resolver o sistema[3 −1 10 2 11 −2 4
][x1x2x3
]=
[333
].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 388 / 458
Sistemas de equações lineares Métodos iterativos
Método de Jacobi: exemplo
k x1,(k) x2,(k) x3,(k)
0 0 0 01 1.0000 1.5000 0.75002 1.2500 1.1250 1.25003 0.9583 0.8750 1.00004 0.9583 1.0000 0.94795 1.0174 1.0260 1.01046 1.0052 0.9948 1.00877 0.9954 0.9957 0.99618 0.9999 1.0020 0.99909 1.0010 1.0005 1.0010
10 0.9998 0.9995 1.000011 0.9998 0.9999 0.9998. . . . . . . . . . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 389 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel
Semelhante ao método de Jacobi, mas utiliza sempre a última estimativadisponível de cada variável.
Ao calcular xi ,(k+1) já estão disponíveis os valores xj ,(k+1) paraj = 1, . . . , i − 1.
A expressão de recorrência é
xi ,(k+1) =i−1∑j=1
[bijxj ,(k+1)
]+
n∑j=i+1
[bijxj ,(k)
]+ ci
MIEEC (FEUP) MÉTODOS NUMÉRICOS 390 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel: exemplo
Aplicar o método de Gauss-Seidel para resolver o sistema[3 −1 10 2 11 −2 4
][x1x2x3
]=
[333
].
MIEEC (FEUP) MÉTODOS NUMÉRICOS 391 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel: exemplo
k x1,(k) x2,(k) x3,(k)
0 0 0 01 1.0000 1.5000 1.25002 1.0833 0.8750 0.91673 0.9861 1.0417 1.02434 1.0058 0.9878 0.99255 0.9985 1.0038 1.00236 1.0005 0.9989 0.99937 0.9999 1.0003 1.00028 1.0000 0.9999 0.9999
. . . . . . . . . . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 392 / 458
Sistemas de equações lineares Métodos iterativos
Exemplo2: métodos de Jacobi e Gauss-Seidel
Resolver o sistema [1 −1 10 2 −11 −2 2
][x1x2x3
]=
[111
]
(a) aplicando o método de Jacobi;(b) aplicando o método de Gauss-Seidel.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 393 / 458
Sistemas de equações lineares Métodos iterativos
Exemplo2: método de Jacobi
k x1,(k) x2,(k) x3,(k)
0 0 0 01 1.0000 0.5000 0.50002 1.0000 0.7500 0.50003 1.2500 0.7500 0.75004 1.0000 0.8750 0.62505 1.2500 0.8125 0.87506 0.9375 0.9375 0.68757 1.2500 0.8438 0.96888 0.8750 0.9844 0.71889 1.2656 0.8594 1.0469
. . . . . . . . . . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 394 / 458
Sistemas de equações lineares Métodos iterativos
Exemplo2: método de Gauss-Seidel
k x1,(k) x2,(k) x3,(k)
0 0 0 01 1.0000 0.5000 0.50002 1.0000 0.7500 0.75003 1.0000 0.8750 0.87504 1.0000 0.9375 0.93755 1.0000 0.9688 0.96886 1.0000 0.9844 0.98447 1.0000 0.9922 0.99228 1.0000 0.9961 0.99619 1.0000 0.9980 0.9980
. . . . . . . . . . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 395 / 458
Sistemas de equações lineares Métodos iterativos
Convergência de métodos iterativosTeoremaSejam G ∈ Rn×n e d ∈ Rn. Se ‖G‖ < 1, então
1 existe uma e uma só solução x ∈ Rn da equação
x = Gx + d ,
2 a sucessão {x(k)}, gerada por
x(k+1) = Gx(k) + d , k = 0, 2, . . . ,
converge para x , qualquer que seja o ponto inicial x(0),3 o erro de aproximação de x por x(k+1), x − x(k+1), satisfaz
‖x − x(k+1)‖ ≤‖G‖
1− ‖G‖‖x(k+1) − x(k)‖, k = 1, 2, . . . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 396 / 458
Sistemas de equações lineares Métodos iterativos
Matriz diagonalmente dominante por linhas
Uma matriz A ∈ Rn×n diz-se estritamente diagonalmente dominantepor linhas quando
|aii | >n∑
j=1j 6=i
|aij |, i = 1, . . . , n.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 397 / 458
Sistemas de equações lineares Métodos iterativos
Método de Jacobi: convergência
Teorema
Sejam A ∈ Rn×n e b ∈ Rn. Se a matriz A for estritamente diagonalmentedominante por linhas então a sucessão gerada pelo método de Jacobiconverge para a única solução do sistema de equações Ax = b, qualquerque seja o ponto inicial x(0).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 398 / 458
Sistemas de equações lineares Métodos iterativos
Convergência do método de Jacobi: exemplo
Aplicando o método de Jacobi, obter uma solução aproximada do sistemade equações, com um erro máximo absoluto em cada variável de 5× 10−3.{
4x1 − 2x2 + x3 = 3x1 − x2 + 3x3 = 3−x1 + 3x2 = 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 399 / 458
Sistemas de equações lineares Métodos iterativos
Convergência do método de Jacobi: exemplo
k x1,(k) x2,(k) x3,(k) εk0 0 0 0 −1 0.75000 0.66667 1.00000 32 0.83333 0.91667 0.97222 7.5× 10−1
3 0.96528 0.94444 1.02778 4.0× 10−1
4 0.96528 0.98843 0.99306 1.3× 10−1
5 0.99595 0.98843 1.00772 9.2× 10−2
6 0.99228 0.99865 0.99749 3.1× 10−2
7 0.99995 0.99743 1.00212 2.3× 10−2
8 0.99818 0.99998 0.99916 8.9× 10−3
9 1.00020 0.99939 1.00060 6.0× 10−3
10 0.99955 1.00007 0.99973 2.6× 10−3
MIEEC (FEUP) MÉTODOS NUMÉRICOS 400 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel: convergência
Teorema
Sejam A ∈ Rn×n e b ∈ Rn. Se a matriz A for estritamente diagonalmentedominante por linhas então a sucessão gerada pelo método de Gauss-Seidelconverge para a única solução do sistema de equações Ax = b, qualquerque seja o ponto inicial x(0).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 401 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel: exemplo
Aplicando o método de Gauss-Seidel, obter uma solução aproximada dosistema de equações. Terminar o método assim que a diferença entre duasestimativas consecutivas seja inferior ou igual a 10−3, em todas as variáveis.{
x1 − 4x3 = −34x2 − 2x3 = 24x1 − 2x3 = 2
MIEEC (FEUP) MÉTODOS NUMÉRICOS 402 / 458
Sistemas de equações lineares Métodos iterativos
Método de Gauss-Seidel: exemplo
k x1,(k) x2,(k) x3,(k) ‖x(k) − x(k−1)‖∞0 0 0 0 −1 0.50000 0.50000 0.87500 8.8× 10−1
2 0.93750 0.93750 0.98438 4.4× 10−1
3 0.99219 0.99219 0.99805 5.5× 10−2
4 0.99902 0.99902 0.99976 6.8× 10−3
5 0.99988 0.99988 0.99997 8.5× 10−4
MIEEC (FEUP) MÉTODOS NUMÉRICOS 403 / 458
Sistemas de equações lineares Métodos iterativos
Relaxação do método de Jacobi
Expressão de recorrência
xi ,(k+1) = xi ,(k) +1aii
bi − n∑j=1
aijxj ,(k)
Expressão de recorrência com relaxação (ω > 0)
xi ,(k+1) = xi ,(k) + ω · 1aii
bi − n∑j=1
aijxj ,(k)
0 < ω < 1 → sub-relaxação
ω > 1 → sobre-relaxação
MIEEC (FEUP) MÉTODOS NUMÉRICOS 404 / 458
Sistemas de equações lineares Métodos iterativos
Relaxação do método de Gauss-Seidel
Expressão de recorrência
xi ,(k+1) = xi ,(k) +1aii
bi − i−1∑j=1
aijxj ,(k+1) −n∑j=i
aijxj ,(k)
Expressão de recorrência com relaxação (ω > 0)
xi ,(k+1) = xi ,(k) + ω · 1aii
bi − i−1∑j=1
aijxj ,(k+1) −n∑j=i
aijxj ,(k)
0 < ω < 1 → sub-relaxação
ω > 1 → sobre-relaxação (SOR)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 405 / 458
Sistemas de equações lineares Métodos iterativos
Gauss-Seidel com relaxamento: exemplo
Comparar o método de Gauss-Seidel e o método SOR com ω = 1.25 naresolução do sistema de equações{
4x1 + 3x2 = 243x1 + 4x2 − x3 = 30−x2 + 4x3 = −24
cuja solução é x1 = 3, x2 = 4, x3 = −5. Em ambos os casos partir dex1,(0) = x2,(0) = x3,(0) = 1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 406 / 458
Sistemas de equações lineares Métodos iterativos
Exemplo: Gauss-Seidel
k x1,(k) x2,(k) x3,(k)
0 1.00000 1.00000 1.000001 5.25000 3.81250 −5.046882 3.14063 3.88281 −5.029303 3.08789 3.92676 −5.018314 3.05493 3.95422 −5.011445 3.03433 3.97139 −5.007156 3.02146 3.98212 −5.004477 3.01341 3.98882 −5.002798 3.00838 3.99302 −5.00175
MIEEC (FEUP) MÉTODOS NUMÉRICOS 407 / 458
Sistemas de equações lineares Métodos iterativos
Exemplo: SOR
k x1,(k) x2,(k) x3,(k)
0 1.00000 1.00000 1.000001 6.10000 3.61000 −6.317002 2.73100 3.92500 −4.759103 3.12130 3.97810 −5.054754 2.99545 3.99205 −4.991445 3.00807 3.99690 −5.002646 3.00118 3.99877 −4.999847 3.00087 3.99951 −5.000188 3.00027 3.99980 −5.00002
MIEEC (FEUP) MÉTODOS NUMÉRICOS 408 / 458
Sistemas de equações lineares Inversão de matrizes
Vamos agora ver ...
8 Sistemas de equações linearesEliminação gaussianaEstratégias de pivotaçãoErro e resíduo de uma solução aproximadaPerturbações no sistema de equaçõesMétodos iterativosInversão de matrizes
MIEEC (FEUP) MÉTODOS NUMÉRICOS 409 / 458
Sistemas de equações lineares Inversão de matrizes
Inversão de matrizes
Calcular A−1 é equivalente a resolver AX = I
Ou seja, resolver simultaneamente n sistemas de n equações
Eliminação de Gauss-Jordan
MIEEC (FEUP) MÉTODOS NUMÉRICOS 410 / 458
Sistemas de equações lineares Inversão de matrizes
Inversão de matrizes
a11 a12 · · · a1n 1 0 · · · 0a21 a22 · · · a2n 0 1 · · · 0...
.
.
.. . .
.
.
....
.
.
.. . .
.
.
.an1 an2 · · · ann 0 0 · · · 1
↓
1 0 · · · 0 x11 x12 · · · x1n0 1 · · · 0 x21 x22 · · · x2n...
.
.
.. . .
.
.
....
.
.
.. . .
.
.
.0 0 · · · 1 xn1 xn2 · · · xnn
MIEEC (FEUP) MÉTODOS NUMÉRICOS 411 / 458
Sistemas de equações lineares Inversão de matrizes
Inversão de matrizes
Em cada etapaefectuar escolha de pivot
pivotação parcialpivotação total
anular toda a coluna
Nota: Na pivotação total trocas de colunas em A reflectem-se em trocasde linhas em X !
MIEEC (FEUP) MÉTODOS NUMÉRICOS 412 / 458
Integração de Equações diferenciais
Um novo capítulo ...
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
9 Integração de Equações diferenciais
MIEEC (FEUP) MÉTODOS NUMÉRICOS 413 / 458
Integração de Equações diferenciais Problema de valor inicial
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 414 / 458
Integração de Equações diferenciais Problema de valor inicial
EDOs — problema de valor inicial
Dadosuma função f : R× R→ Rum intervalo real [t0,T ]
e valores x0,0, x0,1, . . . , x0,n−1 ∈ Rconsiste em determinar x : [t0,T ]→ R que verifique
x (n)(t) = f (t, x(t), x ′(t), . . . , x (n−1)(t)), t ∈ ]t0,T [ ,
com a condições iniciais
x(t0) = x0,0 x ′(t0) = x0,1 . . . x (n−1)(t0) = x0,n−1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 415 / 458
Integração de Equações diferenciais Problema de valor inicial
Métodos numéricos: descrição geral
Produzem valores aproximados da solução da EDO num conjunto depontos {ti}ni=0 tal que
t0 < t1 < · · · < tN = T .
designado por malha.
os pontos ti são os nós da malha
as distâncias hi = ti − ti−1 designam-se por passos
a malha é uniforme se todos os passos forem iguais
o valor h = max1≤i≤N
hi é o passo da malha
MIEEC (FEUP) MÉTODOS NUMÉRICOS 416 / 458
Integração de Equações diferenciais Problema de valor inicial
Métodos numéricos: descrição geral
Resolução numérica de um problema de valor inicial:
1 Definir uma malha {ti}Ni=0 no intervalo [t0,T ];2 Para i de 1 até N determinar xi , que será o valor da solução
aproximada no nó ti . Nota: x0 é dado!
x
t t0 t1 t2 tN-1 tN
x0
x1 x2 xN-1
xN …
MIEEC (FEUP) MÉTODOS NUMÉRICOS 417 / 458
Integração de Equações diferenciais Problema de valor inicial
EDO de ordem 1: soluções aproximadas
x → solução exacta
x(h) → solução aproximada (com passo h)
e(h) = x − x(h)
x(h) definida nos nós ti → xi = x(h)(ti )
MIEEC (FEUP) MÉTODOS NUMÉRICOS 418 / 458
Integração de Equações diferenciais Problema de valor inicial
EDO de ordem 1: soluções aproximadas
x(t + h) = x(t) +
∫ t+h
tf (t, ξ(t))dt
x(t+h)−x(t)h = 1
h
∫ t+h
tf (t, ξ(t))dt = F (t, x) = Fh(t, x) + Th(t, x)
Fh(t, x) ≈ 1h
∫ t+h
tf (t, ξ(t))dt
x(t + h) ≈ x(t) + hFh(t, x)
Th(t, x) erro de truncatura
MIEEC (FEUP) MÉTODOS NUMÉRICOS 419 / 458
Integração de Equações diferenciais Problema de valor inicial
EDO de ordem 1: soluções aproximadas
Os valores xi obtêm-se pela expressão de recorrência
xi+1 = xi + hFh(ti , xi ), i = 0, 1, . . . ,N − 1.
x0 é o valor inicial dado
MIEEC (FEUP) MÉTODOS NUMÉRICOS 420 / 458
Integração de Equações diferenciais Métodos de Euler
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 421 / 458
Integração de Equações diferenciais Métodos de Euler
Métodos de Euler
O integral∫ t+h
tf (ξ, x(ξ))dξ pode ser aproximado pelas áreas dos
rectângulos como se mostra nas figuras.
f
ξ t t+h
f(t, x(t))
Rectângulo à esquerda
f
ξ t t+h
f(t+h, x(t+h))
Rectângulo à direita
MIEEC (FEUP) MÉTODOS NUMÉRICOS 422 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler (progressivo)
Caracteriza-se porFh(t, x) = f (t, x(t))
Th(t, x) = h2 f′(ζ, x(ζ))
A expressão de recorrência para determinação de xh será
xi+1 = xi + hf (ti , xi ), i = 0, 1, . . . ,N − 1,
onde x0 = x(t0) é a condição inicial.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 423 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler progressivo: exemplo
Utilizar o método de Euler progressivo com passo h = 0.1 para obter umasolução aproximada de
x ′ = 1 + t − x , t ∈ [0, 1]
com x(0) = 1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 424 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler progressivo: exemplo
ti xi xi+10.0 1.0000 1.00000.1 1.0000 1.01000.2 1.0100 1.02900.3 1.0290 1.05610.4 1.0561 1.09050.5 1.0905 1.13140.6 1.1314 1.17830.7 1.1783 1.23050.8 1.2305 1.28740.9 1.2874 1.34871.0 1.3487 —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 425 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler regressivo
Caracteriza-se porFh(t, x) = f (t + h, x(t + h))
Th(t, x) = −h2 f′(ζ, x(ζ))
A expressão de recorrência para determinação de xh será
xi+1 = xi + hf (ti+1, xi+1), i = 0, 1, . . . ,N − 1,
onde x0 = x(t0) é a condição inicial.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 426 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler regressivo: exemplo
Utilizar o método de Euler regressivo com passo h = 0.1 para obter umasolução aproximada de
x ′ = 1 + t − x , t ∈ [0, 1]
com x(0) = 1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 427 / 458
Integração de Equações diferenciais Métodos de Euler
Método de Euler regressivo: exemplo
ti xi xi+10.0 1.0000 1.00910.1 1.0091 1.02640.2 1.0264 1.05130.3 1.0513 1.08300.4 1.0830 1.12090.5 1.1209 1.16450.6 1.1645 1.21320.7 1.2132 1.26650.8 1.2665 1.32410.9 1.3241 1.38551.0 1.3855 —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 428 / 458
Integração de Equações diferenciais Método de Taylor
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 429 / 458
Integração de Equações diferenciais Método de Taylor
Método de Taylor de ordem p
Caracteriza-se por
• Fh(t, x) = f (t, x(t)) +h2f ′(t, x(t)) + · · ·+ hp−1
p!f (p−1)(t, x(t))
• Th(t, x) =hp
(p + 1)!f (p)(ζ, x(ζ)), ζ ∈ [t, t + h]
A expressão de recorrência é
xi+1 = xi + hf (ti , xi ) +h2
2f ′(ti , xi ) + · · ·+ hp
p!f (p−1)(ti , xi )
para i = 0, 1, . . . ,N − 1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 430 / 458
Integração de Equações diferenciais Método de Taylor
Métodos de Taylor: exemplo
Utilizar o método de Taylor de ordem 2 com passo h = 0.1 para obter umasolução aproximada de
x ′ = 1 + t − x , t ∈ [0, 1]
com x(0) = 1.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 431 / 458
Integração de Equações diferenciais Método de Taylor
Métodos de Taylor: exemplo
ti xi xi+10.0 1.0000 1.00500.1 1.0050 1.01900.2 1.0190 1.04120.3 1.0412 1.07080.4 1.0708 1.10710.5 1.1071 1.14940.6 1.1494 1.19720.7 1.1972 1.25000.8 1.2500 1.30720.9 1.3072 1.36851.0 1.3685 —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 432 / 458
Integração de Equações diferenciais Consistência e Convergência
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 433 / 458
Integração de Equações diferenciais Consistência e Convergência
Consistência
Método consistente se
limh→0‖Th‖ = 0
Ordem de consistência p > 0 se
‖Th‖ ≤ chp
MIEEC (FEUP) MÉTODOS NUMÉRICOS 434 / 458
Integração de Equações diferenciais Consistência e Convergência
Convergência
Método convergente se
limh→0‖e(h)‖ = lim
h→0max
t∈[t0,T ]|e(h)(t)| = 0
Ordem de convergência p > 0 se
‖e(h)‖ ≤ chp
MIEEC (FEUP) MÉTODOS NUMÉRICOS 435 / 458
Integração de Equações diferenciais Consistência e Convergência
Consistência e convergência
Teorema
Se um método de passo simples verificar a condição
|Fh(t, v)− Fh(t,w)| ≤ Lh|v − w |, t ∈ [t0,T ],
para todo o h > 0 suficientemente pequeno, onde Lh é independente de h(condição de Lipschitz) então será consistente se e só se for convergente.Mais ainda, para h suficientemente pequeno, tem-se que
|e(h)(t)| ≤ eLh(t−t0)|e0|+ ‖Th‖Lh
[eLh(t−t0) − 1], t ∈ [t0,T ],
onde e0 = x(t0)− x(h)(t0).
MIEEC (FEUP) MÉTODOS NUMÉRICOS 436 / 458
Integração de Equações diferenciais Consistência e Convergência
Convergência e arredondamento
Se o cálculo de cada valor xi estiver associado um erro de arredondamentomajorado por δ é possível verificar que
|e(h)(t)| ≤ eLh(t−t0)|e0|+(‖Th‖
Lh+δ
h
)[eLh(t−t0) − 1], t ∈ [t0,T ]
pelo que quando h→ 0 o termo δ/h impede que o erro e(h) se aproxime dezero.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 437 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 438 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Métodos de Runge-Kutta
têm ordens de consistência elevadas
não necessitam de calcular derivadas de f
o cálculo de xi+1 é feito avaliando f em pontos “intermédios” entre(ti , xi ) e (ti+1, xi+1)
ordem de convergência é igual à ordem de consistência
MIEEC (FEUP) MÉTODOS NUMÉRICOS 439 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Métodos de Runge-Kutta
xi+1 é obtido calculando f em s pontos
F1 = f (ti , xi )F2 = f (ti + α2h, xi + hβ21F1)
F3 = f (ti + α3h, xi + h(β31F1 + β32F2))
. . .
Fs = f (ti + αsh, xi + h(βs,1F1 + βs,2F2 + . . .+ βs,s−1Fs−1))
xi+1 = xi + h(w1F1 + w2F2 + . . .+ wsFs)
s = ordem de consistência (para s ≤ 4)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 440 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Runge-Kutta de 2a ordem
Expressão de recorrência
F1 = f (ti , xi )F2 = f (ti + α2h, xi + hβ21F1)
xi+1 = xi + h(w1F1 + w2F2)
Condições para obter ordem de consistência 2
w1 + w2 = 1
α2w2 = 12
β21w2 = 12
MIEEC (FEUP) MÉTODOS NUMÉRICOS 441 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Runge-Kutta de 2a ordem
Método de Euler modificado w1 = w2 = 12 , α2 = β21 = 1
F1 = f (ti , xi )F2 = f (ti + h, xi + hF1)
xi+1 = xi + h2 (F1 + F2)
Método de Heun w1 = 14 , w2 = 3
4 , α2 = β21 = 23
F1 = f (ti , xi )
F2 = f (ti + 23h, xi + 2
3hF1)
xi+1 = xi + h4 (F1 + 3F2)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 442 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Runge-Kutta de 4a ordem
Um dos métodos mais usados é
F1 = f (ti , xi )F2 = f (ti + h
2 , xi + h2F1)
F3 = f (ti + h2 , xi + h
2F2)
F4 = f (ti + h, xi + hF3)
xi+1 = xi + h6 (F1 + 2F2 + 2F3 + F4)
MIEEC (FEUP) MÉTODOS NUMÉRICOS 443 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Métodos de Runge-Kutta: exemplo
Com um passo h = 0.1 obter uma solução aproximada de
x ′ = 1 + t − x , t ∈ [0, 1]
x(0) = 1
pelo métodoa) de Euler modificado;b) de Runge-Kutta de 4a ordem.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 444 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Método de Euler modificado: exemplo
ti xi F1 F2 xi+10.0 1.000000 0.000000 0.100000 1.0050000.1 1.005000 0.095000 0.185500 1.0190250.2 1.019025 0.180975 0.262878 1.0412180.3 1.041218 0.258782 0.332904 1.0708020.4 1.070802 0.329198 0.396278 1.1070760.5 1.107076 0.392924 0.453632 1.1494040.6 1.149404 0.450596 0.505537 1.1972100.7 1.197210 0.502790 0.552511 1.2499750.8 1.249975 0.550025 0.595022 1.3072280.9 1.307228 0.592772 0.633495 1.3685411.0 1.368541 — — —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 445 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Runge-Kutta de 4a ordem: exemplo
ti xi F1,i F2,i F3,i F4,i xi+10.0 1.00000 0.00000 0.05000 0.04750 0.09525 1.004840.1 1.00484 0.09516 0.14040 0.13814 0.18135 1.018730.2 1.01873 0.18127 0.22221 0.22016 0.25925 1.040820.3 1.04082 0.25918 0.29622 0.29437 0.32974 1.070320.4 1.07032 0.32968 0.36320 0.36152 0.39353 1.106530.5 1.10653 0.39347 0.42380 0.42228 0.45124 1.148810.6 1.14881 0.45119 0.47863 0.47726 0.50346 1.196590.7 1.19659 0.50341 0.52824 0.52700 0.55071 1.249330.8 1.24933 0.55067 0.57314 0.57201 0.59347 1.306570.9 1.30657 0.59343 0.61376 0.61274 0.63216 1.367881.0 1.36788 — — — — —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 446 / 458
Integração de Equações diferenciais Métodos de Runge-Kutta
Comparação entre métodos: exemplo
ti Euler prog. Euler reg. Taylor 2 R-K 4 Sol. exacta0.0 1.000000 1.000000 1.000000 1.000000 1.0000000.1 1.000000 1.009091 1.005000 1.004838 1.0048370.2 1.010000 1.026446 1.019025 1.018731 1.0187310.3 1.029000 1.051315 1.041218 1.040818 1.0408180.4 1.056100 1.083013 1.070802 1.070320 1.0703200.5 1.090490 1.120921 1.107076 1.106531 1.1065310.6 1.131441 1.164474 1.149404 1.148812 1.1488120.7 1.178297 1.213158 1.197210 1.196586 1.1965850.8 1.230467 1.266507 1.249975 1.249329 1.2493290.9 1.287420 1.324098 1.307228 1.306570 1.3065701.0 1.348678 1.385543 1.368541 1.367880 1.367879
MIEEC (FEUP) MÉTODOS NUMÉRICOS 447 / 458
Integração de Equações diferenciais Sistemas de equações diferenciais
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 448 / 458
Integração de Equações diferenciais Sistemas de equações diferenciais
Sistemas de equações diferenciais
x ′1(t) = f1(t, x1(t), x2(t), . . . , xn(t))x ′2(t) = f2(t, x1(t), x2(t), . . . , xn(t))
...x ′n(t) = fn(t, x1(t), x2(t), . . . , xn(t))
Problema de valor inicial: determinar as funções x1, x2, . . . , xn quesatisfazem estas equações diferenciais num intervalo [t0,T ] e as condiçõesiniciais
x1(t0) = x1,0, x2(t0) = x2,0, . . . , xn(t0) = xn,0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 449 / 458
Integração de Equações diferenciais Sistemas de equações diferenciais
Sistemas de equações diferenciais
Em notação vectorialx′(t) = f(t, x(t))
onde f : R1+n → Rn é definida por f = [f1 f2 . . . fn]T e x : R→ Rn édefinida por x = [x1 x2 . . . xn]T.
Problema de valor inicial: determinar a função x que satisfaz a equaçãodiferencial vectorial num intervalo [t0,T ] e a condição inicial
x(t0) = x0,
MIEEC (FEUP) MÉTODOS NUMÉRICOS 450 / 458
Integração de Equações diferenciais Sistemas de equações diferenciais
Sistemas de EDO — Métodos numéricos
Malha {ti}Ni=0 de passo h no intervalo [t0,T ]
xh → solução aproximada do problema de valor inicial
xi = xh(ti ) obtidos pela expressão de recorrência
xi+1 = xi + hFh(ti , xi )
para i = 0, 1, . . . ,N − 1, sendo x0 dado.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 451 / 458
Integração de Equações diferenciais Sistemas de equações diferenciais
Sistemas de EDO — Métodos numéricos
Método de Euler progressivo
xi+1 = xi + hf(ti , xi )
Método de Taylor de ordem 2
xi+1 = xi + hf(ti , xi ) + h22 f′(ti , xi )
Método de Euler modificado
F1 = f(ti , xi )F2 = f(ti + h, xi + hF1)
xi+1 = xi + h2 (F1 + F2)
. . .
MIEEC (FEUP) MÉTODOS NUMÉRICOS 452 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Vamos agora ver ...
9 Integração de Equações diferenciaisProblema de valor inicialMétodos de EulerMétodo de TaylorConsistência e ConvergênciaMétodos de Runge-KuttaSistemas de equações diferenciaisEquações diferenciais de ordem n
MIEEC (FEUP) MÉTODOS NUMÉRICOS 453 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Equações diferenciais de ordem n
Determinar a função x : R→ R que é solução de
x (n)(t) = f (t, x(t), x ′(t), . . . , x (n−1)(t))
no intervalo [t0,T ] e satisfaz as condições iniciais
x(t0) = x0x ′(t0) = x ′0· · ·x (n−1)(t0) = x (n−1)
0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 454 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Equações diferenciais de ordem n
Considerando as funções x1, x2, . . . , xn definidas por
x1(t) = x(t)
x2(t) = x ′(t)
· · ·xn(t) = x (n−1)(t)
conclui-se que x ′i (t) = xi+1(t) para i = 1, 2, . . . , n − 1
e também que
x ′n(t) =[x (n−1)
]′(t) = x (n)(t) = f (t, x1(t), x2(t), . . . , xn(t))
MIEEC (FEUP) MÉTODOS NUMÉRICOS 455 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Equações diferenciais de ordem n
O sistema de equações diferenciais toma a forma
x ′1(t) = x2(t)
x ′2(t) = x3(t)
· · ·x ′n(t) = f (t, x1(t), x2(t), . . . , xn(t))
devendo a sua solução satisfazer as condições iniciais
x1(t0) = x0, x2(t0) = x ′0, . . . , xn(t0) = x (n−1)0
MIEEC (FEUP) MÉTODOS NUMÉRICOS 456 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Equações de ordem n: exemplo
Determinar, pelo método de Euler progressivo com passo 0.05, umasolução aproximada de
θ′′ + 10 sin θ = 0, t ∈ [0, 0.5], θ(0) = 0.1, θ′(0) = 0.
MIEEC (FEUP) MÉTODOS NUMÉRICOS 457 / 458
Integração de Equações diferenciais Equações diferenciais de ordem n
Sistemas de equações diferenciais: exemplo
ti x1,i = θi x2,i x1,i+1 x2,i+10.00 0.1000 0.0000 0.1000 −0.04990.05 0.1000 −0.0499 0.0975 −0.09980.10 0.0975 −0.0998 0.0925 −0.14850.15 0.0925 −0.1485 0.0851 −0.19470.20 0.0851 −0.1947 0.0754 −0.23720.25 0.0754 −0.2372 0.0635 −0.27480.30 0.0635 −0.2748 0.0498 −0.30660.35 0.0498 −0.3066 0.0344 −0.33140.40 0.0344 −0.3314 0.0179 −0.34860.45 0.0179 −0.3486 0.0004 −0.35760.50 0.0004 −0.3576 — —
MIEEC (FEUP) MÉTODOS NUMÉRICOS 458 / 458
top related