Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
�PAGE � �PAGE �70� UERJ – CTC – IME – Departamento de Informática e Ciência da Computação Cálculo Numérico – Professora Mariluci Ferreira Portes � Unidade V – Interpolação V.1 - Introdução Interpolar significa determinar valores intermediários entre valores dados de uma função. Suponha que um móvel, partindo do repouso, é dirigido com uma aceleração máxima até atingir 96 Km/h e que as leituras do velocímetro, com intervalos não eqüidistantes, são apresentadas no gráfico abaixo: y (km/h) 96 94 60 48 38 16 x 0 2 7 16 22 36 40 Desejaríamos que os pontos definissem uma curva suave. No entanto, devido a erros de leitura e outros fatores, os pontos não estão muito bem situados, pois as velocidades são grandes, e outras são pequenas. A solução do problema pode ser vista sobre dois aspectos: Ajuste da curva: Neste caso a provável curva ajustável não necessariamente conterá os pontos medidos. O método utilizado é dos mínimos quadrados. Interpolação: Neste caso são escolhidos polinômios que conterão os valores dos pontos medidos. V.2 - Interpolação Linear Seja f (x) uma função contínua e diferenciável da qual se conhece os seguintes valores: x f (x) x 0 f (x 0) x 1 f (x 1) ( ( x i f (x i ) x i + 1 f (x i + 1 ) ( ( x n f (x n ) Temos (n + 1) pontos tabelados. Suponha que se deseja o valor de f ( �) para � ( [x i ; x i + 1 ] y f(xi+1) B f( ) F f(xi) A D E 0 xi x i+1 x A interpolação linear consiste em determinar um polinômio de 1º. grau que contenha os pontos A (x i ; f (x i )) e B ( x i + 1 ; f (x i + 1 )). Os triângulos ABE e AFD são semelhantes. Daí resulta: � Logo: � Observe que para � f ( �) = a 0 + a 1 � , onde � Então temos um polinômio interpolador do 1º. grau. Aplicação: 1- Considere sen 0° e sen 10° = 0,17365. Determine sen 6,5°. � = 6,5 x i = 0 ( f (x i) = 0 x i + 1 = 10 ( f (x i + 1) = 0,17365 f ( �) = sen 6,5° = 0 + �[ 0,17365 - 0 ] = 0,11287 2- Considere agora sen 6° = 0,10453 e sen 7° = 0,12187 Calcule sen 6,5°: sen 6,5° = 0,10453 + �[ 0,12187 - 0,10453 ] = 0,11320 V.3 - Polinômio Interpolador Para melhor aproximação de f (x) poderíamos escolher uma curva de ordem mais elevada. dados (n + 1) pontos, a curva de mais alto grau e o polinômio de grau n, cuja expressão é: � Para se determinar os coeficientes basta observar que �. Com isso temos o seguinte sistema linear: � A matriz associada ao sistema é: A= � que é a matriz de Vandermond. det A= (xi – xj) O determinante associado a essa matriz é não nulo desde que xi , i = 0 (1) n, sejam todos distintos. Como essa condição é satisfeita, então o sistema tem solução. Utilizando um dos métodos já estudados para resolver sistemas lineares, determinamos ai , i = 0 (1) n, e conseqüentemente Pn(x). Exemplo: Dados: sen 0° = 0; sen 30° = 0,5; sen 60° = 0,866025; sen 90° = 1. Determine a expressão do polinômio interpolador e o valor do sen 45°. Solução: � � Resolvendo o sistema acima, temos: a1 = 0,178098 ( 10 -1 a2 = - 0,199435 ( 10 -4 a3 = 0,605409 ( 10 -6 Logo: P 3(x) = 0,605409 ( 10 -6 x3 - 0,199435 ( 10 -4 x2 + 0,178098 ( 10 -1 P 3 (45) = V.4 - Polinômio Interpolador de Lagrange Polinômio Interpolador de Lagrange de 1ª Ordem Considere x0, x1, f (x0), f (x1). A expressão do polinômio interpolador de 1ª ordem é: P 1(x) = a 1x + a 0 em que P1(x0) = f (x0) e P1(x1) = f (x1) � Considere agora uma constante c = 1, e: � Então temos um sistema linear, com 3 equações e 3 incógnitas (c; a1; a0). A matriz associada ao sistema homogêneo é: � O sistema homogêneo tem solução quando o determinante da matriz associada é nulo. Logo: � Observe que P1(x0) = f (x0) e P1(x1) = f (x1). A expressão obtida pode ser escrita da seguinte forma: �, onde Li(x) são os coeficientes de Lagrange, daí o polinômio interpolador de Lagrange de 1ª ordem. Generalizando ... O polinômio interpolador de Lagrange de ordem n , tem por expressão: �, onde � Note que: Li(xi) = 1 Li(xj) = 0 , i ( j Isto acarreta que Pn (xi) = f (xi) Uma fórmula compactada do Polinômio Interpolador de Lagrange de ordem n é: � Exemplo: Dados os valores f (0) = 7,3 ; f (0,5) = - 5,1 ; f (1) = 6 ; determine a expressão do Polin. Int. de Lagrange e f (0,8). Solução: � � � � � � V.5 - Cálculo das Diferenças Finitas Quando os pontos x0, x1, ..., xn são igualmente espaçados, recorremos ao cálculo das diferenças finitas para interpolarmos. Definição: Definimos operador diferença progressiva ( h da seguinte maneira: = f (x + h) - f (x) , onde h é o passo (no idioma inglês, ‘step’) entre os pontos. Exemplo: 1) f (x) = cos x ( h f (x) = cos (x + h) - cos x , para h = � � 2) Seja f (x) = x 3 + 5 , considere a tabela: x f (x) �f (x) �f (x) �f (x) �f (x) 0 5 8 48 48 0 2 13 56 96 48 0 4 69 52 144 48 6 221 296 8 517 Observações: 1) f ’(x) = 3x 2 f ’’(x) = 6x f ’’’(x) = 6 f IV (x) = 0 2) As diferenças progressivas têm semelhança com as derivadas. De fato: � Quando h ( 0 para ( (x, x+h) (usando o teorema do valor médio) 3) Se cometermos um erro ( em um valor tabelado, então esse erro se propaga em todas as direções da tabela. x f (x) � � x0 0 0 ( x1 0 ( -2( x2 ( -( ( x3 0 0 x4 0 4) Há uma relação entre valores tabelados e algarismos significativos exatos dos valores tabelados, isto é: “O número de algarismos significativos exatos dos valores tabelados é aproximadamente igual a ordem da mais alta diferença que possuí sinais não alternantes.” Exercício: Construir a tabela do sen x para x = 0° (10°) 90° e fazer as respectivas diferenças, utilizando 5 casas decimais por truncamento. Qual é a precisão de casas decimais dos valores, consultando a tabela?( x f(x) (10f(x) (101 f(x) (102 f(x) 0 0,00000 0,17365 -0,00528 -0,00512 10 0,17365 0,16837 -0,01039 -0,00480 20 0,34202 0,15798 -0,01519 -0,00434 30 0,50000 0,14279 -0,01953 -0,00375 40 0,64279 0,12326 -0,02328 -0,00304 50 0,76604 0,09998 -0,02631 -0,00224 60 0,86603 0,07367 -0,02855 -0,00137 70 0,93969 0,04512 -0,02992 80 0,98481 0,01519 90 1,00000 V.5.1 - Fórmula da diferença progressiva de Newton-Gregory Suponha que com o conjunto de pontos tabelados quiséssemos desenvolver f (x) em série de Taylor. Então f (x) = f (x0) + f ’(x) (x - x0) + �. Porém só conhecemos o valor de f (x0)e desejamos aproximar f(x) por um pol. do 1º grau, ou seja: Simplificando a situação: � Como não se tem f ’(x0) e sabemos que existe uma relação entre derivadas e diferenças finitas, então: � Logo: � (1) Isso para (x0; x0 + h) bem próximos. Note que: f (x0) = f (x0) f (x1) = f (x1) expressão obtida em (1) é um polinômio de grau 1, que utiliza diferença progressiva. Sabemos que � e que � . No ponto x0 temos �, onde P0 (x1) ( f (x1), mas a1 é um fator de correção que acarreta P1 (x1) = f (x1). Partindo-se desse raciocínio vem: �, onde ��� EMBED Equation.2 �. Basta que P2 (x2) = f (x2) para obtermos a expressão do polinômio do segundo grau. � � � Generalizando temos: Exemplo: x 0 2 4 6 f (x) 1 3 2 5 1. Dada a tabela: a. Obter a fórmula do Pol. Interp. de Newton-Gregory; b. Determinar o valor aproximado de f (5). � Solução: x f (x) (2 f (x) � � 0 1 2 -3 7 2 3 -1 4 4 2 3 6 5 � b. f (5) ( P3(5) ( P3(5) = 2,5625 Observações: O processo do Pol. Interp. exige grande quantidade de cálculos; O método de Lagrange é útil, porém ainda hoje exige muitos cálculos; O método das diferenças de Newton-Gregory é ineficiente se forem necessárias poucas interpolações; porém uma vez construída a tabela, torna-se fácil utilizá-la para outras interpolações. V.5.2 - Fórmula de Newton com Diferenças Divididas Diferenças Divididas Seja f (x) uma função da qual se conhece f (x0), f (x1), ..., f (xn). Denominamos de diferença dividida: Primeira Ordem ( � Segunda Ordem ( � Terceira Ordem ( � Observe que em virtude da definição temos: � Daí resulta que: Substituindo xn por x temos o Polin. Interpolador de grau n de diferenças divididas de Newton. Observação: Os pontos não precisam ser eqüidistantes. Exemplo: x 1 4 6 7 9 15 f (x) -39 -1704 -4664 -5601 1 325447 Dada a tabela: a) Determinar a expressão do Pol. Int. de Newton com Diferenças Divididas. b) Determinar o valor aproximado de f (5). a) x f (x) 1a dif. 2a dif. 3a dif. 4a dif. 5a dif. 1 -39 [1;4]= -555 [1;4;6]= -185 [1;4;6;7]= 61 [1;4;6;7;9] = 19 [1;4;6;7;9;15]= 1 4 -1704 [4;6]= -1480 [4;6;7]= 181 [4;6;7;9]= 213 [4;6;7;9;15]= 33 6 -4664 [6;7]= -937 [6;7;9]= 1246 [6;7;9;15]= 576 7 -5601 [7;9]= 2801 [7;9;15]=6430 9 1 [9;15]= 54241 15 325447 b) f(5) ( P5(5)= -3123 � V.5.3 - Polinômio de Gauss Através do polinômio interpolador de Gauss podemos deduzir as fórmulas de Bessel e Stirling. Consideremos os nós não eqüidistantes da seguinte forma: x0 = x0 x1 = x0 + h x2 = x0 - h x3 = x0 + 2h x4 = x0 - 2h e assim sucessivamente. Usando as diferenças divididas, temos: � � Logo o polinômio dado pela fórmula das diferenças divididas é igual a: (*) � Mas x = x0 + th (t ( (), donde: x - x0 = th x - x1 = (t - 1) h x - x2 = (t + 1) h x - x3 = (t - 2) h x - x4 = (t + 2) h Substituindo em (*), temos: � Então: � E essa é a Fórmula de Gauss para o polinômio interpolador. V.5.3 - Fórmula de Bessel É deduzida a partir da Fórmula de Gauss e é preferida pelos calculistas por causa das vantagens que apresenta. Desdobremos da seguinte forma: � Logo: � � A expressão (2) representa a fórmula de Bessel que pode ser escrita de uma forma mais compacta, a saber: � � são chamados de coeficientes de Bessel. Observação: Existem tabelas que dão os coeficientes de Bessel para valores de t compreendidos entre 0 e 1. Exemplo: Seja �, a integral que permite calcular as probabilidades, P(X �x) para uma distribuição normal. Considere a tabela de valores de probabilidades: X 0,51 0,52 0,53 0,54 0,55 0,56 ((x) 0,5292437 0,5378987 0,5464641 0,5549392 0,5633233 0,5716157 Calcule ((0,5437) usando a fórmula de Bessel. Solução: Construção da tabela de diferenças finitas: x ((x) (( (2( (3( 0,51 0,5292437 0,0086550 -0,0000896 -0,0000007 0,52 0,5378987 0,0085654 -0,0000903 -0,0000007 0,53 0,5464641 0,0084751 -0,0000910 -0,0000007 0,54 0,5549392 0,0083841 -0,0000917 0,55 0,5633233 0,0082924 0,56 0,5716157 Seja x0 = 0,54 x = 0,5437 x = x0 + th 0,5437 = 0,54 + t (0,01) t = � = 0,37 Usando a fórmula de Bessel, temos: � � V.5.4 - Fórmula de Stirling Escrevamos a fórmula de Gauss da seguinte forma: � Mas: � Então: � Exemplo: Dada a tabela abaixo com os valores da integral elíptica � assim como as diferenças finitas até 6o. ordem, determinar K(78o 30’) pela fórmula de Stirling. ( K(() (K (2K (3K (4K (5K (6K 75° 2,76806 6461 528 84 19 13 -5 76° 2,83267 6989 612 103 32 8 77° 2,90256 7601 715 135 40 78° 2,97857 8316 850 175 79° 3,06173 9166 1025 80° 3,15339 10191 81° 3,25530 Solução: x0 = 78° h = 1° = 60’ x = 78° 30’ ( t = � = 0,5 � V.6 – Erro de Truncamento Dados os (n+1) valores x0 ,x1 ,...,xn , o erro de truncamento associado a interpolação polinomial é dado por: e DEM: Seja En(x) = f(x) – Pn(x) Seja G(x) = (x – x0) ... (x – xn) x [x0 , xn] Para x = xi , i = 0 (1) n temos G(xi) = 0 ( En(xi) = 0 pois f(xi) = Pn(xi), i = 0 (1) n Considere H(t) = En(x).G(t) – En(t).G(x) t [x0 , xn] 1ª Afirmação: H(t) possui derivadas até ordem (n +1). De fato: a) f(t) possui derivadas até ordem (n + 1) b) Pn(t) possui derivadas de ordem (n + 1) c) En(t) = f(t) – Pn(t) possui derivadas até ordem (n + 1) d) G(t) possui derivadas até ordem (n + 1) Logo, H(t) possui derivadas até ordem (n + 1). 2ª Afirmação: H(t) possui (n + 2) zeros. De fato: a) Para t = xi , i = 0 (1) n, temos En(t) = 0 e G(t) = 0 (H(xi) = En(x).G(x) – En(xi).G(x) = 0 b) Para t = x ( H(x) = En(x).G(x) – En(x).G(x) = 0 Então x0, x1, ..., xn, x são os zeros de H(t). Resumindo: a função H(t) no intervalo [x0 , xn] a) está definida b) possui derivadas até ordem (n + 1) c) possui pelo menos (n + 2) zeros Dessa forma podemos aplicar o Teo. De Rolle sucessivamente a H(t), ou seja H´(t) possui pelo menos (n + 1) zeros H´´(t) possui pelo menos n zeros Hn+1(t) possui pelo menos um zero no intervalo (x0 , xn). Assim, e Logo Se for um zero para H(t), teremos ( ( OBS: Nos cálculos estimamos por diferença dividida de ordem (n+1) por ser f(x) desconhecida. Lista de exercícios sobre a Unidade V 1) Determine o polinômio P(x) que assume os valores y0 =1, y1 = 4, y2 =15, y3 = 40, para os valores x0 = 0, x1 = 1, x2 = 2, x3 = 3, e calcular o valor numérico de P(2,2). 2) Dada a tabela: x 0 2 4 6 8 10 f (x) -5 -11 191 1513 5635 15005 Determine P(x) e calcule P(5) utilizando: a) a fórmula de Lagrange. b) a fórmula de Gregory-Newton. 3) Dada a tabela: x 1 4 6 7 9 15 f (x) -39 -1704 -4664 -5601 1 325477 Determine: a) a expressão do polinômio interpolador de Lagrange. b) o valor de P(5). 4) Calcular o seno de 0,390736 pelo método de Gregory-Newton sendo dados: x 0,390 0,391 0,392 0,393 0,394 sen x 0,380188 0,381113 0,382037 0,382961 0,383885 Trabalho Computacional: Programar o polinômio interpolador de Lagrange e determinar f (3), f (5), f (7), sendo dada a seguinte tabela: x 2 4 6 8 f (x) 0,6931 1,3863 1,7918 2,0794 _919683165.unknown _919683187.unknown _919685047.unknown _1002346136.unknown _1002348035.unknown _1136275075.unknown _1136275929.unknown _1136277548.unknown _1136277693.unknown _1136277852.unknown _1136277926.unknown _1136277753.unknown _1136277620.unknown _1136277433.unknown _1136275378.unknown _1136275409.unknown _1136275294.unknown _1136274341.unknown _1136274589.unknown _1067515184.unknown _1002348893.unknown _1002346910.unknown _1002347739.unknown _1002347802.unknown _1002347254.unknown _1002346495.unknown _1002346561.unknown _1002346346.unknown _919694417.unknown _919695707.unknown _919696272.unknown _919697447.unknown _1002344882.unknown _1001837492.unknown _919697139.unknown _919696089.unknown _919694903.unknown _919695521.unknown _919694666.unknown _919692021.unknown _919692222.unknown _919685527.unknown _919683198.unknown _919683203.unknown _919683206.unknown _919684690.unknown _919683205.unknown _919683201.unknown _919683202.unknown _919683199.unknown _919683192.unknown _919683195.unknown _919683196.unknown _919683194.unknown _919683189.unknown _919683191.unknown _919683188.unknown _919683176.unknown _919683181.unknown _919683184.unknown _919683185.unknown _919683183.unknown _919683178.unknown _919683180.unknown _919683177.unknown _919683170.unknown _919683173.unknown _919683174.unknown _919683171.unknown _919683167.unknown _919683169.unknown _919683166.unknown _919683137.unknown _919683153.unknown _919683159.unknown _919683162.unknown _919683163.unknown _919683160.unknown _919683156.unknown _919683157.unknown _919683155.unknown _919683142.unknown _919683149.unknown _919683150.unknown _919683144.unknown _919683139.unknown _919683141.unknown _919683138.unknown _919683123.unknown _919683131.unknown _919683134.unknown _919683135.unknown _919683133.unknown _919683127.unknown _919683130.unknown _919683125.unknown _919683114.unknown _919683119.unknown _919683121.unknown _919683116.unknown _919683106.unknown _919683112.unknown _919683113.unknown _919683108.unknown _919683100.unknown _919683101.unknown _919683097.unknown _919683098.unknown _919683096.unknown