Prévia do material em texto
Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 123 CAPÍTULO 7 APROXIMAÇÃO DE FUNÇÕES 7.1 – Interpolação Polinomial A – Introdução Interpolar uma função f(x) consiste em aproximá-la por uma função g(x) es- colhida entre uma classe de funções predefinida, que obedece a algumas pro- priedades desejadas. A interpolação pode ser usada nas seguintes situações: a) Quando são conhecidos apenas valores os numéricos para a função f(x) e precisa-se estimar um valor não tabelado; b) Quando a função f(x) é conhecida, porém de difícil (ou até mesmo impos- sível) integração ou diferenciação. B – Formulação Considere os n + 1 pontos distintos da tabela abaixo: x f(x) x0 f(x0) x1 f(x1) : : : : xn f(xn) O caso estudado neste capítulo se refere à aproximação da função f(x) por um polinômio de grau n, i.e., uma função do tipo, n n 2 210n xa...xaxaa)x(P ++++= tal que o polinômio “passe” exatamente pelos pontos da tabela, i.e., )x(f)x(P iin = para i = 0...n. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 124 Neste caso: )x(fxa...xaxaa 0n0n202010 =++++ )x(fxa...xaxaa 1n1n212110 =++++ )x(fxa...xaxaa 2n2n222210 =++++ ... )x(fxa...xaxaa nnnn2n2n10 =++++ Observe que se trata de um sistema linear de n + 1 equações, onde as incógni- tas são: a0, a1, a2, ..., an. Em forma matricial: )x(f )x(f )x(f )x(f a a a a xxx1 xxx1 xxx1 xxx1 n 2 1 0 n 2 1 0 n n 2 nn n 2 2 22 n 1 2 11 n 0 2 00 MMO = Este sistema possui solução única desde que os pontos informados na tabela sejam distintos. Neste capítulo, serão estudadas 3 formas de interpolação: a) Resolução do sistema linear; b) Forma de Lagrange; c) Forma de Newton. C – Resolução do Sistema Linear Neste caso, basta aplicar algum dos procedimentos apresentados no Capítulo 6 para resolver o sistema linear obtido acima. Exemplo Determine o polinômio de grau n ≤ 2 que interpola os pontos da tabela abai- xo. Em seguida, estime f(0,5). x –1 0 2 f(x) 6 2 0 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 125 Deseja-se um polinômio da forma, 2 2102 xaxaa)x(P ++= onde os coeficientes são determinados pela solução do sistema: 0 2 6 a a a 421 001 111 2 1 0 = − . Resolvendo, têm-se: 0a = 2, 1a = – 3 e 2a = 1. Logo: 22 xx32)x(P +−= . Assim: 75,0)5,0(P)5,0(f 2 =≅ . Exemplo Determine o polinômio de grau n ≤ 3 que interpola os pontos da tabela abaixo e estime f(1,3). x –1 0 1 2 f(x) 3 2 4 3 O polinômio desejado é do tipo: 3 3 2 2103 xaxaxaa)x(P +++= . O sistema linear a ser resolvido é 3 4 2 3 a a a a 8421 1111 0001 1111 3 2 1 0 = −− cuja solução é: 0a = 2, 1a = 1,5, 2a = 1,5 e 3a = –1. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 126 Assim: 32 3 xx5,1x5,12)x(P −++= 288,4)3,1(P)3,1(f 3 =≅ . Este problema também foi resolvido através da implementação computacional do método apresentado em MATLAB. O programa lê os dados de x e f(x), monta o sistema linear em forma matricial, e o resolve numericamente. Os resultados obtidos são mostrados abaixo. =========================== CÁLCULO NUMÉRICO Interpolação Polinomial Resolução do Sistema Linear =========================== Título: Exemplo Tabela de Dados: ----------------- x f(x) ----------------- -1.0000 3.0000 0.0000 2.0000 1.0000 4.0000 2.0000 3.0000 ----------------- Coeficientes: ----------------- i a ----------------- 0 2.0000 1 1.5000 2 1.5000 3 -1.0000 ----------------- Valor Desejado: x = 1.3000 f(x) = 4.2880 A seguir, é apresentado um gráfico onde se pode observar os pontos da tabela, bem como a curva descrita pelo polinômio interpolador. Note que o polinô- mio realmente “passa” por todos os pontos tabelados. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 127 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 CÁLCULO NUMÉRICO: Interpolação Polinomial X P( X) D – Forma de Lagrange Os valores numéricos de um polinômio Pn(x) podem ser obtidos por: = ×= n 0i iin )x(L)x(f)x(P sendo: ∏ ≠ = − − = n ij 0j ji j i xx xx)x(L onde x é um valor qualquer em que se deseja estimar f(x). Exemplo Considere a tabela (já utilizada em um exemplo anterior): x –1 0 2 f(x) 6 2 0 Pede-se: a) Estime f(0,5) por interpolação polinomial de grau 2; b) Generalize para qualquer x entre –1 e 2. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 128 De acordo com a forma de Lagrange, tem-se no item “a”: )5,0(L)x(f)5,0(L)x(f)5,0(L)x(f)5,0(P 2211002 ++= )5,0(L0)5,0(L2)5,0(L6)5,0(P 2102 ++= . Neste caso: • 25,0)21)(01( )25,0)(05,0( )xx)(xx( )x5,0)(x5,0()5,0(L 2010 21 0 −= −−−− −− = −− −− = • 125,1)20)(10( )25,0)(15,0( )xx)(xx( )x5,0)(x5,0()5,0(L 2101 20 1 = −+ −+ = −− −− = • 125,0)02)(12( )05,0)(15,0( )xx)(xx( )x5,0)(x5,0()5,0(L 1202 10 2 = −+ −+ = −− −− = Logo: 75,0)125,0(0)125,1(2)25,0(6)5,0(P2 =++−= (idem ao anterior). O resultado abaixo foi obtido através de um programa para interpolação poli- nomial pela forma de Lagrange. ======================= CÁLCULO NUMÉRICO Interpolação Polinomial Forma de Lagrange ======================= Título: Exemplo Tabela de Dados: ----------------- x f(x) ----------------- -1.0000 6.0000 0.0000 2.0000 2.0000 0.0000 ----------------- Valor Desejado: x = 0.5000 f(x) = 0.7500 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 129 Para o item “b”, tem-se, de acordo com a forma de Lagrange: )x(L)x(f)x(L)x(f)x(L)x(f)x(P 2211002 ++= )x(L0)x(L2)x(L6)x(P 2102 ++= . Neste caso: • 3 x2x )21)(01( )2x)(0x( )xx)(xx( )xx)(xx()x(L 2 2010 21 0 − = −−−− −− = −− −− = • 2 2xx )20)(10( )2x)(1x( )xx)(xx( )xx)(xx()x(L 2 2101 20 1 − −− = −+ −+ = −− −− = • 6 xx )02)(12( )0x)(1x( )xx)(xx( )xx)(xx()x(L 2 1202 10 2 + = −+ −+ = −− −− = Logo: 2xxx4x2 6 xx0 2 2xx2 3 x2x6)x(P 22 222 2 ++−−= + + − −− + − = 2x3x)x(P 22 +−= . Note que este resultado é idêntico ao obtido anteriormente, com a solução do sistema linear. E – Forma de Newton Se os pontos tabelados forem igualmente espaçados, i.e. hxx k1k +=+ , pode- se obter os valores numéricos do polinômio interpolador com base em uma tabela de diferenças. Note que h é o passo usado na montagem da tabela. Tabela de Diferenças Pode-se calcular as diferenças de 1ª ordem por )x(f)x(f)x(f i1ii −=∆ + , p/ i = 0...n-1, as diferenças de 2ª ordem por )x(f)x(f)x(fi1ii2 ∆−∆=∆ + , p/ i = 0... n-2, e assim sucessivamente, até a diferença de ordem n, calculada pela ex- pressão )x(f)x(f)x(f 01n11n0n −− ∆−∆=∆ . Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 130 Exemplo Calcule a tabela de diferenças para a função )x(sen)x(f = . x f(x) 0 0 pi/6 0,5 pi/3 0,866025 pi/2 1 Note que h = pi/6 e n = 3. Assim, têm-se diferenças até a terceira ordem, como pode ser visto abaixo: i x f(x) )x(f∆ )x(f2∆ )x(f3∆ 0 0 0 0,5 -0,133975 -0,098075 1 pi/6 0,5 0,366025 -0,232050 - 2 pi/3 0,866025 0,133975 - - 3 pi/2 1 - - - Fórmula de Newton Para conhecer o polinômio de grau n que interpola os n+1 pontos da tabela, basta fazer: )x(f)x(P 00 = )xx)...(xx)(xx( h!i )x(f)x(P)x(P 1i10i 0 i 1ii −− −−− ∆ += para i = 1, ..., n, onde x é o valor para o qual se deseja estimar f(x). Observe que no cálculo do polinômio é utilizada apenas a primeira linha da tabela de diferenças. Exemplo Calcule sen(pi/4) com base na tabela de diferenças anterior. Note que x = pi/4, h = pi/6 e n = 3. Assim: Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 131 • 0)0(f)4/(P0 ==pi • 75,0)04/( )6/(!1 5,00)4/(P 11 =−pipi +=pi • 700,0)6/4/)(04/( )6/(!2 133975,075,0)4/(P 22 =pi−pi−pipi −=pi • 706,0)3/4/)(6/4/)(04/( )6/(!3 098075,0700,0)4/(P 33 =pi−pipi−pi−pipi −=pi . A estimativa para sen(pi/4) é 0,706. Na realidade, sen(pi/4) = 0,707. Exemplo Determine o polinômio de grau n ≤ 2 que interpola os pontos da tabela para estimar f(0,75). x 0,50 1,00 1,50 f(x) 2,25 4,00 6,25 Inicialmente, deve-se montar a tabela de diferenças. Como n = 2, haverá dife- renças de até 2ª ordem. Assim: i x f(x) )x(f∆ )x(f2∆ 0 0,50 2,25 1,75 0,50 1 1,00 4,00 2,25 - 2 1,50 6,25 - - Agora, basta montar o polinômio pela fórmula de Newton, observando que o passo usado na montagem da tabela é igual a 0,50. Assim: • 25,2)50,0(f)75,0(P0 == • 125,3)5,075,0( 5,0 !1 75,125,2)75,0(P 11 =−+= • 0625,3)175,0)(5,075,0( 5,0 !2 5,0125,3)75,0(P 22 =−−+= . Assim, tem-se que 0625,3)75,0(P)75,0(f 2 =≅ . Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 132 O mesmo resultado foi obtido por um programa computacional que lê os da- dos de x e f(x), monta a tabela de diferenças de acordo com a regra apresenta- da anteriormente e, finalmente, aplica a fórmula de Newton. ======================= CÁLCULO NUMÉRICO Interpolação Polinomial Forma de Newton ======================= Título: Exemplo Tabela de Dados: ------------------- i x f(x) ------------------- 0 0.5000 2.2500 1 1.0000 4.0000 2 1.5000 6.2500 ------------------- Tabela de Diferenças: ------------------------------------- i x f(x) DF1 DF2 ------------------------------------- 0 0.5000 2.2500 1.7500 0.5000 1 1.0000 4.0000 2.2500 2 1.5000 6.2500 ------------------------------------- Valores Calculados: x = 0.7500 ------------ i p(x) ------------ 0 2.2500 1 3.1250 2 3.0625 ------------ Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 133 7.2 – Ajuste de Curvas pelo Método dos Mínimos Quadrados A – Introdução A interpolação polinomial não é aconselhável quando: a) É necessário calcular um valor aproximado da função f(x) em pontos fora do intervalo de tabelamento, i.e., quando é necessário extrapolar; b) Os valores tabelados resultam de algum experimento físico ou processo de medição. Neste caso, os valores podem conter erros inerentes, que, em ge- ral, não são previsíveis. Surge então a necessidade de se determinar uma função que seja uma boa aproximação para os valores tabelados e que permita extrapolar com certa margem de segurança, sem, no entanto, “passar pelos pontos”. O método dos mínimos quadrados consta de duas etapas: a) Observação gráfica dos valores, através da qual se pode escolher uma fun- ção (polinômio, exponencial, logaritmo, etc.) que se assemelhe à distribui- ção dos pontos. b) Determinação dos parâmetros da função, que é feita de acordo com o crité- rio: “minimizar a soma dos quadrados dos desvios entre o modelo propos- to e os valores tabelados”. B – Ajuste por Reta (Regressão Linear) A regressão linear deve ser utilizada nos casos em que os pontos tabelados apresentarem tendência semelhante a uma reta. A figura a seguir ilustra uma reta ajustada entre os pontos definidos por uma tabela do tipo, i xi fi 1 x1 f1 2 x2 f2 ... m xm fm Observe que para cada xi existe um desvio, i.e., uma diferença entre fi e o va- lor p(xi), calculado pelo modelo linear. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 134 + x f(x) + + + +f(x) valores tabelados p(x) reta ajustada d(xi) = f(xi)-p(xi) desvio De acordo com a reta, xaa)x(p 10 += . Assim, o desvio em cada ponto é calculado por, i10iiii xaa)x(f)x(p)x(f)x(d −−=−= que, por simplicidade de notação, pode ser reescrita como, i10ii xaafd −−= . Deve-se minimizar a soma dos quadrados de todos os desvios, i.e. = −−=+++= m 1i 2 i10i 2 m 2 2 2 1 )xaaf(d...ddS deve ser a menor possível. Para isso, deriva-se S com relação aos parâmetros 0a e 1a , e iguala-se seu resultado a zero. Assim: • [ ] = =−−−→= ∂ ∂ m 1i i10i 0 0)1)(xaaf(2 0 a S • [ ] 0)x)(xaaf(2 0 a S m 1i ii10i 1 =−−−→= ∂ ∂ = Desenvolvendo as duas equações anteriores: Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 135 == =+ m 1i i m 1i i10 f xama === =+ m 1i ii m 1i 2 i1 m 1i i0 xfx a xa . Observe que se trata de um sistema linear, = = == = = m 1i ii m 1i i 1 0 m 1i 2 i m 1i i m 1i i xf f a a xx xm cuja solução permite conhecer os parâmetros 0a e 1a . Exemplo Determine a reta de regressão para os valores abaixo e estime f(7). xi 0 1 2 3 4 5 6 fi 2 3 5 5 9 8 10 Para auxiliar na solução do sistema linear que determina os parâmetros da re- ta, pode-se construir a seguinte tabela: i xi fi xifi xi2 1 0 2 0 0 2 1 3 3 1 3 2 5 10 4 4 3 5 15 9 5 4 9 36 16 6 5 8 40 25 7 6 10 60 36 Soma 21 42 164 91 Agora, tem-se o sistema. Observe que o número de pontos é m = 7. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 136 164 42 a a 9121 217 1 0 = Resolvendo, tem-se a0 = 1,9286 e a1 = 1,3571. Assim, a reta de mínimos qua- drados tem a expressão, x 3571,19286,1)x(p += . Logo: 4286,1173571,19286,1)7(p)7(f =×+=≅ . Este método foi implementado em um programa MATLAB que forneceu os seguintes resultados: ============================ CÁLCULO NUMÉRICO Ajuste por Mínimos Quadrados Regressão Linear ============================ Título: Exemplo Tabela de Dados: ----------------- x f(x) ----------------- 0.0000 2.0000 1.0000 3.00002.0000 5.0000 3.0000 5.0000 4.0000 9.0000 5.0000 8.0000 6.0000 10.0000 ----------------- Coeficientes: ----------------- i a ----------------- 0 1.9286 1 1.3571 ----------------- Valor Desejado: x = 7.0000 f(x) = 11.4286 A figura a seguir mostra, em um mesmo plano, os pontos tabelados e a reta ajustada. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 137 0 1 2 3 4 5 6 0 2 4 6 8 10 12 CÁLCULO NUMÉRICO: Regressão Linear X P( X) Observe como a reta realmente não passa pelos pontos tabelados, i.e. 56428,423571,19286,1)2(p 32857,313571,19286,1)1(p 29286,103571,19286,1)0(p ≠=×+= ≠=×+= ≠=×+= e assim para os demais pontos. Logo, no método dos mínimos quadrados, )x(f)x(p ii ≠ para i =1...m. C – Regressão Polinomial Se a tendência apresentada pelos pontos tabelados indicar uma função de grau maior que 1, pode-se ajustar a eles uma função polinomial. Dada uma tabela com “m” pontos distintos, do tipo, i xi fi 1 x1 f1 2 x2 f2 ... m xm fm Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 138 pretende-se determinar o polinômio de grau n < m que melhor se ajuste aos pontos segundo o critério dos mínimos quadrados, i.e. n n 2 210n xa...xaxaa)x(p ++++= . Para um ponto “i” qualquer, o desvio entre o valor tabelado e o calculado pelo modelo proposto é dado por: n in 2 i2i10iinii xa...xaxaaf)x(pfd −−−−−=−= . Pelo critério dos mínimos quadrados, deve-se minimizar a soma dos quadra- dos dos desvios, i.e. = −−−−−= m 1i 2n in 2 i2i10i )xa...xaxaaf(SMinimizar . Para isso, basta derivar S com relação a cada parâmetro do modelo e igualar o resultado a zero, i.e. • 0)1)(xa...xaxaaf(2 0 a S m 1i n in 2 i2i10i 0 =−−−−−−→= ∂ ∂ = • 0)x)(xa...xaxaaf(2 0 a S m 1i i n in 2 i2i10i 1 =−−−−−−→= ∂ ∂ = ... • 0)x)(xa...xaxaaf(2 0 a S m 1i n i n in 2 i2i10i n =−−−−−−→= ∂ ∂ = Para as equações acima serem satisfeitas, deve-se ter: • 0)xa...xaxaaf( m 1i n in 2 i2i10i =+++++− = • 0)xa...xaxaxaxf( m 1i 1n in 3 i2 2 i1i0ii =+++++− = + ... • 0)xa...xaxaxaxf( m 1i nn in 2n i2 1n i1 n i0 n ii =+++++− = +++ . Ou seja: Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 139 • == =++++ m 1i i m 1i n in 2 i2i10 f)xa...xaxaa( • i m 1i i m 1i 1n in 3 i2 2 i1i0 xf)xa...xaxaxa( == + =++++ ... • n i m 1i i m 1i nn in 2n i2 1n i1 n i0 xf)xa...xaxaxa( == +++ =++++ Observe que as últimas equações correspondem a um sistema linear, onde as incógnitas são os coeficientes do modelo. Assim: n i m 1i i 2 i m 1i i i m 1i i m 1i i n 2 1 0 m 1i nn i m 1i 2n i m 1i 1n i m 1i n i m 1i 2n i m 1i 4 i m 1i 3 i m 1i 2 i m 1i 1n i m 1i 3 i m 1i 2 i m 1i i m 1i n i m 1i 2 i m 1i i xf xf xf f a a a a xxxx xxxx xxxx xxxm = = = = = + = + = + = = + === = + === === = M M O Exemplo Determine os coeficientes do melhor polinômio de grau 2, que pode represen- tar os pontos da tabela abaixo. Em seguida, estime f(8). i xi fi 1 0,23 5,64 2 1,01 7,83 3 2,29 17,04 4 2,87 21,38 5 4,15 24,56 6 5,36 16,21 7 5,51 14,57 8 6,36 0,78 9 6,84 -7,64 10 7,00 -12,52 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 140 Deseja-se: 2 2102 xaxaa)x(p ++= Assim, tem-se um sistema do tipo: = = = === === == = m 1i 2 ii m 1i ii m 1i i 2 1 0 m 1i 4 i m 1i 3 i m 1i 2 i m 1i 3 i m 1i 2 i m 1i i m 1i 2 i m 1i i xf xf f a a a xxx xxx xxm Para ajudar na montagem do sistema, pode-se fazer a seguinte tabela: i xi xi2 xi3 xi4 fi fi xi fi xi2 1 0,23 0,0529 0,0122 0,0028 5,64 1,2972 0,2984 2 1,01 1,0201 1,0303 1,0406 7,83 7,9083 7,9874 3 2,29 5,2441 12,0090 27,5006 17,04 39,0216 89,3595 4 2,87 8,2369 23,6399 67,8465 21,38 61,3606 176,1049 5 4,15 17,2225 71,4734 296,6145 24,56 101,9240 422,9846 6 5,36 28,7296 153,9907 825,3899 16,21 86,8856 465,7068 7 5,51 30,3601 167,2842 921,7357 14,57 80,2807 442,3467 8 6,36 40,4496 257,2595 1636,1701 0,78 4,9608 31,5507 9 6,84 46,7856 320,0135 2188,8924 -7,64 -52,2576 -357,4420 10 7,00 49,0000 343,0000 2401,0000 -12,52 -87,6400 -613,4800 Soma 41,62 227,1014 1349,7125 8366,1931 87,85 243,7412 665,4169 Logo, o sistema a ser resolvido é, 4169,665 7412,243 85,87 a a a 1931,83667125,13491014,227 7125,13491014,22762,41 1014,22762,4110 2 1 0 = que tem a seguinte solução: 4153,2 8712,15 4199,2 a a a 2 1 0 − − = . Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 141 Assim, o polinômio procurado é: 2 2 x4153,2x8712,154199,2)x(p −+−= . O valor estimado para f(8) é então: 0272,3084153,288712,154199,2)8(p)8(f 22 −=×−×+−=≅ . Os resultados abaixo foram obtidos por um programa computacional escrito em MATLAB para a determinação de aproximações polinomiais através do método de mínimos quadrados. ============================ CÁLCULO NUMÉRICO Ajuste por Mínimos Quadrados Regressão Polinomial ============================ Título: Exemplo Tabela de Dados: ----------------- x f(x) ----------------- 0.2300 5.6400 1.0100 7.8300 2.2900 17.0400 2.8700 21.3800 4.1500 24.5600 5.3600 16.2100 5.5100 14.5700 6.3600 0.7800 6.8400 -7.6400 7.0000 -12.5200 ----------------- Grau Desejado: 2 Coeficientes: ----------------- i a ----------------- 0 -2.4199 1 15.8712 2 -2.4153 ----------------- Valor Desejado: x = 8.0000 f(x) = -30.0272 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 142 Observe no gráfico gerado pelo programa que o polinômio realmente não in- tercepta todos os pontos da tabela. 0 1 2 3 4 5 6 7 -15 -10 -5 0 5 10 15 20 25 CÁLCULO NUMÉRICO: Regressão Polinomial X P( X) Exemplo Determine os coeficientes do melhor polinômio de grau 2, que pode represen- tar os pontos da tabela abaixo. i xi fi 1 0 -1 2 1 -2 3 1,5 -2,8750 4 3 2 Aplicando o programa computacional, com n = 2, tem-se: Tabela de Dados: ----------------- x f(x) ----------------- 0.0000 -1.0000 1.0000 -2.0000 1.5000 -2.8750 3.0000 2.0000 ----------------- Grau Desejado: 2 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 143 Coeficientes: ----------------- i a -----------------0 -0.8800 1 -2.9600 2 1.3000 ----------------- Logo, o polinômio do 2º grau que melhor aproxima os pontos da tabela é: 2 2 x30,1x96,288,0)x(p +−−= . Graficamente, 0 0.5 1 1.5 2 2.5 3 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 CÁLCULO NUMÉRICO: Regressão Polinomial X P( X) Neste caso, tem-se m = 4 (no de pontos) e n = 2 (grau do polinômio). Admi- tindo-se n = m – 1 = 3, vem que: Tabela de Dados: ----------------- x f(x) ----------------- 0.0000 -1.0000 1.0000 -2.0000 1.5000 -2.8750 3.0000 2.0000 ----------------- Grau Desejado: 3 Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 144 Coeficientes: ----------------- i a ----------------- 0 -1.0000 1 1.0000 2 -3.0000 3 1.0000 ----------------- Assim, o polinômio que melhor ajusta os pontos segundo o critério de míni- mos quadrados é, 32 3 xx3x1)x(p +−+−= . Note que: )1(f2)1(p )0(f1)0(p 3 3 =−= =−= ).3(f2)3(p )5,1(f8750,2)5,1(p 3 3 == =−= Graficamente, 0 0.5 1 1.5 2 2.5 3 -4 -3 -2 -1 0 1 2 CÁLCULO NUMÉRICO: Regressão Polinomial X P( X) Observe que, neste caso, o polinômio obtido “passa” sobre os pontos tabela- dos, tal como na interpolação. Assim, sempre que n = m – 1, o método dos mínimos quadrados resultará no próprio polinômio interpolador. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 145 D – Outros Tipos de Regressão Pode-se ainda ajustar funções exponenciais, trigonométricas, logarítmicas e etc. De uma forma geral, deseja-se aproximar um função f(x) desconhecida por uma função do tipo, )x(a...)x(a)x(a)x( nn2211 ϕ++ϕ+ϕ=ϕ onde )x(jϕ (para j = 1...n) é uma função qualquer escolhida pelo analista e os parâmetros aj (para j = 1...n) deverão ser determinados. Considere a tabela, i xi fi 1 x1 f1 2 x2 f2 ... m xm fm Neste caso, o desvio de cada ponto pode ser calculado como, )x(a...)x(a)x(af)x(fd nn2211iiii ϕ−−ϕ−ϕ−=ϕ−= . De acordo com o método dos mínimos quadrados, deve-se minimizar, [ ] = ϕ−−ϕ−ϕ−= m 1i 2 inni22i11i )x(a...)x(a)x(afS . Assim, de forma análoga aos desenvolvimentos anteriores, tem-se: • = ϕ−×ϕ−−ϕ−ϕ−→= ∂ ∂ m 1i i1inni22i11i 1 )]x([)]x(a...)x(a)x(af[2 0 a S • = ϕ−×ϕ−−ϕ−ϕ−→= ∂ ∂ m 1i i2inni22i11i 2 )]x([)]x(a...)x(a)x(af[2 0 a S ... • = ϕ−×ϕ−−ϕ−ϕ−→= ∂ ∂ m 1i ininni22i11i n )]x([)]x(a...)x(a)x(af[2 0 a S . Para que as equações anteriores sejam satisfeitas, deve-se ter: Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 146 • = =ϕ−×ϕ−−ϕ−ϕ− m 1i i1inni22i11i 0)]x([)]x(a...)x(a)x(af[ • 0)]x([)]x(a...)x(a)x(af[ m 1i i2inni22i11i =ϕ−×ϕ−−ϕ−ϕ− = ... • 0)]x([)]x(a...)x(a)x(af[ m 1i ininni22i11i =ϕ−×ϕ−−ϕ−ϕ− = . Ou ainda: )x(f)x()x(a...)x()x(a)x()x(a i1 m 1i m 1i i m 1i ini1n m 1i i2i12i1i11 ϕ=ϕϕ++ϕϕ+ϕϕ = === )x(f)x()x(a...)x()x(a)x()x(a i2 m 1i m 1i i m 1i ini2n m 1i i2i22i1i21 ϕ=ϕϕ++ϕϕ+ϕϕ = === ... )x(f)x()x(a...)x()x(a)x()x(a in m 1i m 1i i m 1i ininn m 1i i2in2i1in1 ϕ=ϕϕ++ϕϕ+ϕϕ = === . Este último conjunto de equações corresponde a um sistema linear do tipo: = = = === === === ϕ ϕ ϕ = ϕϕϕϕϕϕ ϕϕϕϕϕϕ ϕϕϕϕϕϕ m 1i ini m 1i i2i m 1i i1i n 2 1 m 1i inin m 1i i2in m 1i i1in m 1i ini2 m 1i i2i2 m 1i i1i2 m 1i ini1 m 1i i2i1 m 1i i1i1 )x(f )x(f )x(f a a a )x()x()x()x()x()x( )x()x()x()x()x()x( )x()x()x()x()x()x( M M O Exemplo Considerando a tabela a seguir, determine a função x21 eaxa)x( −+=ϕ que melhor aproxima os pontos segundo o critério dos mínimos quadrados. Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 147 xi 1 1,5 2 3 fi 0,210 0,139 0,105 0,070 Neste caso, tem-se: x 21 eaxa)x( −+=ϕ . Assim, x)x(1 =ϕ , x2 e)x( −=ϕ , e o sistema a ser resolvido é: = = == == ϕ ϕ = ϕϕϕϕ ϕϕϕϕ m 1i i2i m 1i i1i 2 1 m 1i i2i2 m 1i i1i2 m 1i i2i1 m 1i i1i1 )x(f )x(f a a )x()x()x()x( )x()x()x()x( Para conhecer os coeficientes deste sistema, pode-se usar a seguinte tabela: i xi fi ϕ1(xi) ϕ2(xi) ϕ1(xi) ϕ1(xi) ϕ1(xi) ϕ2(xi) ϕ2(xi) ϕ2(xi) ϕ1(xi) fi ϕ2(xi) fi 1 1 0,210 1,0000 0,3679 1,0000 0,3679 0,1354 0,2100 0,0773 2 1,5 0,139 1,5000 0,2231 2,2500 0,3347 0,0498 0,2085 0,0310 3 2 0,105 2,0000 0,1353 4,0000 0,2706 0,0183 0,2100 0,0142 4 3 0,070 3,0000 0,0498 9,0000 0,1494 0,0025 0,2100 0,0035 Soma 16,2500 1,1226 0,2059 0,8385 0,1260 Assim, tem-se o sistema, 1260,0 8385,0 a a 2059,01226,1 1226,12500,16 2 1 = cuja solução vale: 5304,0 0150,0 a a 2 1 = . Logo a função do tipo desejado que melhor aproxima os pontos da tabela é: xe5304,0x0150,0)x( −+=ϕ . Notas de Aula de Cálculo Numérico – Capítulo 7 Prof. João Guilherme de C. Costa 148 7.3 – Exercícios Propostos 1) Aproxime a função xLog10 no intervalo [2, 3] usando 2 e 3 pontos. Estime )4,2(Log10 em cada caso e verifique os erros. Resolva o sistema linear. 2) Estime f(1,5) por interpolação de 3º grau. Use fórmula de Lagrange. x 1 2 3 4 5 f(x) 0 0,2 0,3 0,5 0,6 3) Dada a tabela de valores de f(x), calcule f(2,5) usando a fórmula de New- ton para determinar um polinômio interpolador de grau n ≤ 3. x 2,0 2,2 2,4 2,6 f(x) 0,5104 0,5208 0,5104 0,4813 4) Dada a tabela abaixo, calcule f(0,203) usando regressão linear. x 0,15 0,16 0,17 0,18 0,19 0,20 0,21 0,22 f(x) 0,15 0,155 0,172 0,171 0,19 0,212 0,203 0,222 5) Determine o melhor polinômio de 2º grau que pode representar os pontos: x 0 1 2,4 2,7 f(x) 3,3 3,6 3,2 2,0 6) Determine os parâmetros da função )x(senaeaxa)x( 3x21 ++=ϕ para que esta aproxime os pontos abaixo pelo critério dos mínimos quadrados. x 0 0,7 1 1,8 2,5 2,8 3 f(x) -7 5,733 9 12,872 12,375 11,592 11 Respostas 1) 2 pts: p1(2,4) = 0,3714, erro = 2,3%; 3 pts: p2(2,4) = 0,3800, erro = 0,06% 2) p3(1,5) = 0,1250 3) p3(2,5) = 0,4981 4) r(x) = –0,0101+1,0512x r(0,203) = 0,2033 5) p2(x) = 3,2352 + 1,0623x – 0,5210 x2 6) )x(sen39,2e64,1x23,14)x( x −−=ϕ