Escolar Documentos
Profissional Documentos
Cultura Documentos
Outra aplicação da interpolação é a aproximação de funções complexas por funções mais simples.
Suponha que tenhamos uma função, mas que seja complicada demais para que seja possível avaliá-la
de forma eficiente. Podemos, então, escolher alguns dados pontuais da função complicada e tentar
interpolá-los com uma função mais simples. Obviamente, quando utilizamos a função mais simples
para calcular novos dados, normalmente não se obtém o mesmo resultado da função original, mas
dependendo do domínio do problema e do método de interpolação utilizado, o ganho de simplicidade
pode compensar o erro.
A interpolação permite fazer a reconstituição (aproximada) de uma função, bastando para tanto
conhecer apenas algumas das suas abscissas e respectivas ordenadas (imagens no contra-domínio
da função). A função resultante garantidamente passa pelos pontos fornecidos, e, em relação aos
outros pontos, pode ser considerada um mero ajuste.
ou seja, devemos obter os valores para os coeficientes a0 , a1 , . . . , an . O sistema acima pode ser
escrito por meio da seguinte equação matricial Va = f(x), A matriz V é conhecida como matriz de
Vandermont.
xn0 xn−1
0 ··· x0 1 a0 f (x0 )
xn xn−1 · · · x1 1 a1 f (x1 )
1 1
.. .. .. . . .
.. .. = ..
. . . 1
n−1
xn x · · · x n−1 1 an−1 f (x n−1 )
n−1 n−1
n
xn xn n−1 ··· xn 1 an f (xn )
0.2.1 Problema: Determine o polinômio interpolador de grau 1 (p1 (x) = a0 + a1 x ) para os dados a seguir e
calcule os valor de y para x = 0 .2 e x = 0 .3
i 0 1
xi 0.1 0.6
yi 1.221 3.320
1
Programação de Computadores e Métodos Numéricos
Curso: Engenharia Civil Turma: 5CVAN
Assim,
..
.
n
4) Calculando a expressão dos coeficientesci : Como Pi (xj ) = 0, ∀ i 6= j , Ln (xi ) = y(xi ) e Pi (x ) =
Q
(x − xj ),
j=0,i6=j
então para um determinado i tem-se
y(xi )
Ln (xi ) = y(xi ) = ci Pi (x) ⇒ ci = Pi (xi )
n
5) Substituido este valor de ci em Ln (xi ) = ci Pi (x) obtemos
P
i=0
n n
y(xi )
y(xi ) PPii(x
(x)
P P
Ln (xi ) = Pi (xi ) Pi (x) = i)
i=0 i=0
n
6)Substituindo Pi (x) = (x − xj ) na expressão acima, obtemos a fórmula do polinômio inter-
Q
j=0,i6=j
polador de Lagrange
n n
P Q (x−xj )
Ln (xi ) = y(xi ) (xi −xj )
i=0 j=0,i6=j
Programação de Computadores e Métodos Numéricos
Curso: Engenharia Civil Turma: 5CVAN
Problema (Termodinâmica)
Estudos de termodinâmica fazem uso intesivo de tabelas. Embora muitas propriedades termodinâ-
micas possam ser plenamente descritas por meio de equações simples, outras, entretanto, ou não
são completamente entendidas, ou são muito complicadas. nestes casos é muito mais fácil tabular
os valores experimentais. Por exemplo, considere os valores a seguir para a energia interna (u) vapor
d’água super aquecido a 0.1 Mpa (aproximadamente 1 atm) em função da temperatura (T ).
T (°C) u (kJ/kg)
100 2506.7
150 2582.8
200 2658.1
250 2733.7
300 2810.4
400 2967.9
500 3131.6
a) Use um polinômio interpolador para determinar a energia interna a 215 °C. O valor esperado para a
energia interna correspondente a temperatura 215 °C é 2680 .7 kJ/kg.
b) Use um polinômio interpolador para determinar a temperatura se a energia interna é de 2600 kJ/Kg.
O valor esperado para a temperatura é 161 ◦ C .
Problema (Balística)
Um foguete é lançado na direção mostrada na figura:
e as coordenadas x e y nos vários instantes de tempo t após o lançamento, estão dados na tabela:
a) Calcule x(250), y(250) e y(x(250)), usando polinômio de interpolação sobre todos os pontos.
Observe que para resolver este problema, no item a) você deverá interpolar (ti , xi ), (ti , yi ) e (xi , yi ).
Obs: Implementação usando funções built-in do Matlab : substituir as linhas 40 a 50 por polyfit(x,fx,6); r =
polyval(x,fx,z);
Resolução do problema 0.2.1: A partir dos pontos X0 = (0 .1 , 1 .221 ) e X1 = (0 .6 , 3 .320 ) e usando a aproximação
f((x) ≈ p1 (xi ) = a0(+ a1 xi = yi montamos o seguinte sistema de equações lineares com as incógnitas a0 e a1
p1 (x0 ) = y0 a0 + a1 x0 = y0 1 x0 a0 y0 1 x0 a0 y0
→ → = → =
p1 (x1 ) = y1 a0 + a1 x1 = y1 1 x1 a1 y1 0 x1 − x0 a1 y1 − y0
y1 −y0
A solução da equação matricial anterior é a1 = x1 −x0
e a0 = y0 − a1 x0 , ou seja, o polinômio p1 (x) = a0 + a1 x procurado é
y1 −y0
p1 (x) = y0 + x1 −x0
(x − x0 ).
Os valores esperados são p1 (0.2) = 1.641 e p1 (0.3) = 2.061. Compare os valores obtidos com os valores de f (x ) = e 2x .
Programação de Computadores e Métodos Numéricos
Curso: Engenharia Civil Turma: 5CVAN
0.4 Biomecânica
Consideramos um teste para estabelecer a relação entre tensão σ (MPa = 100 N/cm²) e deformação
de uma amostra de um disco intervertebral.
A partir dos dados coletados na tabela a seguir deve-se estimar a deformação correspondente a
tensão σ = 0.09 MPa.
σ 0.00 0.06 0.14 0.25 0.31 0.47 0.60 0.70
0.00 0.08 0.14 0.20 0.23 0.25 0.28 0.29
Sejam os n+1 pontos (xi , f (xi )), i = 0, 1, 2, 3, ..., n e P (x) um polinômio de grau n tal que P (xi ) = yi .
A diferença dividida de ordem 1 é
P (x)−P (x0 )
[x, x0 ] = x−x0 (1),
de onde obtemos
P (x) = P (x0 ) + [x, x0 ] (x − x0 ) (2)
É possível provar que para um polinômio de grau n a diferença dividida [x, x0 , x1 , . . . , xn ] = 0. Dessa
forma chegamos a seguinte expressão para o polinômio de Newton:
Calcular o valor de y = y(0,2) por meio de um polinômio interpolador de Newton de grau 4. Conforme
n Q i−1
a expressão Pn (x) = y0 + ∆i y0 (x − xj ) o polinômio P4 (x ) é dado por
P
i=1 j=0
P4 (x) =
y0 +∆y0 (x−x0 )+∆2 y 0 (x−x0 )(x−x1 )+∆3 y 4
0 (x−x0 )(x−x1 )(x−x2 )+∆ y0 (x−x0 )(x−x1 )(x−x2 )(x−x3 ),
Segue que P4 (x) = 0, 3162 + 1, 1575(x − 0, 1) + (−1, 0317)(x − 0, 1)(x − 0, 3) + 1, 1468(x − 0, 1)(x −
0, 3)(x − 0, 4) + (−1, 2447)(x − 0, 1)(x − 0, 3)(x − 0, 4)(x − 0, 6)
O valor de P4 (0 , 2 ) = 0 , 4456
Programação de Computadores e Métodos Numéricos
Curso: Engenharia Civil Turma: 5CVAN
Exercício: Implemente o algoritmo anterior por meio de um programa Matlab/Octave para resolver
o problema 04 (Biomecânica).
Def ormação ε 0 0, 4 0, 8 1, 2 1, 6 2, 0 2, 4 2, 8 3, 2 3, 6 4, 0 4, 4 4, 8 5, 2 5, 6 6, 0
T ensão σ(M P a) 0 3, 0 4, 5 5, 8 5, 9 5, 8 6, 2 7, 4 9, 6 15, 6 20, 7 26, 7 31, 1 35, 6 39, 3 41, 5
a) Determine um polinômio interpolador para ajustar o conjunto de pontos dados. Trace um gráfico
que inclua esses pontos e a curva correspondente ao polinômio.
Obs1 : u t i l i z e o comando p o l y f i t para g e r a r o s c o e f i c i e n t e s do p o l i n ô m i o : p o l = p o l y f i t ( e , s , 1 6 )
Obs2 : para g e r a r um domínio para p o l : z = l i n s p a c e ( e ( 1 ) , e ( end ) , 1 0 0 )
Obs3 : para g e r a r a imagem da f u n ç ã o p o l u t i l i z e : p = p o l y v a l ( pol , z )
Obs4 : para p l o t a r o g r á f i c o dos p o n t o s dados e da f u n ç ã o p o l u t i l i z e o comando :
p l o t ( e , s , ’ ro ’ , z , p , ’ k ’ , ’ l i n e w i d t h ’ , 2 )
Obs5 : para a d i c i o n a r o s r ó t u l o s no g r á f i c o :
x l a b e l ( ’ Deformação ’ , ’ f o n t s i z e ’ , 2 0 )
y l a b e l ( ’ Tensão (MPa) ’ , ’ f o n t s i z e ’ , 2 0 )
Obs: utilize o comando polyfit e polyval para comparar o resultado do primeiro exercício: o valor
esperado é 0 .10691 .