Métodos Numéricos Rui F. Vigelis rfvigelis@gmail.com Universidade Federal do Ceará – UFC Versão: 2022-12-08 08:43:55 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Ementa Objetivos: Capacitar o aluno a identificar e enfrentar os problemas de Engenharia que possam ser resolvidos com técnicas de Métodos Numéricos. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Ementa Frequência: ≥ 75%, que equivale a um máximo de 16 horas em faltas. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Ementa Avaliação: 3 avaliações progressivas distribuídas durante o semestre. Critério de aprovação: Se 7 ≤ MAPs, o aluno é aprovado por média. Se 4 ≤ MAPs < 7, o aluno faz a prova de avaliação final. MAPs + NAF Se 4 ≤ NAF e 5 ≤ MAF = , o aluno é aprovado. 2 Caso contrário, o aluno é reprovado. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Ementa Bibliografia: Franco, Neide Bertoldi. Cálculo Numérico, 1a. ed. São Paulo: Pearson Prentice Hall, 2006. Chapra, Steven C. & Canale, Raymond P. Métodos Numéricos para Engenharia, 5a. ed. Porto Alegre: AMGH, 2011. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Ementa Conteúdo: Análise de arredondamento (AP1) Raízes reais de funções reais (AP1) Solução de sistemas lineares (AP2) Interpolação polinomial (AP3) Integração numérica (AP3) Solução numérica de equações diferenciais ordinárias (AP3) © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Definição (Sistema de Ponto Flutuante) Um número real x ̸= 0 é chamado de ponto flutuante (normalizado) se pode ser expresso como x = ±0,d1 d2 · · · dt × β e , em que β é a base, t é o número de dígitos na mantissa, com d1 ̸= 0 e 0 ≤ dj ≤ β − 1, para j = 1, . . . , t, e e é o exponente, com −m ≤ e ≤ M. Usamos a notação F (β, t, m, M) para o conjunto de todos os pontos flutuantes, fixados β, t, m e M, e adicionando algumas exceções como o zero. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Muitos programas de computação numérica adotam o padrão IEEE (754 2008) para precisão dupla com 64 bits: 1 para o sinal, 11 para o expoente, 52 para a mantissa. No padrão IEEE para precisão dupla, pode-se representar números positivos entre 2,23 × 10−308 e 1,79 × 10308 , aproximadamente. O padrão IEEE possui uma representação especial para o zero, ±∞ (obtido após a divisão por zero), e NaN (Not a Number, que se obtém em certas operações como 0/0). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Seja x um número real dentro dos limites de representação do sistema em ponto flutuante. Se x não pertence ao conjunto F (β, t, m, M), ele é representado pelo seu arredondamento em ponto flutuante, que consiste em encontrar x ∈ F (β, t, m, M) tal que |x − x| seja o menor possível. Seja fl(·) a função que associa um número real x ao seu arredondamento em ponto flutuante. O valor |x − x| é chamado erro absoluto de arredondamento, e |x − x|/|x| é chamado de erro relativo de arredondamento. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Utilizaremos a seguinte regra para arredondamento em ponto flutuante. Se x = 0, então x = 0. Se x ̸= 0, escolhemos fx e gx tais que |x| = fx × β e + gx × β e−t , em que β −1 ≤ fx < 1 e 0 ≤ gx < 1. O valor absoluto do número arredondado é então dado por ( fx × β e , se gx < 12 , |x| = e e−t fx × β + β , se gx ≥ 12 , e com isso x = (sinal x)|x|. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Exemplo Represente no sistema F (10, 3, 5, 5) os números: x1 = 1234,56, x2 = −0,00054962, x4 = 123456,7, x5 = 0,0000001. x3 = 0,9995, R.: x 1 = 0,123 × 104 , x 2 = −0,550 × 10−3 , x 3 = 0,100 × 101 , |x4 | = 0,1234567 × 106 , |x5 | = 0,1 × 10−6 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Definição (Épsilon da Máquina) O épsilon da máquina, denotado por εmach , é a metade da distância entre 1 e o menor número em ponto flutuante estritamente maior que 1. O épsilon da máquina de um sistema F (β, t, m, M) é εmach = 1 1−t β . 2 No padrão IEEE para precisão dupla, tem-se εmach = 2−52 ≈ 2,2 × 10−16 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante O épsilon da máquina εmach fornece um limitante superior para o erro relativo do arredondamento em ponto flutuante. Proposição Seja x qualquer número real dentro dos limites de representação do sistema. Então existe ε com |ε| ≤ εmach tal que fl(x) = x(1 + ε). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Se gx < 12 , então |x − x| = |fx × β e + gx × β e−t − fx × β e | 1 = gx × β e−t < β e−t . 2 Se gx ≥ 12 , então |x − x| = |fx × β e + gx × β e−t − fx × β e − β e−t | 1 = |gx − 1| × β e−t ≤ β e−t . 2 Em ambos os casos, 1 e−t 1 |x − x| 2β ≤ −1 = β 1−t , e |x| β ×β 2 visto que |x| ≥ β −1 × β e . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante As operações aritméticas básicas +, −, × e / com números reais, quando realizadas no computador com sistema F (β, t, m, M) serão denotadas por ⊕, ⊖, ⊗ e ⊘. As operações aritméticas de ponto flutuante são definidas de modo a satisfazer o axioma: Axioma das Operações de Ponto Flutuante Seja ∗ uma operação aritmética básica, e ⊛ a respectiva operação em ponto flutuante. A operação ⊛ satisfaz x ⊛ y = fl(x ∗ y ), para quaisquer x, y ∈ F (β, t, m, M). As operações de ponto flutuante não são nem associativas e nem distributivas! © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Exemplo Considere o sistema F (10, 3, 5, 5). Sejam x = fl(11,4), y = fl(3,18) e z = fl(5,05). Efetue as operações: (a) (x ⊕ y ) ⊕ z e x ⊕ (y ⊕ z); (b) (y ⊗ x) ⊘ z e (y ⊘ z) ⊗ x; (c) y ⊗ (z ⊕ x) e (y ⊗ z) ⊕ (y ⊗ x). R.: (a) 0,197 × 102 e 0,196 × 102 ; (b) 0,719 × 101 e 0,718 × 101 ; (c) 0,525 × 101 e 0,524 × 101 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Em vista do axioma das operações de ponto flutuante, tem-se: Proposição Para quaisquer x, y ∈ F (β, t, m, M), existe ε com |ε| ≤ εmach tal que x ⊛ y = (x ∗ y )(1 + ε), em que ∗ denota uma operação aritmética básica, e ⊛ a respectiva operação em ponto flutuante. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante A seguir veremos dois efeitos numéricos que contribuem para que o resultado obtido não tenha crédito: o cancelamento subtrativo, e a propagação de erro. Sejam x e y dois números reais dentro dos limites de representação do sistema. Na soma desses números em ponto flutuante, tem-se: fl(x) ⊕ fl(y ) = [fl(x) + fl(y )](1 + ε1 ) = [x(1 + ε2 ) + y (1 + ε3 )](1 + ε1 ) = x + x(ε1 + ε2 + ε1 ε2 ) + y + y (ε1 + ε3 + ε1 ε3 ) com |ε1 |, |ε2 |, |ε3 | ≤ εmach . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Deste modo, para o erro absoluto (EA), podemos escrever EA = |fl(x) ⊕ fl(y ) − (x + y )| ≤ (|x| + |y |)(2εmach + ε2mach ). Já para o erro relativo (ER), temos ER = |fl(x) ⊕ fl(y ) − (x + y )| |x| + |y | ≤ (2εmach + ε2mach ). |x + y | |x + y | Como consequência, o erro relativo pode ser grande se |x + y | for pequeno, ou seja, se x ≈ −y . Neste caso, tem-se o chamado cancelamento subtrativo. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Exemplo No sistema F (10, 10, 10, 10), calcule √ √ x = 9876 − 9875. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Além do cancelamento, pode ocorrer a propagação de erro, que é observada em uma sequência de operações aritméticas. Exemplo Considerando o sistema F (10, 3, 5, 5), calcule o polinômio P(x) = x 3 − 6x 2 + 4x − 0.1, no ponto 5,24, e compare o resultado com o valor exato P(5,24) = −0,007776. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Um algoritmo A é uma sequência de operações aritméticas que gera uma saída y dada uma entrada x. Seja P o problema ao qual o algoritmo A se propõe a resolver. O algoritmo A é chamado de preciso (em inglês, accurate) se o seu erro relativo é pequeno, ou seja, se |P(x) − A(x)| |P(x)| é da ordem de εmach . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Dependendo do contexto, um algoritmo preciso pode ser difícil de ser implementado, pois sempre há a presença de erros de arredondamento em ponto flutuante. Podemos usar como requisito outra noção que nos permite analisar a influência de erros de arredondamento em um algoritmo. Algoritmo Regressivamente Estável Um algoritmo A, usado para resolver um problema P, é chamado de regressivamente estável (em inglês, backward stable) se P(e x ) = A(x), para algum xe com |e x − x| |x| da ordem de εmach . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Análise de arredondamento em ponto flutuante Exemplo Mostre que a operação fl(x) ⊕ fl(y ), que é usado para resolver a soma x + y , é regressivamente estável num sistema de ponto flutuante com épsilon da máquina εmach . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Raízes de funções reais Definição Dada uma função f : [a, b] → R, um número α ∈ [a, b] tal que f (α) = 0 é chamado de raiz (ou zero) de f . Dizemos também que α é uma solução da equação f (x) = 0. Nem sempre é possível encontrar uma expressão analítica para a raiz de uma função. Neste caso, recorremos a métodos numéricos para aproximar a raiz da função. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Raízes de funções reais Para garantir a existência de uma raiz de f em [a, b], podemos fazer uso do seguinte resultado: Teorema de Bolzano Seja f : [a, b] → R uma função contínua. Se f (a)f (b) < 0, i.e., f (a) e f (b) tem sinais opostos, então existe pelo menos um α ∈ (a, b) tal que f (α) = 0. O Teorema de Bolzano é uma consequência do Teorema do Valor Intermediário, visto em Cálculo I. Além de garantir a existência da raiz, o Teorema de Bolzano é a base para o método da bissecção. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da bissecção Seja f uma função real contínua definida no intervalo [a, b] tal que f (a)f (b) < 0. O método da bissecção consiste no seguinte procedimento: Calcule o ponto médio do intervalo: m= a+b . 2 Substitua a ou b por m de modo que o novo intervalo contém uma raiz: se f (m)f (b) < 0, então a ← m, senão b ← m. Repita os passos anteriores até (b − a) ≤ 2δ. O ponto médio entre a e b consiste na estimativa da raiz de f . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da bissecção Na n-ésima iteração, o intervalo resultante terá comprimento que converge para zero com n → ∞. b−a , 2n A condição de parada é satisfeita se n ≥ log2 b − a δ −1 Neste caso, o erro absoluto da aproximação satisfaz |m − α| ≤ δ. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da bissecção Inicialização: Escolha a0 e b0 de modo que f (a0 )f (b0 ) < 0. Para n ≥ 0: an + bn . 2 bn − an Pare se f (xn ) = 0 ou ≤ δ. 2 Se f (an )f (xn ) < 0, escolha [an+1 , bn+1 ] = [an , xn ], caso contrário, [an+1 , bn+1 ] = [xn , bn ]. Faça xn = © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da bissecção Exemplo Use o método da bissecção para encontrar uma estimativa para a raiz da função f (x) = e x − 2x − 1, no intervalo [1, 2], considerando uma tolerância (bn − an )/2 < δ = 5 × 10−2 . Exemplo Aplique o método da bissecção para encontrar a raiz da função f (x) = sen(2x) − cos(3x), no intervalo [0, 1], com tolerância (bn − an )/2 < δ = 5 × 10−2 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da posição falsa (ou regula falsi) O método da bisseção, que considera apenas o sinal de f nos extremos dos intervalos, pode ser modificado para consideramos os valores de f . No método da posição falsa, em vez de escolhermos o ponto médio do intervalo, adotamos a intersecção do eixo x com a reta que passa pelos pontos (a, f (a)) e (b, f (b)). Essa intersecção é dada por m= af (b) − bf (a) . f (b) − f (a) © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da posição falsa (ou regula falsi) f (bn ) an xn bn f (an ) © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da posição falsa (ou regula falsi) Inicialização: Escolha a0 e b0 de modo que f (a0 )f (b0 ) < 0. Para n ≥ 0: Faça xn = bn − f (bn ) bn − an . f (bn ) − f (an ) Pare se |f (xn )| < ε. Se f (an )f (xn ) < 0, escolha [an+1 , bn+1 ] = [an , xn ], caso contrário, [an+1 , bn+1 ] = [xn , bn ]. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da posição falsa (ou regula falsi) Exemplo Use o método da posição falsa para encontrar uma estimativa para a raiz da função f (x) = e x − 2x − 1, no intervalo [1, 2], considerando uma tolerância |f (xn )| < ε = 5 × 10−2 . Exemplo Usando o método da posição falsa, encontre a raiz da função f (x) = sen(2x) − ln(x), no intervalo [1, 3], com tolerância |f (xn )| < ε = 10−4 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Seja f é uma função contínua em [a, b]. No lugar da equação f (x) = 0, consideramos o problema na forma x = g (x), em que g é tal que f (α) = 0 se e somente se α = g (α). Uma função g como acima é chamada de função de iteração, e um número α satisfazendo α = g (α) é chamado ponto fixo de g . Dada uma aproximação inicial x0 , o método da iteração de ponto fixo define as aproximações sucessivas para n ≥ 0. xn+1 = g (xn ), Espera-se que xn → α com n → ∞. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Exemplo Considere a função f (x) = e x − 2x − 1. Mostre que g1 (x) = (e x − 1)/2 e g2 (x) = ln(2x + 1) são funções de iteração para f (x). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Teorema (∗) Seja g : [a, b] → R uma função de iteração contínua, com ponto fixo α ∈ (a, b). Assuma que g é derivável em (a, b), e a derivada g ′ (x) satisfaz |g ′ (x)| ≤ M < 1, para todo x ∈ (a, b). Seja x0 ∈ [a, b] qualquer. Então a iteração de ponto fixo xn+1 = g (xn ), n ≥ 0, está bem definida (xn ∈ [a, b] para todo n ≥ 1), e converge para α. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Pelo Teorema do Valor Médio, existe η entre xn−1 e α tal que g (xn−1 ) − g (α) = g ′ (η)(xn−1 − α). Deste modo, podemos escrever |xn − α| = |g (xn−1 ) − g (α)| = |g ′ (η)||xn−1 − α| ≤ M|xn−1 − α|. Com isso, obtemos |xn − α| ≤ M n |x0 − α|, para todo n ≥ 0. Como M < 1, concluímos que xn ∈ [a, b] para todo n ≥ 1, e lim |xn − α| ≤ lim M n |x0 − α| = 0. n→∞ © R. F. Vigelis n→∞ Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo f (x) = e −x − x f1 (x) = x f2 (x) = e −x © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Inicialização: Escolha x0 . Para n ≥ 0: Faça xn+1 = g (xn ). Pare se |f (xn+1 )| < ε. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Exemplo Considere a função f (x) = e x − 2x − 1. Usando a aproximação inicial x0 = 1, determine as aproximações {xn } considerando as funções de iteração: (a) g1 (x) = (e x − 1)/2; (b) g2 (x) = ln(2x + 1). Exemplo Aplique o método da iteração de ponto fixo para encontrar a raiz da função f (x) = x 3 − x 2 − 3 no intervalo [1, 3], com função de iteração g (x) = (x 2 + 3)1/3 , ponto inicial x0 = 2,5, e tolerância |f (xn+1 )| < ε = 10−1 . Verifique as hipóteses que garantem a convergência do método. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Definição Seja {xn } uma sequência convergindo para α, e seja en = xn − α seu erro. Considere a condição lim n→∞ |en+1 | = µ, |en |p para números reais p ≥ 1 e µ ≥ 0. Para p = 1, se µ = 0, a convergência é superlinear, se 0 < µ < 1, a convergência é linear com taxa de convergência µ, se µ = 1, a convergência é sublinear. Para p > 1 e µ > 0, a convergência é dita ser de ordem p. Em particular, se p = 2, a convergência é quadrática, e se p = 3, a convergência é cúbica. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Definição A ordem de convergência e a taxa de convergência de um método numérico são definidas como a ordem de convergência e a taxa de convergência da sequência {xn } resultante da aplicação do método numérico. Teorema Suponha que as condições do Teorema (∗) são satisfeitas. Assuma também que g ′ é contínua em [a, b], e xn ̸= α para todo n ≥ 0. Seja en = xn − α. Se g ′ (α) ̸= 0, então lim n→∞ |en+1 | = |g ′ (α)|. |en | © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Pelo Teorema do Valor Médio, existe ξn entre xn e α tal que g (xn ) − g (α) = g ′ (ξn )(xn − α), para n ≥ 0. Portanto, limn→∞ ξn = α, e, por g ′ ser contínua, lim g ′ (ξn ) = g ′ (α). n→∞ Deste modo, temos lim n→∞ |xn+1 − α| |g (xn ) − g (α)| |en+1 | = lim = lim n→∞ |xn − α| n→∞ |en | |xn − α| ′ |g (ξn )(xn − α)| = lim n→∞ |xn − α| ′ = lim |g (ξn )| = |g ′ (α)|. n→∞ © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Teorema Suponha que as condições do Teorema (∗) são satisfeitas. Assuma também que g ′′ é contínua em [a, b], e xn ̸= α para todo n ≥ 0. Seja en = xn − α. Se g ′ (α) = 0 e g ′′ (α) ̸= 0, então lim n→∞ |en+1 | 1 = |g ′′ (α)|. |en |2 2 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da iteração de ponto fixo Pela expansão em série de Taylor, existe ξn entre xn e α tal que 1 g (xn ) = g (α) + g ′ (α)(xn − α) + g ′′ (ξn )(xn − α)2 , 2 que implica g (xn ) − g (α) = 1 ′′ g (ξn )(xn − α)2 . 2 Deste modo, temos lim n→∞ |en+1 | |xn+1 − α| |g (xn ) − g (α)| = lim = lim n→∞ |xn − α|2 n→∞ |en |2 |xn − α|2 | 12 g ′′ (ξn )(xn − α)2 | n→∞ |xn − α|2 1 1 = lim |g ′′ (ξn )| = |g ′′ (α)|. n→∞ 2 2 = lim © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Newton Considere a função de iteração com f ′ (x) ̸= 0, g (x) = x + A(x)f (x), onde a função A(x) é escolhida de modo que A(α) ̸= 0. Se escolhermos A(x) tal que g ′ (α) = 0, teremos que |g ′ (x)| < 1 para todo x numa vizinhança de α, o que garante a convergência do método. Derivando g (x), obtemos g ′ (x) = 1 + A′ (x)f (x) + A(x)f ′ (x). Escolhendo A(x) = − 1 f ′ (x) , segue que g ′ (α) = 0. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Newton Assim, a escolha g (x) = x − f (x) f ′ (x) define o processo iterativo xn+1 = xn − f (xn ) , f ′ (xn ) chamado de método de Newton. O método de Newton sempre converge se |x0 − α| for suficientemente pequeno. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Newton Teorema Assuma que f ′′ é contínua em [a, b], com f ′ (α) ̸= 0 e f ′′ (α) ̸= 0. Seja {xn } a sequência obtida no método de Newton. Suponha que xn ̸= α para todo n ≥ 0. Seja en = xn − α. Então |en+1 | 1 f ′′ (α) = . 2 n→∞ |en | 2 f ′ (α) lim Esse resultado é uma consequência de g ′ (α) = 0 e g ′′ (α) = © R. F. Vigelis Métodos Numéricos f ′′ (α) . f ′ (α) Métodos Numéricos Método de Newton f (xn ) xn+1 © R. F. Vigelis xn Métodos Numéricos Métodos Numéricos Método de Newton Inicialização: Escolha x0 . Para n ≥ 0: f (xn ) . f ′ (xn ) Pare se |f (xn+1 )| < ε. Faça xn+1 = xn − © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Newton Exemplo Use o método de Newton para encontrar uma estimativa para a raiz positiva da função f (x) = e x − 2x − 1, com aproximação inicial x0 = 1 e tolerância ε = 10−5 . Exemplo Use o método de Newton para encontrar a raiz da função f (x) = sen(x) − e −x no intervalo [0, 1], com ponto inicial x0 = 0,0 e tolerância |f (xn+1 )| < ε = 10−5 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método das secantes Uma modificação do método de Newton consiste em substituir a derivada f ′ (xn ) pelo quociente f ′ (xn ) ≃ f (xn ) − f (xn−1 ) . xn − xn−1 O método de Newton, com essa modificação, é conhecido como método das secantes. Com a substituição, obtemos a iteração xn+1 = xn − © R. F. Vigelis f (xn )(xn − xn−1 ) . f (xn ) − f (xn−1 ) Métodos Numéricos Métodos Numéricos Método das secantes f (xn−1 ) f (xn ) xn+1 xn © R. F. Vigelis xn−1 Métodos Numéricos Métodos Numéricos Método das secantes Inicialização: Escolha x0 e x1 . Para n ≥ 1: f (xn )(xn − xn−1 ) . f (xn ) − f (xn−1 ) Pare se |f (xn+1 )| < ε. Faça xn+1 = xn − © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método das secantes Teorema Assuma que f ′ é contínua num intervalo I contendo a raiz α de f satisfazendo f ′ (α) ̸= 0. Seja {xn } a sequência obtida no método das secantes, com x0 e x1 suficientemente próximos a α. Suponha que xn ̸= α para todo n ≥ 0. Seja en = xn − α. Então lim n→∞ em que c > 0 e p = (1 + √ |en+1 | = c, |en |p 5)/2 ≃ 1,618. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método das secantes Exemplo Use o método das secantes para encontrar uma estimativa para a raiz positiva da função f (x) = e x − 2x − 1, com aproximações iniciais x0 = 1 e x1 = 2 e tolerância ε = 10−3 . Exemplo Aplique o método das secantes para encontrar a raiz da função f (x) = cos(x) − e −x no intervalo [1, 2], com pontos iniciais x0 = 1,0 e x1 = 1,2, e tolerância |f (xn+1 )| < ε = 10−3 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Sistemas de equações lineares Um sistema de n equações lineares é escrito como: a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 .. . an1 x1 + an2 x2 + · · · + ann xn = bn em que aij são os coeficientes, bi são os termos independentes, e xi são as incógnitas. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Sistemas de equações lineares Uma forma conveniente de representar um sistema de n equações lineares é em sua forma matricial: a11 a12 · · · a1n x1 b1 a21 a22 · · · a2n x2 b2 .. .. .. .. = .. .. . . . . . . an1 an2 ··· ann xn bn ou, simplesmente, Ax = b em que A é chamada de matriz dos coeficientes, b é o vetor do termo independente, e x é o vetor solução. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Sistemas de equações lineares Métodos numéricos para solução de sistemas de equações lineares podem ser classificados como: Métodos Exatos: Executados com um número finito de operações, fornecem a solução exata. Porém, devido a erros de arredondamento, problemas com propagação de erros podem acontecer. Métodos Iterativos: A solução é obtida com uma dada precisão, como resultado de um processo iterativo convergente. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução de sistemas triangulares Definição Seja C = (cij ) uma matriz quadrada. A matriz C é chamada de triangular superior (triangular inferior) se cij = 0 para i > j (i < j). Definição Um sistema de equações lineares é chamado de triangular superior (triangular inferior) se a matriz dos coeficientes for triangular superior (triangular inferior). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução de sistemas triangulares Assumindo aii = ̸ 0, o sistema triangular superior a11 a12 a13 · · · a1n x1 b1 0 a22 a23 · · · a2n x2 b2 0 0 a33 · · · a3n x3 = b 3 .. .. .. . . . .. .. . .. .. . . . 0 0 0 · · · ann xn bn pode ser resolvido usando a seguinte fórmula, chamada de substituição reversa: bn xn = a nn Pn b − j=i+1 aij xj xi = i , i = n − 1, . . . , 1 aii © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução de sistemas triangulares Já o sistema triangular inferior, a11 0 0 a21 a22 0 a31 a32 a33 .. .. .. . . . an1 an2 an3 com aii ̸= 0, ··· 0 x1 b1 x2 b 2 ··· 0 ··· 0 x3 = b 3 .. .. .. .. . . . . · · · ann xn bn pode ser resolvido usando a seguinte fórmula, chamada de substituição direta: x1 = b1 a11 Pi−1 b − j=1 aij xj xi = i , i = 2, . . . , n aii © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução de sistemas triangulares Exemplo Resolva o sistema triangular superior 2 3 4 x1 0 0 −1 −2 x2 = −2 . 0 0 −3 x3 −3 R.: (−2, 0, 1)T . Exemplo Resolva o sistema triangular superior 4 −1 3 4 x1 12 0 2 −3 5 x2 7 = . 0 0 7 −3 x3 −13 0 0 0 2 x4 4 R.: (1, −3, −1, 2)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução de sistemas triangulares Exemplo Resolva o sistema triangular inferior −7 0 0 x1 −21 3 1 0 x2 = 7 . 9 −5 2 x3 39 R.: (3, −2, 1)T . Exemplo Resolva o sistema triangular 3 0 4 2 −1 3 2 −1 inferior 0 0 3 −2 0 x1 −3 x2 0 0 = . 0 x3 16 −5 x4 −5 R.: (−1, 2, 3, −1)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Considere a matriz aumentada (1) a11 (1) a21 (1) Ã(1) = (A(1) , b (1) ) = a31 .. . a12 (1) a22 (1) a32 .. . (1) a13 (1) a23 (1) a33 .. . (1) ··· ··· ··· .. . a1n (1) a2n (1) a3n .. . an1 an2 (1) an3 (1) ··· ann (1) (1) (1) (1) (1) (1) b1 (1) b2 (1) b3 , .. . (1) bn em que aij = aij e bi = bi . Em cada estágio do método da eliminação de Gauss, os elementos da k-ésima coluna abaixo da diagonal são zerados. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Na primeiro estágio, obtemos (2) a11 Ã(2) = (A(2) , b (2) ) = a12 (2) a22 (2) a32 .. . (2) a13 (2) a23 (2) a33 .. . (2) ··· ··· ··· .. . a1n (2) a2n (2) a3n .. . (2) an3 (2) ··· ann a13 (3) a23 (3) a33 .. . (3) ··· ··· ··· .. . a1n (3) a2n (3) a3n .. . (3) ··· ann an2 (2) (2) (2) b1 (2) b2 (2) b3 , .. . (2) bn Já no segundo, Ã(3) (3) a11 = (A(3) , b (3) ) = (3) a12 (3) a22 an3 © R. F. Vigelis Métodos Numéricos (3) (3) (3) b1 (3) b2 (3) b3 .. . (3) bn Métodos Numéricos Método da eliminação de Gauss Continuamos até chegarmos à matriz triangular (n) (n) (n) a11 a12 a13 (n) (n) a22 a23 (n) a33 Ã(n) = (A(n) , b (n) ) = superior ··· ··· ··· .. . (n) a1n (n) a2n (n) a3n .. . (n) ann (n) b1 (n) b2 (n) b3 .. . (n) bn Podemos então encontrar a solução de Ax = b como solução do sistema triangular superior A(n) x = b (n) . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Para zerar os elementos da k-ésima coluna abaixo da diagonal, substituímos a i-ésima linha pela diferença entre a i-ésima linha e a (k) a k-ésima linha multiplicada por mik = ik . (k) akk Equivalentemente, para k = 1, . . . , n − 1, (k) aik m = ik (k) a kk (k+1) (k) (k) aij = aij − mik akj (k+1) (k) (k) bi = bi − mik bk para i = k + 1, . . . , n e j = k, . . . , n. (k) O termo akk é chamado de pivô. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Resultado (k) Para garantirmos que akk ̸= 0, para k = 1, . . . , n, devemos assumir que det(Ak ) ̸= 0, em que Ak = (aij )k×k é o menor principal de A de ordem k. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Para calcularmos o número de operações no método da eliminação de Gauss, escrevemos # operações = n−1 X (# operações no estágio k) k=1 = n−1 X n X (# operações na linha i) k=1 i=k+1 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Com isso, temos # divisões = n−1 X n X 1= k=1 i=k+1 (n − 1)n 2 e # multiplicações = n−1 X n X {[n − (k − 1)] + 1} k=1 i=k+1 3 2 = 2n + 3n − 5n 6 O número de subtrações é igual ao número de multiplicações. Portanto, o método da eliminação de Gauss possui uma complexidade aritmética da ordem de n3 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Use o método da eliminação de Gauss para resolver o sistema 1 3 −2 x1 2 −1 0 0 x2 = −1 . 2 −3 1 x3 0 R.: (1, 1, 1)T . Exemplo Use o método da eliminação de 1 −3 2 −2 3 −13 Gauss para resolver o sistema 2 x1 12 3 x2 = 15 . 9 x3 47 R.: (4, −2, 1)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Usando o método da eliminação de Gauss, resolva o sistema 1 −1 2 −1 x1 −8 −3 x2 21 5 −3 2 = . 1 −5 −6 2 x3 3 3 −11 −8 1 x4 −8 R.: (−1, 2, −2, 1)T . Exemplo Usando o método da 3 6 −9 −6 eliminação de Gauss, resolva o sistema −2 1 −1 x1 −15 −6 1 1 x2 = −30 . −2 −8 17 x3 48 −2 −4 7 x4 25 R.: (−3, 2, −1, 1)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Resolva o sistema ( 0,0003x1 + 3,0000x2 = 2,0001 1,0000x1 + 1,0000x2 = 1,0000 usando o método da eliminação de Gauss, com quatro e cinco algarismos significativos. R.: (1,0000; 0,6666)T , (0,40000; 0,66666)T , (1/3, 2/3)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Resolva o sistema ( 1,0000x1 + 1,0000x2 = 1,0000 0,0003x1 + 3,0000x2 = 2,0001 usando o método da eliminação de Gauss, com quatro e cinco algarismos significativos. R.: (0,3334; 0,6666)T , (0,33334; 0,66666)T , (1/3, 2/3)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Pivotamento parcial No método da eliminação de Gauss com pivotamento parcial, antes de iniciar o k-ésimo estágio, as linhas da matriz A(k) são permutadas de (k) (k) modo que |akk | ≥ |aik |, para i = k, . . . , n. O pivô é escolhido como sendo um dos elementos de maior valor absoluto dentre (k) (k) (k) akk , ak+1,k , . . . , ank . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Resolva o sistema Ax = b, em que 1 −2 −1 1 , A = 2 2 3 1 −8 e −1 b = 10 , −6 usando o método da eliminação de Gauss com pivotamento parcial. R.: x = (3, 1, 2)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método da eliminação de Gauss Exemplo Resolva o sistema abaixo, com precisão de duas casas decimais, usando o método da eliminação de Gauss com pivotamento parcial: −2 1 1 x1 1 2 3 3 x2 = −3 . 3 2 −1 x3 2 (Obs.: O arredondamento deve ser aplicado a cada operação aritmética.) R.: (−0,74; 1,24; −1,74)T . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Fatoração LU Seja A uma matriz quadrada. A fatoração LU da matriz A se refere ao produto A = LU, em que L é uma matriz triangular inferior, com os termos da diagonal iguais a 1, e U é uma matriz triangular superior. Uma aplicação do método da eliminação de Gauss fornece a decomposição LU da matriz A. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Fatoração LU Organizamos os multiplicadores mik inferior 1 0 m21 1 m31 m32 L= .. .. . . mn1 mn2 (k) (k) = aik /akk na matriz triangular 0 ··· 0 0 · · · 0 1 · · · 0 . .. . .. . .. . mn3 ··· 1 Seja U = A(n) a matriz triangular superior obtida no final do método da eliminação de Gauss. Essa matrizes satisfazem A = LU. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Fatoração LU Uma vez encontrada a fatoração LU da matriz A, o sistema Ax = b é resolvido da seguinte forma: Primeiro, usando substituição direta, resolve-se Ly = b. Depois, usando substituição reversa, resolve-se Ux = y . O procedimento acima é útil no caso em que o sistema linear Ax = b precisa ser resolvido, com a mesma matriz A, e diferentes vetores b, pois não é necessário fatorar a matriz A novamente. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Fatoração LU Exemplo Encontre a fatoração LU da matriz −1 A = −2 3 e posteriormente resolva b = (5, 9, −12)T . 1 0 0 −1 R.: 2 1 0 0 −3 5 1 0 2 3 7 4 , 9 −15 o sistema Ax = b para b = (5, 18, 21)T e 2 3 −4 3 3 −2, 2 , 1. 0 4 −1 2 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Fatoração LU Exemplo Encontre a fatoração LU da matriz 2 3 −2 −1 4 4 −1 −6 A= 4 14 −19 16 , −4 2 −17 22 e posteriormente resolva o sistema b = (−8, −20, 8, 54)T . 1 0 0 0 2 3 2 0 −2 1 0 0 R.: 2 −4 1 0 0 0 −2 −4 3 1 0 0 © R. F. Vigelis Ax = b para b = (−3, −11, 21, 43)T e −2 3 −3 0 −1 −4 , 2 −2 3 −3 , −1 2 Métodos Numéricos −1 −3 . −2 1 Métodos Numéricos Método de Jacobi Isolando a variável xi na i-ésima linha do sistema a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 .. . an1 x1 + an2 x2 + · · · + ann xn = bn podemos escrever x1 = (b1 − a12 x2 − · · · − a1n xn )/a11 x2 = (b2 − a21 x1 − · · · − a2n xn )/a22 .. . xn = (bn − an1 x1 − · · · − an,n−1 xn−1 )/ann © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Jacobi No método de Jacobi, a sequência de aproximações x (k) para a solução do sistema Ax = b é dada pela fórmula recursiva (k+1) (k) = (b1 − a12 x2 − · · · − a1n xn(k) )/a11 x1 x (k+1) = (b − a x (k) − · · · − a x (k) )/a 2 2 21 1 2n n 22 .. . (k) (k) xn(k+1) = (bn − an1 x1 − · · · − an,n−1 xn−1 )/ann em que assumimos aii ̸= 0. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Jacobi Podemos reescrever a fórmula recursiva para o método de Jacobi na forma matricial x (k+1) = D −1 (b − Mx (k) ), k ≥ 0, em que D e M são matrizes satisfazendo A = D + M, a11 0 · · · 0 0 0 a22 · · · a21 0 D= . e M= . .. .. , .. .. .. . . . 0 0 · · · ann an1 © R. F. Vigelis Métodos Numéricos com a12 0 .. . ··· ··· .. . an2 ··· a1n a2n .. . . 0 Métodos Numéricos Método de Jacobi Para a parada do método de Jacobi podemos usar o critério ∥x (k+1) − x (k) ∥∞ < ε, ∥x (k+1) ∥∞ dada uma tolerância ε > 0. A norma ∥ · ∥∞ corresponde ao maior dos valores absolutos dos componentes do vetor, i.e., se x = (x1 , . . . , xn )T então ∥x∥∞ = max |xi |. 1≤i≤n © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Jacobi Exemplo Use o método de Jacobi, com aproximação inicial x (0) = (0, 0)T , e ε = 5 × 10−2 para o critério de parada, para encontrar a solução do sistema linear ( 3x1 − 2x2 = 1 −x1 + 4x2 = 1 R.: ∥x (k) −x (k−1) ∥∞ ∥x (k) ∥∞ k x (k) 0 1 2 3 4 (0,00000; 0,00000)T (0,33333; 0,25000)T (0,50000; 0,33333)T (0,55555; 0,37500)T (0,58333; 0,38888)T © R. F. Vigelis 1,00000 0,33333 0,09999 0,04762 Métodos Numéricos Métodos Numéricos Método de Jacobi Exemplo Considere o sistema linear 4 −2 1 x1 2 1 −3 −1 x2 = 4 . −1 0 2 x3 −1 Dada a aproximação inicial x (0) = (0, 0, 0)T , encontre as aproximações sucessivas x (1) , x (2) , x (3) e x (4) , usando o método de Jacobi. R.: Solução: (0,04; −1,16; −0,48)T . Aproximações: k 0 1 2 3 4 x (k) (0,00000; 0,00000; 0,00000)T (0,50000; −1,33333; −0,50000)T (−0,04166; −1,00000; −0,25000)T (0,06250; −1,26388; −0,52083)T (−0,00173; −1,13889; −0,46875)T © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Gauss–Seidel No método de Gauss–Seidel, a sequência de aproximações x (k) para a solução do sistema Ax = b é dada pela fórmula recursiva (assumimos aii ̸= 0) (k+1) (k) x1 = (b1 − a12 x2 − · · · − a1n xn(k) )/a11 x (k+1) = (b − a x (k+1) − · · · − a x (k) )/a 2 2 (k+1) xn 21 1 2n n 22 .. . (k+1) = (bn − an1 x1 (k+1) − · · · − an,n−1 xn−1 )/ann ou, equivalentemente, (k+1) xi i−1 n X X 1 (k+1) (k) bi − aij xj − aij xj , = aii j=1 j=i+1 © R. F. Vigelis Métodos Numéricos para i = 1, . . . , n. Métodos Numéricos Método de Gauss–Seidel Vamos reescrever a fórmula recursiva na forma matricial. Para isso, passamos todos o termos do estágio k + 1 para o lado esquerdo da igualdade. Assim, obtemos X i−1 (k+1) aij xj (k+1) + aii xi = bi − j=1 e então n X j=i+1 i X (k+1) aij xj = bi − j=1 n X (k) aij xj . j=i+1 © R. F. Vigelis Métodos Numéricos (k) aij xj , Métodos Numéricos Método de Gauss–Seidel Sejam L e U tais que A = L + U, com a11 0 · · · 0 a21 a22 · · · 0 L= . e . .. , . .. .. .. . an1 an2 · · · ann 0 0 U = . .. 0 a12 0 .. . ··· ··· .. . 0 ··· a1n a2n .. . . 0 Com isso, obtemos a seguinte fórmula na forma matricial: Lx (k+1) = b − Ux (k) , que resulta em x (k+1) = L−1 (b − Ux (k) ). © R. F. Vigelis Métodos Numéricos (∗) Métodos Numéricos Método de Gauss–Seidel O sistema (∗) pode ser resolvido usando substituição direta. Usamos como critério de parada no método de Gauss–Seidel o mesmo critério usado no método de Jacobi. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método de Gauss–Seidel Exemplo Use o método de Gauss–Seidel, com aproximação inicial x (0) = (1, 1)T , e ε = 5 × 10−2 para o critério de parada, para encontrar a solução do sistema linear ( 5x1 + 2x2 = 1 −x1 + 4x2 = 2 R.: ∥x (k) −x (k−1) ∥∞ ∥x (k) ∥∞ k x (k) 0 1 2 3 (1,00000; 1,00000)T (−0,20000; 0,45000)T (0,02000; 0,50500)T (−0,00200; 0,49950)T © R. F. Vigelis 2,66670 0,43564 0,04404 Métodos Numéricos Métodos Numéricos Método de Gauss–Seidel Exemplo Considere o sistema linear 4 −2 1 x1 2 1 −3 −1 x2 = 4 . −1 0 2 x3 −1 Dada a aproximação inicial x (0) = (1, 1, 1)T , use o método de Gauss–Seidel, para encontrar as aproximações sucessivas x (1) , x (2) e x (3) . R.: Solução: (0,04; −1,16; −0,48)T . Aproximações: k 0 1 2 3 x (k) (1,00000; 1,00000; 1,00000)T (0,75000; −1,41666; −0,12500)T (−0,17708; −1,35069; −0,58854)T (−0,02821; −1,14655; −0,51410)T © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Os métodos de Jacobi e Gauss–Seidel podem ser expressos na forma matricial como x (k+1) = Cx (k) + g , para k ≥ 0, (∗) com x satisfazendo a igualdade x = Cx + g se, e somente se, Ax = b. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Com respeito ao método de Jacobi, temos x (k+1) = D −1 (b − Mx (k) ) = −D −1 Mx (k) + D −1 b, e a fórmula (∗) é satisfeita para C = −D −1 M e g = D −1 b. Para esses valores de C e g , vemos que Ax = (D + M)x = b é equivalente a x = D −1 (b − Mx) = Cx + g . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Já no método de Gauss–Seidel, o desenvolvimento x (k+1) = L−1 (b − Ux (k) ) = −L−1 Ux (k) + L−1 b implica que (∗) é satisfeita para C = −L−1 U e g = L−1 b. Com esses valores de C e g , temos que Ax = (L + U)x = b é equivalente a x = L−1 (b − Ux) = Cx + g . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Subtraindo as equações x (k+1) = Cx (k) + g e x = Cx + g , obtemos x (k+1) − x = C (x (k) − x) Usando a desigualdade triangular, chegamos a (k+1) |xi − xi | = ≤ n X (k) cij (xj j=1 X n n X − xj ) ≤ (k) |cij | · |xj − xj | j=1 (k) |cij | · max |xj 1≤j≤n j=1 − xj | Deste modo, max 1≤i≤n (k+1) |xi − xi | ≤ max 1≤i≤n © R. F. Vigelis X n j=1 |cij | (k) · max |xj 1≤j≤n Métodos Numéricos − xj | Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Definindo ∥C ∥ = max 1≤i≤n X n |cij | j=1 podemos escrever ∥x (k+1) − x∥∞ ≤ ∥C ∥ · ∥x (k) − x∥∞ Consequentemente, ∥x (k) − x∥∞ ≤ ∥C ∥k · ∥x (0) − x∥∞ . (k) Portanto, se ∥C ∥ < 1 então ∥x (k) − x∥∞ → 0, que implica xi para i = 1, . . . , n. © R. F. Vigelis Métodos Numéricos → xi Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Teorema (Critério de convergência) Se ∥C ∥ < 1 então a sequência x (k+1) = Cx (k) + g , k ≥ 0, converge para x = Cx + g . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel No método de Jacobi, a matriz C é dada por a12 0 ··· a11 a 21 0 ··· a22 C = −D −1 M = − . .. .. . . . . an2 an1 · · · ann ann a1n a11 a2n a22 .. . . 0 A desigualdade ∥C ∥ = max 1≤i≤n é satisfeita se e somente se X |aij | < |aii |, X j̸=i aij aii <1 para i = 1, . . . , n. j̸=i Uma matriz A satisfazendo (∗) é chamada de diagonalmente estritamente dominante. © R. F. Vigelis Métodos Numéricos (∗) Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel É possível verificar que, se A é diagonalmente estritamente dominante, então o método de Gauss–Seidel também converge. Teorema (Critério das linhas) Se a matriz A é diagonalmente estritamente dominante, i.e., X |aij | < |aii |, i = 1, . . . , n, j̸=i então os métodos de Jacobi e Gauss–Seidel geram uma sequência que converge para a solução do sistema linear Ax = b, qualquer que seja a aproximação inicial x (0) . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Convergência nos métodos de Jacobi e Gauss–Seidel Exemplo Verifique se o critério das linhas é válido para o sistema linear 8x1 + 2x2 − 2x3 − 3x4 = 1 2x + 9x + 3x + 4x = 5 1 2 3 4 3x − 2x + 7x − 3x 2 3 4 =3 1 x1 + 2x2 + 3x3 + 8x4 = 2 R.: Não é satisfeito. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR O método QR é usado para encontrar os autovalores de uma matriz A. Um número λ ∈ R é dito ser um autovalor da matriz A se existir um vetor v tal que Av = λv . O vetor v que satisfaz a equação acima é chamado de autovetor. Numa matriz triangular (superior ou inferior), seus autovalores correspondem aos elementos de sua diagonal. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Na fatoração QR a matriz A é escrita como o produto A = QR, em que Q é uma matriz ortonormal, e R é uma matriz triangular superior. Uma matriz Q é chamada de ortonormal se Q T Q = QQ T = I . Se A é não singular, então a fatoração QR é única se é requerido que os elementos da diagonal de R são positivos. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Para encontramos a fatoração QR de uma matriz A = (aij )n×n , pode-se usar o processo de Gram–Schmidt. Para isso, expressamos a matriz A como A = (a1 , . . . , an ), em que aj = (a1j , . . . , anj )T são os vetores coluna de A. No processo de Gram–Schmidt, um conjunto ortonormal de vetores coluna são gerados a partir dos vetores coluna de A. Dado um vetor coluna a, denotamos ∥a∥ = (aT a)1/2 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Os vetores qi são obtidos como i−1 X ′ a = a − (qkT ai )qk , i i k=1 ai′ qi = ′ . ∥ai ∥ A matriz Q é então composta pelos vetores coluna qi : Q = (q1 , . . . , qn ). Já as entradas da matriz R = (rij ) são dadas como ( qiT aj , i ≤ j, rij = 0, i > j. Os valores de rij são encontrados durante o cálculo dos vetores coluna qi . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Exemplo Usando o processo de Gram–Schmidt, encontre a fatoração QR da matriz 1 4 A= . 2 3 ! √ √ √1 √2 5 2√ 5 5 R.: A = √25 . − √15 0 5 5 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Exemplo Usando o processo de Gram–Schmidt, encontre a fatoração QR da matriz 2 10 3 A = 1 −4 −3 . 2 1 −6 2/3 2/3 1/3 3 6 −3 R.: A = 1/3 −2/3 2/3 0 9 6 . 2/3 −1/3 −2/3 0 0 3 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Exemplo Usando o processo de Gram–Schmidt, encontre a fatoração QR da matriz −2 2 1 2 2 4 0 3 A= −2 2 3 2 . 2 4 2 7 −1/2 1/2 −1/2 1/2 4 2 −1 3 1/2 1/2 −1/2 −1/2 0 6 3 7 R.: A = −1/2 1/2 1/2 −1/2 0 0 2 2. 1/2 1/2 1/2 1/2 0 0 0 2 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR O método QR usa transformações de similaridade para transformar a matriz A na forma triangular. Uma transformação de similaridade é definida como A′ = M −1 AM. As matrizes A e A′ são ditas ser similares. Os autovalores de matrizes similares são idênticos, porém com autovetores diferentes. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR No método QR o produto A = QR, obtido na fatoração QR, é invertido resultando na matriz A′ = RQ. A matrizes A e A′ são similares, e portanto têm os mesmos autovalores. Este resultado segue das igualdades abaixo: Q −1 AQ = Q −1 QRQ = RQ = A′ . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR No método QR, dada a matriz A(k) no k-ésimo estágio, encontramos sua decomposição QR como A(k) = Q (k) R (k) , e então calculamos A(k+1) = R (k) Q (k) . A inicialização é dada por A(0) = A. Os elementos da diagonal de A(k) convergem para os autovalores de A, a medida que A(k) se aproxima da forma triangular superior. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Teorema Seja A uma matriz não singular tendo autovalores λ1 , . . . , λn , com |λ1 | > · · · > |λn | > 0. Escolha a matriz X tal que X −1 AX = Λ := diag(λ1 , . . . , λn ). Suponha que X −1 admite uma decomposição LU. Seja {A(k) }, com (k) A(0) = A, a sequência gerada no método QR. Denote por aij a entrada de posição ij de A(k) . Então (k) aij → 0, para i > j, e (k) aii → λi , © R. F. Vigelis para i = 1, . . . , n, Métodos Numéricos Métodos Numéricos Método QR Exemplo Aplique o método QR, com 3 iterações, à matriz 1 5 A= . 3 2 R.: © R. F. Vigelis Métodos Numéricos Métodos Numéricos Método QR Exemplo Aplique o método QR, com 3 iterações, à matriz 25 32 40 8 . A = 32 1 40 8 37 R.: Λ = diag(81, −27, 9). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação No problema de interpolação, dado um conjunto de pares ordenados, (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ), com x0 , x1 , . . . , xn distintos, que organizamos na tabela x y x0 y0 x1 y1 ··· ··· xn yn procuramos uma função φ que interpola os pontos tabelados, ou seja, φ(xk ) = yk , k = 0, 1, . . . , n. Na interpolação polinomial, a função φ é um polinômio de grau ≤ n. Desta forma, desejamos encontrar um polinômio pn de grau ≤ n tal que pn (xk ) = yk , k = 0, 1, . . . , n. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Denotando pn (x) = α0 + α1 x + · · · + αn x n , queremos então encontrar α0 , α1 , . . . , αn tais que α0 + α1 xk + · · · + αn xkn = yk , k = 0, . . . , n, que corresponde a um sistema linear com n + 1 equações e n + 1 incógnitas. Na forma matricial, escrevemos V α = y, em que x0 x1 .. . x02 x12 .. . ··· ··· .. . 1 xn xn2 ··· 1 1 V = . .. x0n x1n .. , . xnn © R. F. Vigelis α0 α1 α= . .. αn Métodos Numéricos y0 y1 e y = . . .. yn Métodos Numéricos Interpolação A matriz V é chamada de matriz de Vandermonde. O sistema V α = y admite uma única solução, ou seja, det(V ) ̸= 0, se os pontos x0 , x1 , . . . , xn forem distintos. Teorema (Existência e Unicidade) Considere o conjunto {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, com xi ̸= xj para i ̸= j. Então existe um único polinômio pn de grau ≤ n tal que pn (xk ) = yk , para k = 0, 1, . . . , n. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Resolva um sistema linear para encontrar o polinômio de grau ≤ 2 que interpola os pontos dados na tabela x y −1 −4 2 5 3 12 R.: p2 (x) = −3 + 2x + x 2 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação A matriz de Vandermonde apresenta problemas de mal condicionamento. Portanto, o polinômio obtido da solução do sistema V α = y pode conter erros de arredondamento. Veremos formas de encontrar o polinômio pn que não utilizam a matriz de Vandermonde. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Considere os polinômios (x − x0 )(x − x1 ) · · · (x − xi−1 )(x − xi+1 ) · · · (x − xn ) (xi − x0 )(xi − x1 ) · · · (xi − xi−1 )(xi − xi+1 ) · · · (xi − xn ) Y (x − xk ) , = (xi − xk ) Li (x) = k̸=i para i = 0, 1, . . . , n. Note que Li é um polinômio de grau n com raízes x0 , x1 , . . . , xi−1 , xi+1 , . . . , xn . Além disso, esses polinômios satisfazem ( 1, i = k, Li (xk ) = 0, i ̸= k. No método de Lagrange, o polinômio interpolador é dado como pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x) n X = yk Lk (x). k=0 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Use o método de Lagrange para encontrar o polinômio de grau ≤ 2 que interpola os pontos dados na tabela x y −1 −4 2 5 3 12 R.: p2 (x) = −3 + 2x + x 2 . Exemplo Usando o Método de Lagrange, encontre o valor do polinômio em x = 1, passando pelos pontos dados na tabela abaixo: x y −2 12 −1 6 3 42 4 126 R.: p3 (1) = −12. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Usando o Método de Lagrange, encontre o valor do polinômio em x = 1, passando pelos pontos dados na tabela abaixo: x y −3 −2 −41 −8 −1 1 0 2 2 4 R.: p4 (1) = 3. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação O cálculo dos polinômios L0 , L1 , . . . , Ln é computacionalmente custoso. Como alternativa, temos o método de Newton em que o polinômio interpolador é dado por pn (x) = α0 + α1 (x − x0 ) + α2 (x − x0 )(x − x1 ) + · · · · · · + αn (x − x0 )(x − x1 ) · · · (x − xn−1 ), em que α0 , α1 , . . . , αn são obtidos da solução do sistema linear 1 1 1 1 1 y 0 0 α1 y1 α y 2 = 2 . . . . . . . αn yn (xn − x0 ) · · · (xn − xn−1 ) α (x1 − x0 ) (x2 − x0 ) ... (xn − x0 ) (x2 − x0 )(x2 − x1 ) .. . (xn − x0 )(xn − x1 ) .. . ··· Os coeficientes α0 , α1 , . . . , αn podem ser obtidos usando substituição direta. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Alternativamente, podemos calcular os coeficientes α0 , α1 , . . . , αn usando o operador diferenças divididas: Ordem 0: f [xk ] = f (xk ) = yk ; f [xk ] − f [xk−1 ] Ordem 1: f [xk−1 , xk ] = ; xk − xk−1 f [xk−1 , xk ] − f [xk−2 , xk−1 ] Ordem 2: f [xk−2 , xk−1 , xk ] = ; xk − xk−2 f [xk−l+1 , . . . , xk ] − f [xk−l , . . . , xk−1 ] Ordem l: f [xk−l , . . . xk ] = . xk − xk−l © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Os cálculos podem ser organizados na seguinte tabela: x x0 Ordem 0 y0 = f [x0 ] x1 y1 = f [x1 ] Ordem 1 Ordem 2 Ordem 3 ··· Ordem n f [x0 , x1 ] f [x0 , x1 , x2 ] f [x1 , x2 ] x2 y2 = f [x2 ] f [x0 , x1 , x2 , x3 ] f [x1 , x2 , x3 ] f [x2 , x3 ] x3 y3 = f [x3 ] x4 .. . y4 = f [x4 ] .. . xn yn = f [xn ] f [x3 , x4 ] .. . f [xn−1 , xn ] . .. f [x1 , x2 , x3 , x4 ] f [x2 , x3 , x4 ] .. . f [x0 , x1 , . . . , xn ] . © R. F. Vigelis . .. . f [xn−3 , xn−2 , xn−1 , xn ] .. .. Métodos Numéricos .. . Métodos Numéricos Interpolação Em termos do operador diferenças divididas, os coeficientes α0 , α1 , . . . , αn são dados por αk = f [x0 , x1 , . . . , xk ], k = 0, . . . , n. Portanto, pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + · · · · · · + f [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) · · · (x − xn−1 ). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Na prática, o valor do polinômio pn (x) para determinado x é obtido usando parênteses encaixados. O polinômio pn (x) = α0 + α1 (x − x0 ) + α2 (x − x0 )(x − x1 ) + · · · · · · + αn (x − x0 )(x − x1 ) · · · (x − xn−1 ) pode ser reescrito como pn (x) = α0 + (x − x0 )(α1 + (x − x1 )(α2 + + (x − x2 )(α3 + · · · + (x − xn−1 )αn ) · · · ). Deste modo, o polinômio no método de Newton resulta em pn (x) = f [x0 ] + (x − x0 )(f [x0 , x1 ] + (x − x1 )(f [x0 , x1 , x2 ]+ + (x − x2 )(f [x0 , x1 , x2 , x3 ] + · · · + (x − xn−1 )f [x0 , x1 , . . . , xn ]) · · · ). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Use o método de Newton para encontrar o polinômio de grau ≤ 2 que interpola os pontos dados na tabela x y −1 −4 2 5 3 12 R.: p2 (x) = −3 + 2x + x 2 . Exemplo Usando o Método de Newton, encontre o valor do polinômio em x = 3, passando pelos pontos dados na tabela abaixo: x y −3 −2 −60 −9 −1 0 2 −3 R.: p3 (3) = 126. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Usando o Método de Newton, encontre o valor do polinômio em x = 1, passando pelos pontos dados na tabela abaixo: x y −3 −9 −2 −6 −1 1 0 2 2 3 R.: p4 (1) = −1,6. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Vamos assumir que os pontos (x0 , y0 ), . . . , (xn , yn ) satisfazem yk = f (xk ), k = 0, . . . , n, em que f é a função a ser aproximada por um polinômio pn de grau ≤ n. O erro En em x ∈ [x0 , xn ], resultante da interpolação polinomial por pn , é definido como En (x) = |f (x) − pn (x)|. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Teorema Considere n + 1 pontos x0 < x1 < · · · < xn , com n ≥ 0. Seja f uma função com derivada de ordem n + 1 contínua no intervalo [x0 , xn ]. Se pn é o polinômio que interpola f nos pontos x0 , . . . , xn , então f (x) − pn (x) = n f (n+1) (ξ) Y (x − xk ), (n + 1)! x ∈ [x0 , xn ], k=0 em que x0 ≤ ξ ≤ xn . Consequentemente, o erro da interpolação polinomial satisfaz En (x) ≤ n Mn+1 Y (x − xk ) , (n + 1)! x ∈ [x0 , xn ], k=0 em que Mn+1 = max |f (n+1) (x)|. x∈[x0 ,xn ] © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Vamos mostrar que f (x) − pn (x) = f (n+1) (ξ) π(x), (n + 1)! x ∈ [x0 , xn ], em que π(x) = (x − x0 )(x − x1 ) · · · (x − xn ). Fixado x ̸= xk em [x0 , xn ], defina a função A(t) = f (t) − pn (t) − f (x) − pn (x) π(t), π(x) t ∈ [x0 , xn ]. Note que A(x) = 0 e A(x0 ) = 0, A(x1 ) = 0, . . . , A(xn ) = 0, já que f (xk ) = pn (xk ), para k = 0, . . . , n. Consequentemente, A possui n + 2 raízes em [x0 , xn ]. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Pelo Teorema de Rolle, A′ possui n + 1 raízes em (x0 , xn ). Novamente, pelo Teorema de Rolle, A′′ possui n raízes em (x0 , xn ). Aplicando repetidas vezes o Teorema de Rolle, concluímos que A(n+1) possui uma raiz ξ ∈ (x0 , xn ). Logo, temos A(n+1) (ξ) = f (n+1) (ξ) − pn(n+1) (ξ) − (n+1) Como pn f (x) − pn (x) (n + 1)! = 0. π(x) (t) = 0, chegamos então a f (x) − pn (x) = f (n+1) (ξ) π(x), (n + 1)! © R. F. Vigelis x ∈ [x0 , xn ]. Métodos Numéricos Métodos Numéricos Interpolação Corolário Considere n + 1 pontos igualmente espaçados: xk = x0 + kh, k = 0, 1, . . . , n. Seja f uma função com derivada de ordem n + 1 contínua no intervalo [x0 , xn ]. Se pn é o polinômio que interpola f nos pontos x0 , . . . , xn , então o erro da interpolação polinomial satisfaz En (x) ≤ Mn+1 hn+1 , 4(n + 1) x ∈ [x0 , xn ], em que Mn+1 = max |f (n+1) (x)|. x∈[x0 ,xn ] © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Fixado x ∈ [x0 , xn ], seja 0 ≤ l ≤ n tal que x ∈ (xl−1 , xl ). Usando as desigualdades (x − xk ) ≤ h(l − k), para 0 ≤ k ≤ l − 2, 2 h , 4 (xk − x) ≤ h(k − l + 1), (x − xl−1 )(xl − x) ≤ e (n − l + 1) ≤ para l + 1 ≤ k ≤ n, n ⇒ l! · (n − l + 1)! ≤ n!, l podem escrever |π(x)| = n Y |x − xk | k=0 = l−2 Y (x − xk )(x − xl−1 )(xl − x) k=0 © R. F. Vigelis n Y (xk − x) k=l+1 Métodos Numéricos Métodos Numéricos Interpolação ≤ Y l−2 k=0 = = ≤ h n+1 4 h 2 Y n h h(l − k) h(k − l + 1) 4 k=l+1 Y l−2 (l − k) k=0 Y n (k − l + 1) k=l+1 n+1 4 · l! · (n − l + 1)! hn+1 n! 4 Com isso, chegamos a f (n+1) (ξ) (n + 1)! n+1 h Mn+1 Mn+1 hn+1 ≤ n! = . 4 (n + 1)! 4(n + 1) En (x) = |f (x) − pn (x)| = π(x) © R. F. Vigelis Métodos Numéricos Métodos Numéricos Interpolação Exemplo Obtenha uma aproximação para ln(2,3) e uma estimativa para o seu erro usando interpolação polinomial. Para isso, considere a tabela 1 x ln(x) 0 2 0,6931 3 1,0986 4 1,3863 R.: p3 (2,3) = 0,8373, E3 (2,3) ≤ 0,375. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Seja f : [a, b] → R uma função contínua e, geralmente, suave. Numa quadratura numérica de n + 1 pontos, a integral é aproximada da seguinte forma: Z b f (x)dx ≃ I (f ) = a n X wk f (xk ), k=0 em que x0 , x1 , . . . , xn ∈ [a, b] são os nós de integração, e w0 , w1 , . . . , wn são os pesos. A quadratura numérica é usada quando a função f é conhecida em apenas alguns pontos, ou quando não é possível calcular I (f ) analiticamente. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Nas fórmulas de Newton–Cotes, os pesos wk são obtidos usando interpolação polinomial ou interpolação polinomial por partes em pontos x0 < x1 < · · · < xn igualmente espaçados no intervalo [a, b]. Uma fórmula de Newton–Cotes é chamada de fechada se x0 = a e xn = b. Por outro lado, na fórmula aberta de Newton–Cotes, temos x0 , x1 , . . . , xn ∈ (a, b). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Seja pn o polinômio de grau n que interpola f nos pontos xk = a + b−a k, n k = 0, 1, . . . , n. Pela forma de Lagrange, temos pn (x) = n X f (xk )Lk (x), k=1 em que Lk (x) = Y (x − xi ) . (xk − xi ) i̸=k © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Deste modo, b Z Z b f (x)dx ≃ I (f ) = pn (x)dx a a = = = Z b X n a k=0 n XZ b k=0 n X f (xk )Lk (x) dx Lk (x)dx f (xk ) a wk f (xk ), k=0 em que os pesos w0 , w1 , . . . , wn são dados por Z wk = b Lk (x)dx, k = 0, 1, . . . , n. a © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Na Regra dos Trapézios, consideramos n = 1 com x0 = a e x1 = b. Sendo as bases de Lagrange dadas por L0 (x) = x − x1 x1 − x = , x0 − x1 h e L1 (x) = x − x0 x − x0 = , x1 − x0 h em que h = x1 − x0 , temos Z b w0 = Z x1 L0 (x)dx = a Z w1 = x0 x1 b Z L1 (x)dx = a x0 x1 − x h dx = , h 2 x − x0 h dx = . h 2 Com isso, a Regra dos Trapézios resulta em I (f ) ≃ T1 (f ) = © R. F. Vigelis h [f (x0 ) + f (x1 )]. 2 Métodos Numéricos Métodos Numéricos Integração numérica Para melhorar a aproximação da integral pela Regra dos Trapézios, podemos fazer uma subdivisão do intervalo [a, b] com pontos xk = a + b−a k, n k = 0, 1, . . . , n, e aplicar a Regra dos Trapézios em cada subintervalo [xk−1 , xk ], para k = 1, . . . , n. Nesse caso, a função f é aproximada por um polinômio linear por partes Π1 que interpola f em x0 , x1 , . . . , xn . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Com isso, temos a aproximação Z b Z f (x)dx ≃ I (f ) = a b Π1 (x)dx = a n Z X k=1 xk Π1 (x)dx = Tn (f ). xk−1 Considerando a aplicação da Regra dos Trapézios em cada subintervalo [xk−1 , xk ], obtemos I (f ) ≃ Tn (f ) = n X h k=1 2 [f (xk−1 ) + f (xk )]. A Regra dos Trapézios Composta é dada então como I (f ) ≃ Tn (f ) = h [f (x0 ) + 2f (x1 ) + 2f (x2 ) + · · · + 2f (xn−1 ) + f (xn )]. 2 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Seja Z x1 RT = I (f ) − T1 (f ) = Z x1 f (x)dx − x0 p1 (x)dx. x0 Considere a função contínua A(x) = f (x) − p1 (x) − RT π(x), W em que π(x) = (x − x0 )(x − x1 ),e Z x1 h3 π(x)dx = − ̸= 0. W = 6 x0 Como Z x1 A(x)dx = 0, x0 podemos inferir que existe u ∈ (x0 , x1 ) tal que A(u) = 0. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Portanto, a função A(x) tem três zeros distintos em [x0 , x1 ]. Aplicando repetidas vezes o Teorema de Rolle, concluímos que A′′ (x) possui uma raiz ξ ∈ (x0 , x1 ). Logo, temos 0 = A′′ (ξ) = f ′′ (ξ) − RT 2!, W de onde chegamos então a RT = f ′′ (ξ) f ′′ (ξ) h3 h3 W = − = − f ′′ (ξ). 2! 2! 6 12 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica No caso da Regra dos Trapézios Composta, considerando a expressão para o resto, obtemos I (f ) = n X h k=1 2 [f (xk−1 ) + f (xk )] − h3 ′′ f (ξk ) 12 n h3 X ′′ = Tn (f ) − f (ξk ) . 12 k=1 {z } | =RT Supondo que f ′′ é contínua em [a, b], uma aplicação Teorema do Valor Intermediário fornece a existência de ξ ∈ (a, b) tal que n RT = − h3 h3 X ′′ h3 f (ξk ) = − nf ′′ (ξ) = −n f ′′ (ξ). 12 12 12 k=1 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Portanto, o erro na Regra dos Trapézios Composta, supondo f ′′ contínua em [a, b], satisfaz |RT | = |I (f ) − Tn (f )| ≤ (b − a)3 M2 , 12n2 em que M2 = max |f ′′ (ξ)|. a≤ξ≤b © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Usando a Regra dos Trapézios Composta, calcule o valor da integral Z 1 e x dx, 0 −2 com erro |RT | < 10 . R.: n = 5, T5 (f ) = 1,724005. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Usando a Regra dos Trapézios Composta, calcule o valor da integral Z 1 ln(cos x)dx, 0 com erro |RT | < 10−2 . R.: n = 6, T6 (f ) = −0,191132. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Usando a Regra dos Trapézios Composta, calcule o valor da integral Z 1 (x − 2)e x dx, 0 −3 com erro |RT | < 7 × 10 . R.: n = 6, T6 (f ) = −2,434253. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica A Regra 1/3 de Simpson é obtida considerando n = 2, com x0 = a, x1 = (a + b)/2 e x2 = b. Neste caso, as integrais dos polinômios de Lagrange resultam em Z b Z x2 (x − x1 )(x − x2 ) h w0 = L0 (x)dx = dx = , (x − x )(x − x ) 3 0 1 0 2 a x0 Z b Z x2 (x − x0 )(x − x2 ) 4h L1 (x)dx = w1 = dx = , 3 a x0 (x1 − x0 )(x1 − x2 ) Z b Z x2 (x − x0 )(x − x1 ) h w2 = L2 (x)dx = dx = , (x − x )(x − x ) 3 2 0 2 1 a x0 que podem ser calculadas considerando z = x − x0 . Portanto, a Regra 1/3 de Simpson é dada por I (f ) ≃ S2 (f ) = h [f (x0 ) + 4f (x1 ) + f (x2 )]. 3 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Para melhorar a aproximação da integral pela Regra 1/3 de Simpson, podemos fazer uma subdivisão do intervalo [a, b] com pontos xk = a + b−a k, n k = 0, 1, . . . , n, e aplicar a Regra 1/3 de Simpson em cada subintervalo [x2k−2 , x2k ], para k = 1, . . . , n/2. Nesse caso, a função f é aproximada por um polinômio quadrático por partes Π2 que interpola f em x0 , x1 , . . . , xn . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Com isso, temos a aproximação Z b Z b f (x)dx ≃ I (f ) = a Π2 (x)dx = a n/2 Z X k=1 x2k Π2 (x)dx = Sn (f ). x2k−2 Considerando a aplicação da Regra 1/3 de Simpson em cada subintervalo [x2k−2 , x2k ], obtemos I (f ) ≃ Sn (f ) = n/2 X h k=1 3 [f (x2k−2 ) + 4f (x2k−1 ) + f (x2k )]. Deste modo, a Regra 1/3 de Simpson Composta é dada como Sn (f ) = h [f (x0 )+4f (x1 )+2f (x2 )+4f (x3 )+· · ·+2f (xn−2 )+4f (xn−1 )+f (xn )]. 3 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Assim como na Regra dos Trapézios, pode-se mostrar que o resto na Regra 1/3 de Simpson, supondo f (4) contínua em [a, b], satisfaz RS = I (f ) − S2 (f ) = − h5 (4) f (ξ), 90 ξ ∈ (a, b). Para isso, denotamos π(x) = (x − x0 )(x − x1 )(x − x2 ), π e(x) = (x − x0 )(x − x1 )2 (x − x2 ), e assim temos Z x2 π(x)dx = 0, W = x Z 0x2 f= W x0 π e(x)dx = − © R. F. Vigelis 4 5 h ̸= 0. 15 Métodos Numéricos Métodos Numéricos Integração numérica Considere a função contínua A(x) = f (x) − p2 (x) − kπ(x) − RS π e(x), f W em que a constante k ∈ R é escolhida de modo que Z x1 A(x)dx = 0, x0 R x1 visto que x0 π(x)dx ̸= 0. Rx Como x02 A(x)dx = 0, concluímos que Z x2 A(x)dx = 0. x1 Com isso, existem u ∈ (x0 , x1 ) e v ∈ (x1 , x2 ) tais que A(u) = A(v ) = 0. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Portanto,a função A(x) tem cinco zeros distintos em [x0 , x2 ]. Aplicando repetidas vezes o Teorema de Rolle, concluímos que A(4) (x) possui uma raiz ξ ∈ (x0 , x2 ). Logo, temos 0 = A(4) (ξ) = f (4) (ξ) − RS 4!, f W de onde chegamos então a RS = f (4) (ξ) f f (4) (ξ) 4 5 h5 − h = − f (4) (ξ). W = 4! 4! 15 90 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica No caso da Regra 1/3 de Simpson Composta, considerando a expressão para o resto, obtemos I (f ) = n/2 X h k=1 h5 [f (x2k−2 ) + 4f (x2k−1 ) + f (x2k )] − f (4) (ξk ) 3 90 n/2 h5 X (4) f (ξk ) . 90 k=1 | {z } = Sn (f ) − =RS Supondo que f (4) é contínua em [a, b], o Teorema do Valor Intermediário fornece a existência de ξ ∈ (a, b) tal que n/2 RS = − h5 n (4) h5 (4) h5 X (4) f (ξk ) = − f (ξ) = −n f (ξ). 90 90 2 180 k=1 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Portanto, o resto na Regra 1/3 de Simpson Composta, supondo f (4) contínua em [a, b], satisfaz |RS | = |I (f ) − Sn (f )| ≤ (b − a)5 M4 , 180n4 em que M4 = max |f (4) (ξ)|. a≤ξ≤b © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Calcule o valor da integral Z 1 e x dx, 0 aplicando a Regra 1/3 de Simpson Composta, com erro |RS | < 10−4 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Calcule o valor da integral Z 3 ln(x + 1)dx, 1 aplicando a Regra 1/3 de Simpson Composta, com erro |RS | < 10−4 . R.: n = 6, S6 (f ) = 2,158868. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo Calcule o valor da integral Z 1 (x sen x + 4 cos x)dx, 0 aplicando a Regra 1/3 de Simpson Composta, com erro |RS | < 10−5 . R.: n = 6, S6 (f ) = 3,6670538. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Na quadratura Gaussiana dada por Z b f (x)dx ≃ Gn (f ) = I (f ) = a n X wk f (xk ), k=0 os nós de integração x0 , x1 , . . . , xn não são pontos igualmente espaçados em [a, b]. Tanto os nós de integração como os pesos são escolhidos de modo que Rn+1 = 0 se f for um polinômio de grau ≤ 2n + 1. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Para n = 1 e [a, b] = [−1, 1], devemos ter Z 1 G1 (f ) = f (t)dt = w0 f (t0 ) + w1 f (t1 ), −1 sempre que f for um polinômio de grau ≤ 3. Deste modo, Z 1 1dx = w0 f (t0 ) + w1 f (t1 ) ⇒ w0 + w1 = 2, −1 Z 1 xdx = w0 f (t0 ) + w1 f (t1 ) ⇒ w0 t0 + w1 t1 = 0, Z −1 1 x 2 dx = w0 f (t0 ) + w1 f (t1 ) ⇒ w0 t02 + w1 t12 = −1 1 Z 2 , 3 x 3 dx = w0 f (t0 ) + w1 f (t1 ) ⇒ w0 t03 + w1 t13 = 0. −1 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Como consequência, obtemos o seguinte sistema não linear: w0 + w1 = 2 w0 t0 + w1 t1 = 0 2 w0 t02 + w1 t12 = 3 w0 t03 + w1 t13 = 0 cuja solução é 1 t0 = − √ , 3 1 t1 = + √ , 3 e w0 = w1 = 1. No caso de um intervalo [a, b] qualquer, a mudança de variável 1 (a + b + t(b − a)) 2 resulta na quadradura Gaussiana dada por a + b b − a i b − ah a + b b − a G1 (f ) = f − √ +f + √ . 2 2 2 2 3 2 3 x= © R. F. Vigelis Métodos Numéricos Métodos Numéricos Integração numérica Exemplo R1 Estime I (f ) = 0 e x dx usando a quadratura Gaussiana G1 (f ) e determine o erro resultante. Exemplo R1 Estime I (f ) = 0 (x − 2)e x dx usando a quadratura Gaussiana G1 (f ) e determine o erro resultante. Exemplo R3 Estime I (f ) = 1 ln(x + 1)dx usando a quadratura Gaussiana G1 (f ) e determine o erro resultante. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Um problema de valor inicial (PVI) é uma equação diferencial dada na forma dy = f (x, y ), dx y (x0 ) = y0 , em que f é uma função dada, com condição inicial y (x0 ) = y0 , para x0 e y0 fixados. Assumiremos que o PVI possui uma única solução y (x). © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Assuma que pontos x0 , x1 , . . . são igualmente espaçados, ou seja, k = 0, 1, . . . xk+1 = xk + h, para dado passo h. O método de Euler é dado pela fórmula yk+1 = yk + hf (xk , yk ), © R. F. Vigelis k = 0, 1, . . . Métodos Numéricos Métodos Numéricos Solução numérica de PVI Se y ′′ (x) for contínua, então, pela série de Taylor centrada em xk temos 1 y (xk + h) = y (xk ) + y ′ (xk )h + y ′′ (ξ)h2 , 2 ξ ∈ (xk , xk + h), que reescrevemos como 1 y (xk+1 ) = y (xk ) + hf (xk , y (xk )) + y ′′ (ξ)h2 , 2 onde usamos xk+1 = xk + h e y ′ (xk ) = f (xk , y (xk )). Assumindo yk = y (xk ), o erro do método de Euler em xk+1 é então e(xk+1 ) = |y (xk+1 ) − yk+1 | = 1 ′′ h2 |y (ξ)|h2 ≤ M2 , 2 2 em que M2 = max xk ≤ξ≤xk+1 © R. F. Vigelis |y ′′ (ξ)|. Métodos Numéricos Métodos Numéricos Solução numérica de PVI Definição Um método numérico para um PVI é dito ser de ordem p se existe uma constante C tal que o erro e(xk+1 ) = |y (xk+1 ) − yk+1 |, onde se assume yk = y (xk ), satisfaz e(xk+1 ) < Chp+1 , em que C é uma constante. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Exemplo Usando o Método de Euler, estabeleça aproximações para o PVI dy = 1 , dx x +1 y (0) = 1, no intervalo [0; 1,2], com h = 0,4. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Exemplo Usando o Método de Euler, estabeleça aproximações para o PVI 1 dy = , dx 1 + xy y (0) = 0, no intervalo [0, 1], com h = 0,25. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Exemplo Usando o Método de Euler, estabeleça aproximações para o PVI dy = x 2 − 2y , dx y (0) = 1, no intervalo [0, 1], com h = 0,2. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Os chamados métodos de Runge–Kutta de s estágios apresentam a forma yk+1 = yk + hϕ(xk , yk ), k = 0, 1, . . . , em que ϕ = b1 k1 + · · · + bs ks , e k1 = f (x, y ), k2 = f (x + c2 h, y + ha21 k1 ), k3 = f (x + c3 h, y + h(a31 k1 + a32 k2 )), .. . ks = f (x + cs h, y + h(as1 k1 + · · · + as,s−1 ks−1 )), com as constantes ci , aij , bj sendo definidas para cada método particular. O método de Euler, em que ϕ = f , é um método de Runge–Kutta de estágio s = 1 e ordem p = 1. © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI As constantes do método de Runge–Kutta podem ser organizados como na tabela 0 c2 c3 .. . cs a21 a31 .. . a32 .. . as1 b1 as2 b2 © R. F. Vigelis .. . ··· ··· as,s−1 bs−1 Métodos Numéricos bs Métodos Numéricos Solução numérica de PVI Pode-se mostrar que o método de Runge–Kutta de 2 estágios tem ordem p = 2 se b1 + b2 = 1, b2 c 2 = 1 , 2 b2 a21 = 1 . 2 Dois métodos que satisfazem a relação acima são o método de Euler modificado, cujas constantes são dadas na tabela 0 1/2 1/2 0 1 e o método de Euler melhorado, com constantes dadas abaixo 0 1 © R. F. Vigelis 1 1/2 1/2 Métodos Numéricos Métodos Numéricos Solução numérica de PVI O método de Euler modificado apresenta a forma h h yk+1 = yk + hf xk + , yk + f (xk , yk ) . 2 2 Já o método de Euler melhorado tem a forma h yk+1 = yk + [f (xk , yk ) + f (xk + h, yk + hf (xk , yk ))]. 2 © R. F. Vigelis Métodos Numéricos Métodos Numéricos Solução numérica de PVI Exemplo Compare a solução do PVI dy = −2xy 2 , dx y (0) = 0,5, no intervalo [0, 1], com 10 subintervalos, usando os métodos de Euler, Euler modificado e Euler melhorado, sabendo que a solução é y (x) = © R. F. Vigelis 1 . x2 + 2 Métodos Numéricos Métodos Numéricos Solução numérica de PVI xi 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 |yiE − y (xi )| 0 2,49 × 10−3 4,80 × 10−3 6,73 × 10−3 8,11 × 10−3 8,88 × 10−3 9,04 × 10−3 8,69 × 10−3 7,94 × 10−3 6,93 × 10−3 5,77 × 10−3 |yiEmod − y (xi )| 0 1,24 × 10−5 4,76 × 10−5 9,83 × 10−5 1,55 × 10−4 2,06 × 10−4 2,45 × 10−4 2,67 × 10−4 2,71 × 10−4 2,59 × 10−4 2,35 × 10−4 © R. F. Vigelis |yiEmel − y (xi )| 0 1,24 × 10−5 2,32 × 10−5 2,97 × 10−5 2,89 × 10−5 1,91 × 10−5 2,60 × 10−8 2,70 × 10−5 5,96 × 10−5 9,48 × 10−5 1,30 × 10−4 Métodos Numéricos Métodos Numéricos Solução numérica de PVI Um método bastante comum de ordem 4 é o método de Runge–Kutta com coeficientes dados na tabela 0 1/2 1/2 1 1/2 0 0 1/6 1/2 0 1 1/3 1/3 1/6 Para esses coeficientes o método de Runge–Kutta apresenta a forma h yk+1 = yk + (k1 + 2k2 + 2k3 + k4 ), 6 em que k1 = f (xk , yk ), h h k2 = f xk + , yk + k1 , 2 2 © R. F. Vigelis h h k3 = f xk + , yk + k2 , 2 2 k4 = f (xk + h, yk + hk3 ). Métodos Numéricos Métodos Numéricos Solução numérica de PVI Exemplo Considere o PVI dy = y , dx y (0) = 1. Use o método de Euler melhorado e o método de Runge–Kutta de ordem 4 para estimar y (0,04) com h = 0,04. Compare com a solução y (0,04) = e 0,04 . © R. F. Vigelis Métodos Numéricos Métodos Numéricos © R. F. Vigelis Métodos Numéricos