Baixe o app para aproveitar ainda mais
Prévia do material em texto
Cálculo Numérico Interpolação Prof. Cristiano Silva, Prof. Yara e Prof. Elmo Alves Interpolação Considere a tabela abaixo contendo uma lista de valores pra o calor especifico de um dado material em função de sua temperatura: Como calcular o calor específico de água a 32,5ºC? Qual a temperatura para o calor específico 0,99837 Temperatura (ºC) 20 25 30 35 40 45 50 Calor específico 0,99907 0,99852 0,99826 0,99818 0,99828 0,99849 0,99878 Interpolação Métodos de interpolação polinomial são utilizados para aproximar uma função f(x), principalmente nas seguintes situações: conhece-se apenas valores de f(x) em apenas pontos discretos x0 , x1 , x2 , ... f(x) é extremamente complicada e de difícil manejo f(x) não é conhecida explicitamente. Interpolação Polinomial Interpolar um ponto x a um conjunto de n+1 dados {xi,f(xi)}, significa calcular o valor de f(x), sem conhecer a forma analítica de f(x) ou ajustar uma função analítica aos dados. Interpolação polinomial consiste em se obter um polinômio p(x) que passe por todos os pontos do conjunto de (n+1) dados {xi,f(xi)}, isto é: p(x0)=f(x0) p(x1)=f(x1) … p(xn)=f(xn) Interpolação Polinomial Polinômio interpolador é dado por: O conjunto de equações corresponde a um sistema linear de n+1equações e n+1 variáveis. O polinômio que interpola f(x) em x0, x1,..., xn é único. Existem diversas formas de se obter o polinômio. Uma delas é resolvendo o sistema linear obtido anteriormente Pn(xn) = f(xn). Teoricamente, todas as formas conduzem ao mesmo polinômio. A escolha depende da estabilidade do sistema, do tempo computacional, etc. 5 Interpolação Linear Encontrar o polinômio que interpola os pontos da tabela abaixo: Grau do polinômio – como se conhecem os valores da função em três pontos (n+1, n=2), pode-se usar um polinômio de 2º Grau. p(x)=a0+a1x+a2x2 Construção do sistema linear: x -1 0 2 f(x) 4 1 -1 Matriz de Vandermonde 6 Interpolação Linear Substituindo os valores conforme a tabela: x -1 0 2 f(x) 4 1 -1 Interpolação Linear O número de bactérias, por unidade de volume, existente em uma cultura, após x horas, é apresentado na tabela: Calcule o volume de bactérias em 3 horas e 42 minutos. a(3)2 + b(3) + c = 92 a(4)2 + b(4) + c = 132 a(2)2 + b(2) + c = 65 p(x) = 6,5x2 – 5,5x + 50 p(3,7) = 118,635 x 0 1 2 3 4 y 3,2 47 65 92 132 Interpolação Quadrática L1 L2 = L2-L1 L3 = L3-L1 ... L3=L3+L2 8 Scilab: Polinômios Montagem e teste de um polinômio a partir de uma matriz: X= [1 2;3 4] p=poly(1:3, ”x”, ”coeff”) Coeficientes: 1, 2, 3 p=poly(1:3, ”x”, ”roots”) Raizes: 1, 2, 3 m=horner(p, X) Avaliar o polinômio A=rand(2,2) poly(A,"x") Scilab: Interpolação Linear interpln Parâmetros: Matriz de duas linhas (coordenadas xy dos pontos) Vetor de abscissas Vetor de ordenadas x=[0, 1] y=[1.35, 2.94] interpln([x;y],0.73) Scilab: Interpolação Linear interpln Outro exemplo: x=[1 10 20 30 40] y=[1 30 -10 20 40] plot2d(x',y',[-3],"011"," ",[-10,-40,50,50]) yi=interpln([x;y],-4:45); plot2d((-4:45)',yi',[3],"000") Lagrange Se x0, x1, ..., xn são n + 1 números distintos e f é uma função cujos valores nestes números são dados, então existe um único polinômio P(x) de grau no máximo n com: f(xk) = P(xk), para k = 0, 1, ..., n Este polinômio é dado por: Onde, para cada k = 0, 1, ..., n Lagrange Considerando a tabela abaixo: x -1 0 2 f(x) 4 1 -1 Desconsiderar j=k Lagrange Assim, na forma de Lagrange: Lagrange Escreva o polinômio interpolador de Lagrange, de ordem 2: n=2 L0(x)= (x -x1).(x-x2) = x2 – 5,7x + 7,7 i=0 (x0-x1).(x0-x2) 2,64 n=2 L1(x)= (x –x0).(x-x2) = x2 – 4,6x + 3,85 i=1 (x1-x0).(x1-x2) -1,43 n=2 L2(x)= (x –x0).(x-x1) = x2 – 3,3x + 2,4 i=2 (x2-x0).(x2-x1) 3,12 P2(x) = y0.L0(x) + y1.L1(x) + y2.L2(x) x 1,1 2,2 3,5 y 0 29 90 X0 X1 X2 Scilab: Lagrange Utilizar os dois programas: interpoly(tabela) lagrangep(vetor, posição) Conferir das soluções anteriores e comparar com os resultados com a interpolação linear. Lagrange Exemplo: tab=[0.1, 0.6, 0.8; 1.221, 3.320, 4.953] g=interpoly(tab) plot(tab(1,:),tab(2,:)) Teste agora com esta tabela: 0,1 0,6 0,8 1,221 3,320 4,953 1 2 3 4 40 67 95 129 Geração do gráfico separando linha e coluna
Compartilhar