calculo numerico_newton_dif_div-1

42
alculo Num´ erico Interpola¸c˜ ao Polinomial Interpola¸c˜ ao de Lagrange etodo de Newton Jo˜ ao Paulo Gois Universidade Federal do ABC 1 1 Apresenta¸ ao baseada nos slides do prof. John Carroll, Dublin City University e no Livro An´ alise Num´ erica (Burden & Faires)

Upload: luiz-fernando-da-rocha

Post on 02-Oct-2015

9 views

Category:

Documents


0 download

DESCRIPTION

Calculo Numérioc, Resumo, Bissecção, Iteração, Newton, Lagrange, Newton Raphson, Secante, Taylor e Ponto Flutuante

TRANSCRIPT

  • Calculo NumericoInterpolacao Polinomial

    Interpolacao de LagrangeMetodo de Newton

    Joao Paulo Gois

    Universidade Federal do ABC

    1

    1Apresentacao baseada nos slides do prof. John Carroll, Dublin City University e no Livro Analise Numerica

    (Burden & Faires)

  • Sumario

    Introducao a Diferencas Divididas

    Notacao de Diferencas Divididas

    Interpolacao Polinomial Por Diferencas Divididas (Metodo deNewton)

  • Sumario

    Introducao a Diferencas Divididas

    Notacao de Diferencas Divididas

    Interpolacao Polinomial Por Diferencas Divididas (Metodo deNewton)

  • Sumario

    Introducao a Diferencas Divididas

    Notacao de Diferencas Divididas

    Interpolacao Polinomial Por Diferencas Divididas (Metodo deNewton)

  • Sumario

    Introducao a Diferencas Divididas

    Notacao de Diferencas Divididas

    Interpolacao Polinomial Por Diferencas Divididas (Metodo deNewton)

  • Introducao a Diferencas Divididas

    Uma nova representacao algebrica para Pn(x)

    Suponha que Pn(x) e o n-esimo polinomio de Lagrange queinterpola uma funcao f nos pontos distintos x0, x1, , xn.Embora este polinomio seja unico, existem representacoesalgebricas alternativas que sao uteis para certas situacoes.

    As diferencas divididas de f com relacao a x0, x1, , xn saousadas para expressar Pn(x) na forma

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    para constantes apropriadas a0, a1, , an.

  • Introducao a Diferencas Divididas

    Uma nova representacao algebrica para Pn(x)

    Suponha que Pn(x) e o n-esimo polinomio de Lagrange queinterpola uma funcao f nos pontos distintos x0, x1, , xn.

    Embora este polinomio seja unico, existem representacoesalgebricas alternativas que sao uteis para certas situacoes.

    As diferencas divididas de f com relacao a x0, x1, , xn saousadas para expressar Pn(x) na forma

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    para constantes apropriadas a0, a1, , an.

  • Introducao a Diferencas Divididas

    Uma nova representacao algebrica para Pn(x)

    Suponha que Pn(x) e o n-esimo polinomio de Lagrange queinterpola uma funcao f nos pontos distintos x0, x1, , xn.Embora este polinomio seja unico, existem representacoesalgebricas alternativas que sao uteis para certas situacoes.

    As diferencas divididas de f com relacao a x0, x1, , xn saousadas para expressar Pn(x) na forma

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    para constantes apropriadas a0, a1, , an.

  • Introducao a Diferencas Divididas

    Uma nova representacao algebrica para Pn(x)

    Suponha que Pn(x) e o n-esimo polinomio de Lagrange queinterpola uma funcao f nos pontos distintos x0, x1, , xn.Embora este polinomio seja unico, existem representacoesalgebricas alternativas que sao uteis para certas situacoes.

    As diferencas divididas de f com relacao a x0, x1, , xn saousadas para expressar Pn(x) na forma

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    para constantes apropriadas a0, a1, , an.

  • Introducao a Diferencas Divididas

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    Para determinar a primeira destas constantes, a0, note que sePn(x) e escrito na forma acima, entao avaliar Pn(x) em x0deixa apenas o termo constante a0, isto e:

    a0 = Pn(x0) = f(x0)

    Similarmente, quando P (x) e avaliado em x1, apenas ostermos nao nulos na avaliacao de Pn(x1) sao os termosconstantes e linear:

    f(x0) + a1(x1 x0) = Pn(x1) = f(x1)

    a1 = f(x1) f(x0)x1 x0

  • Introducao a Diferencas Divididas

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    Para determinar a primeira destas constantes, a0, note que sePn(x) e escrito na forma acima, entao avaliar Pn(x) em x0deixa apenas o termo constante a0, isto e:

    a0 = Pn(x0) = f(x0)

    Similarmente, quando P (x) e avaliado em x1, apenas ostermos nao nulos na avaliacao de Pn(x1) sao os termosconstantes e linear:

    f(x0) + a1(x1 x0) = Pn(x1) = f(x1)

    a1 = f(x1) f(x0)x1 x0

  • Introducao a Diferencas Divididas

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    Para determinar a primeira destas constantes, a0, note que sePn(x) e escrito na forma acima, entao avaliar Pn(x) em x0deixa apenas o termo constante a0, isto e:

    a0 = Pn(x0) = f(x0)

    Similarmente, quando P (x) e avaliado em x1, apenas ostermos nao nulos na avaliacao de Pn(x1) sao os termosconstantes e linear:

    f(x0) + a1(x1 x0) = Pn(x1) = f(x1)

    a1 = f(x1) f(x0)x1 x0

  • A notacao das Diferencas Divididas

    Nos apresentaremos a notacao da Diferenca-Dividida, que estarelacionada com a notacao do 2 de Aitken

    A 0-esima diferenca dividida de uma funcao f em relacao axi, denotada por f [xi] e o valor de f em xi:

    f [xi] = f(xi)

    As demais diferencas divididas sao calculadas recursivamente.

  • A notacao das Diferencas Divididas

    Nos apresentaremos a notacao da Diferenca-Dividida, que estarelacionada com a notacao do 2 de Aitken

    A 0-esima diferenca dividida de uma funcao f em relacao axi, denotada por f [xi] e o valor de f em xi:

    f [xi] = f(xi)

    As demais diferencas divididas sao calculadas recursivamente.

  • A notacao das Diferencas Divididas

    Nos apresentaremos a notacao da Diferenca-Dividida, que estarelacionada com a notacao do 2 de Aitken

    A 0-esima diferenca dividida de uma funcao f em relacao axi, denotada por f [xi] e o valor de f em xi:

    f [xi] = f(xi)

    As demais diferencas divididas sao calculadas recursivamente.

  • A notacao das Diferencas Divididas

    Nos apresentaremos a notacao da Diferenca-Dividida, que estarelacionada com a notacao do 2 de Aitken

    A 0-esima diferenca dividida de uma funcao f em relacao axi, denotada por f [xi] e o valor de f em xi:

    f [xi] = f(xi)

    As demais diferencas divididas sao calculadas recursivamente.

  • A notacao das Diferencas Divididas

    A primeira diferenca dividida de f com relacao a xi e xi+1 edenotada por f [xi, xi+1] e e definida por:

    f [xi, xi+1] =f [xi+1] f [xi]xi+1 xi

    a segunda diferenca dividida de f [xi, xi+1, xi+2] e definidacomo

    f [xi, xi+1, xi+2] =f [xi+1, xi+2] f [xi, xi+1]

    xi+2 xi

  • A notacao das Diferencas Divididas

    A primeira diferenca dividida de f com relacao a xi e xi+1 edenotada por f [xi, xi+1] e e definida por:

    f [xi, xi+1] =f [xi+1] f [xi]xi+1 xi

    a segunda diferenca dividida de f [xi, xi+1, xi+2] e definidacomo

    f [xi, xi+1, xi+2] =f [xi+1, xi+2] f [xi, xi+1]

    xi+2 xi

  • A notacao das Diferencas Divididas

    A primeira diferenca dividida de f com relacao a xi e xi+1 edenotada por f [xi, xi+1] e e definida por:

    f [xi, xi+1] =f [xi+1] f [xi]xi+1 xi

    a segunda diferenca dividida de f [xi, xi+1, xi+2] e definidacomo

    f [xi, xi+1, xi+2] =f [xi+1, xi+2] f [xi, xi+1]

    xi+2 xi

  • A notacaodas Diferencas Divididas

    Similarmente, apos as (k 1) primeiras diferencas divididas

    f [xi, xi+1, xi+2, , xi+k1] e f [xi+1, xi+2, , xi+k1, xi+k]

    serem calculados, a k-esima diferenca dividida em relacao axk, xi+1, xi+2, , xi+k1, xi+k e

    f [xi, xi+1, xi+2, , xi+k1, xi+k] =

    =f [xi+1, xi+2, , xi+k] f [xi, xi+1, , xi+k1]

    xi+k xi

  • A notacaodas Diferencas Divididas

    Similarmente, apos as (k 1) primeiras diferencas divididas

    f [xi, xi+1, xi+2, , xi+k1] e f [xi+1, xi+2, , xi+k1, xi+k]

    serem calculados, a k-esima diferenca dividida em relacao axk, xi+1, xi+2, , xi+k1, xi+k e

    f [xi, xi+1, xi+2, , xi+k1, xi+k] =

    =f [xi+1, xi+2, , xi+k] f [xi, xi+1, , xi+k1]

    xi+k xi

  • Gerando a tabela de Diferencas Divididas

    126 C H A P T E R 3 Interpolation and Polynomial Approximation

    As might be expected from the evaluation of a0 and a1, the required constants are

    ak = f [x0, x1, x2, . . . , xk],for each k = 0, 1, . . . , n. So Pn(x) can be rewritten in a form called Newtons Divided-Difference:

    Pn(x) = f [x0] +n

    k=1f [x0, x1, . . . , xk](x x0) (x xk1). (3.10)

    The value of f [x0, x1, . . . , xk] is independent of the order of the numbers x0, x1, . . . , xk , asshown in Exercise 21.

    The generation of the divided differences is outlined in Table 3.9. Two fourth and onefifth difference can also be determined from these data.

    Table 3.9

    First Second Thirdx f (x) divided differences divided differences divided differences

    x0 f [x0]f [x0, x1] = f [x1] f [x0]

    x1 x0x1 f [x1] f [x0, x1, x2] = f [x1, x2] f [x0, x1]

    x2 x0f [x1, x2] = f [x2] f [x1]

    x2 x1 f [x0, x1, x2, x3] =f [x1, x2, x3] f [x0, x1, x2]

    x3 x0x2 f [x2] f [x1, x2, x3] = f [x2, x3] f [x1, x2]

    x3 x1f [x2, x3] = f [x3] f [x2]

    x3 x2 f [x1, x2, x3, x4] =f [x2, x3, x4] f [x1, x2, x3]

    x4 x1x3 f [x3] f [x2, x3, x4] = f [x3, x4] f [x2, x3]

    x4 x2f [x3, x4] = f [x4] f [x3]

    x4 x3 f [x2, x3, x4, x5] =f [x3, x4, x5] f [x2, x3, x4]

    x5 x2x4 f [x4] f [x3, x4, x5] = f [x4, x5] f [x3, x4]

    x5 x3f [x4, x5] = f [x5] f [x4]

    x5 x4x5 f [x5]

    ALGORITHM

    3.2Newtons Divided-Difference Formula

    To obtain the divided-difference coefficients of the interpolatory polynomial P on the (n+1)distinct numbers x0, x1, . . . , xn for the function f :

    INPUT numbers x0, x1, . . . , xn; values f (x0), f (x1), . . . , f (xn) as F0,0, F1,0, . . . , Fn,0.

    OUTPUT the numbers F0,0, F1,1, . . . , Fn,n where

    Pn(x) = F0,0 +n

    i=1Fi,i

    i1j=0

    (x xj). (Fi,i is f [x0, x1, . . . , xi].)Step 1 For i = 1, 2, . . . , n

    For j = 1, 2, . . . , iset Fi,j = Fi,j1 Fi1,j1

    xi xij . (Fi,j = f [xij, . . . , xi].)Step 2 OUTPUT (F0,0, F1,1, . . . , Fn,n);

    STOP.

    Copyright 2010 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

  • Polinomio Interpolador por Dif. Divididas de Newton

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    De volta a interpolacao polinomial, podemos usar asdiferencas divididas como:

    a0 = f(x0) = f [x0]

    a1 =f(x1) f(x0)

    x1 x0 = f [x0, x1]

    Pn(x) = f [x0] + f [x0, x1](x x0) + a2(x x0)(x x1) + ++ an(x x0)(x x1) (x xn1)

  • Polinomio Interpolador por Dif. Divididas de Newton

    Pn(x) = a0+a1(xx0)+a2(xx0)(xx1)+ +an(xx0) (xxn1)

    De volta a interpolacao polinomial, podemos usar asdiferencas divididas como:

    a0 = f(x0) = f [x0]

    a1 =f(x1) f(x0)

    x1 x0 = f [x0, x1]

    Pn(x) = f [x0] + f [x0, x1](x x0) + a2(x x0)(x x1) + ++ an(x x0)(x x1) (x xn1)

  • Pn(x) = f [x0] + f [x0, x1](x x0) + a2(x x0)(x x1) + +

    +an(x x0)(x x1) (x xn1)

    Como se pode esperar do calculo de a0 e a1, as constantesrestantes sao:

    ak = f [x0, x1, x1, , xk]

    para cada k = 0, 1, , nLogo Pn(x) pode ser escrito na formula das DiferencasDivididas de Newton

    Pn(x) = f [x0]+n

    k=1

    f [x0, x1, , xk](xx0)(xx1) (xxk1)

  • Pn(x) = f [x0] + f [x0, x1](x x0) + a2(x x0)(x x1) + +

    +an(x x0)(x x1) (x xn1)

    Como se pode esperar do calculo de a0 e a1, as constantesrestantes sao:

    ak = f [x0, x1, x1, , xk]

    para cada k = 0, 1, , n

    Logo Pn(x) pode ser escrito na formula das DiferencasDivididas de Newton

    Pn(x) = f [x0]+n

    k=1

    f [x0, x1, , xk](xx0)(xx1) (xxk1)

  • Pn(x) = f [x0] + f [x0, x1](x x0) + a2(x x0)(x x1) + +

    +an(x x0)(x x1) (x xn1)

    Como se pode esperar do calculo de a0 e a1, as constantesrestantes sao:

    ak = f [x0, x1, x1, , xk]

    para cada k = 0, 1, , nLogo Pn(x) pode ser escrito na formula das DiferencasDivididas de Newton

    Pn(x) = f [x0]+n

    k=1

    f [x0, x1, , xk](xx0)(xx1) (xxk1)

  • Formula de Newton

    Exemplo

    Dada a tabela abaixo

    x -1 0 3

    f(x) 15 8 -1

    Calcule uma aproximacao para f(1), usando a formula de Newtondo polinomio de interpolacao.

  • Formula de Newton

    Solucao: Temos:

    x0 = 1 f0 = f(x0) = 15x1 = 0 f1 = f(x1) = 8x2 = 3 f2 = f(x2) = 1

    e portanto n = 2. O polinomio de interpolacao na forma deNewton e dado por:

    P2(x) = f [x0] + (x x0)f [x0, x1] + (x x0)(x x1)f [x0, x1, x2]

  • Formula de Newton

    Solucao: Temos:

    x0 = 1 f0 = f(x0) = 15x1 = 0 f1 = f(x1) = 8x2 = 3 f2 = f(x2) = 1

    e portanto n = 2. O polinomio de interpolacao na forma deNewton e dado por:

    P2(x) = f [x0] + (x x0)f [x0, x1] + (x x0)(x x1)f [x0, x1, x2]

  • Formula de Newton

    Os valores de f [x0], f [x0, x1], f [x0, x1, x2] sao:

    f [x0] = f(x0) = 15

    f [x0, x1] =f [x1] f [x0]x1 x0 =

    f(x1) f(x0)x1 x0 =

    8 150 (1) = 7

    f [x0, x1, x2] =f [x1, x2] f [x0, x1]

    x2 x0 =f [x2]f [x1]

    x2x1 f [x1]f [x0]

    x1x0x2 x0

    =

    f(x2)f(x1)x2x1

    f(x1)f(x0)x1x0

    x2 x0 =1830 8150(1)

    3 (1)= 1

  • Formula de Newton

    Logo, f [x0] = 15, f [x0, x1] = 7, f [x0, x1, x2] = 1 e

    P2(x) = 15 + (x + 1)(7) + (x + 1)(x 0)(1) = x2 6x + 8.

    Portanto, f(1) = P2(1) = 3.

  • Formula de Newton

    Logo, f [x0] = 15, f [x0, x1] = 7, f [x0, x1, x2] = 1 e

    P2(x) = 15 + (x + 1)(7) + (x + 1)(x 0)(1) = x2 6x + 8.

    Portanto, f(1) = P2(1) = 3.

  • Quando usar Dif. Divididas ou os polinomios deLagrange como na Definicao?

    Interpolacao de Lagrange via definicao possui vantagemcomputacional quando fixamos o grau do polinomio e os nos etemos a liberdade de alterar o valor da funcao f

    Interpolacao via Diferencas Divididas possui vantagemcomputacional quando temos fixado valores de f e queremosaumentar o grau do polinomio

  • Quando usar Dif. Divididas ou os polinomios deLagrange como na Definicao?

    Interpolacao de Lagrange via definicao possui vantagemcomputacional quando fixamos o grau do polinomio e os nos etemos a liberdade de alterar o valor da funcao f

    Interpolacao via Diferencas Divididas possui vantagemcomputacional quando temos fixado valores de f e queremosaumentar o grau do polinomio

  • Quando usar Dif. Divididas ou os polinomios deLagrange como na Definicao?

    Interpolacao de Lagrange via definicao possui vantagemcomputacional quando fixamos o grau do polinomio e os nos etemos a liberdade de alterar o valor da funcao f

    Interpolacao via Diferencas Divididas possui vantagemcomputacional quando temos fixado valores de f e queremosaumentar o grau do polinomio

  • Fenomeno de RungeConsidere a funcao

    f(x) =1

    1 + 25x2.

    Selecione

    xi = 1 + (i 1) 2n, i {1, 2, , n + 1}

    Figura: P5(x), P10(x) e P15(x)

  • Outros Metodos de Interpolacao

    Interpolacao de Hermite (interpola simultaneamente funcao esuas derivadas)

    Splines

    Selecionar os pontos de controle segundo algum criterio quereduza o Fenomeno de Runge (Selecao de Pontos porChebychev)

  • Outros Metodos de Interpolacao

    Interpolacao de Hermite (interpola simultaneamente funcao esuas derivadas)

    Splines

    Selecionar os pontos de controle segundo algum criterio quereduza o Fenomeno de Runge (Selecao de Pontos porChebychev)

  • Outros Metodos de Interpolacao

    Interpolacao de Hermite (interpola simultaneamente funcao esuas derivadas)

    Splines

    Selecionar os pontos de controle segundo algum criterio quereduza o Fenomeno de Runge (Selecao de Pontos porChebychev)

  • Outros Metodos de Interpolacao

    Interpolacao de Hermite (interpola simultaneamente funcao esuas derivadas)

    Splines

    Selecionar os pontos de controle segundo algum criterio quereduza o Fenomeno de Runge (Selecao de Pontos porChebychev)

  • 2 de Aitken

    Operador Diferenca para frente

    Para uma dada sequencia {pn}n=0, a diferenca para frente pn edefinida por

    pn = pn+1 pn, para n 0Operadores de alta potencia sao definidos recursivamente por:

    kpn = (k1pn),para k 2

    Retorno