Você está na página 1de 26

EQE-358 MTODOS NUMRICOS EM ENGENHARIA QUMICA

PROFS. EVARISTO E ARGIMIRO

Captulo 3
Interpolao Polinomial
Teorema de Weierstrass: se f(x) uma funo contnua em um intervalo fechado
[a, b], ento para cada > 0, existe um polinmio de grau n() tal que:
| f(x) pn(x)| <

x [a, b]

Embora seja um teorema motivador para usar polinmios, o valor de n() geralmente no
conhecido, principalmente quando f(x) no dada explicitamente. Outro motivo para usar
polinmios na aproximao de funes que suas derivadas e integrais so fceis de
determinar e tambm so polinmios.
Como o polinmio de Taylor, descrito no captulo anterior, concentra a sua preciso
prxima ao ponto x0, ele no adequado para a maioria das aplicaes prticas onde,
geralmente, se deseja uma boa aproximao em todo o intervalo de definio da funo f(x).
Contudo, o polinmio de Taylor de grande utilidade na anlise numrica para estimativas de
erros de tcnicas numricas. Portanto, neste captulo so abordados polinmios que utilizam
dados em vrios pontos do intervalo, chamados de polinmios interpoladores.
Dados n+1 pares de valores {xi, f(xi)}, i = 0, 1, 2, ..., n, existe um e somente um
polinmio pn(x) de grau n no qual
f(xi) = pn(xi) , i = 0, 1, 2, ..., n.
Portanto, embora existam vrias frmulas de interpolao polinomial, se elas
utilizarem as mesmas informaes nos pontos nodais {x0, x1, x2, ..., xn}, ento os polinmios
obtidos sero os mesmos.
Naturalmente, se f(x) for um polinmio de grau n, ento a aproximao tambm ser
exata x xi.
n

Expressando o polinmio interpolador na forma: pn ( x) ci xi


i 0

os coeficientes ci so solues do sistema abaixo de n+1 equaes algbricas lineares:

3. INTERPOLAO POLINOMIAL
c0 c1 x0 c2 x02 cn x0n f ( x0 )

2
n
c0 c1 x1 c2 x1 cn x1 f ( x1 )

2
c0 c1 xn c2 xn cn xnn f ( xn )

cujo determinante da matriz dos coeficientes:

1 x0

x02 x0n

1 x1

x12 x1n

1 xn

2
n

xnn

chamado de determinante de Vandermonde, sendo no-nulo se xi xj i j.


O problema desta tcnica de determinao dos coeficientes a sua tendncia de
propagar os erros de arredondamento medida que os pontos nodais se aproximam uns dos
outros, pois o determinante de Vandermonde tende a zero nestas situaes, gerando um
sistema de equaes mal condicionado.
Exerccio: implementar o cdigo abaixo no MATLAB ou SCILAB para interpolar a funo
y f ( x)

senh( x)
x senh( )

que a soluo analtica do problema de reao com difuso em um partcula cataltica


esfrica isotrmica com reao de primeira ordem (x o raio adimensional e y a
concentrao adimensional). Utilizar como pontos nodais, pontos igualmente espaados entre
0,1 e 0,9, com espaamento uniforme de 0,1 para o caso (a) e de 0,04 para o caso (b). Aps
obter o polinmio, interpolar a funo nos valores de 0 a 1 em intervalos de 0,01. Note que
entre 0 e 0,1 e entre 0,9 e 1 os valores sero extrapolados. Comparar os dois casos.
dx=0.1; % para o caso (a)
dx=0.04; % para o caso (b)
x=[0.1:dx:0.9]'; % pontos nodais
phi=5;
y=sinh(phi*x)./(x*sinh(phi)); % valor da funo nos pontos nodais
n=length(x); % nmero de pontos
xc=[0:0.01:1]'; % pontos para interpolao
m=length(xc);
yc(1)=phi/sinh(phi);
yc(2:m)=sinh(phi*xc(2:m))./(xc(2:m)*sinh(phi));
% formao da matriz de Vandermonde
Um=ones(n,1); % vetor de tamanho n x 1 com todos elementos iguais a 1
M=Um;
for i=1:n-1
M=[M x.^i];
end
C=inv(M)*y;
% C=M\y;

% coeficientes polinomiais (inverso sem pivotamento)


% coeficientes polinomiais (inverso com pivotamento parcial)

3.1 TABELA DE DIFERENAS DE NEWTON

pn1=C'*(Um*xc').^([0:n-1]'*ones(1,m)); % valores interpolados


%
% forma alternativa calcular os valores interpolados
%
%for i=1:m
%
pn1(i)=C(n);
%
for j=n-1:-1:1
%
pn1(i)=pn1(i)*xc(i)+C(j);
%
end
%end
condM=cond(M) % nmero de condicionamento da matriz dos coeficientes
plot(xc,yc,'b:',xc,pn1,'r',x,y,'o');
legend('exato','polinmio','pontos');

O resultado do exerccio acima mostrado na figura abaixo, onde se observa no caso (b) o
efeito dos erros de arredondamento devido inverso matricial sem pivotamento do sistema
de Vandermonde que neste caso mal condicionado. Este problema no ocorreria se fosse
realizada a inverso matricial com pivotamento (parcial ou total).
1

1
exato
polinmio
pontos

0.9
0.8

0.8

0.7

0.7

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

exato
polinmio
pontos

0.9

0.1

Caso (a)

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Caso (b)
n

Outro aspecto sobre a formulao pn ( x) ci x i a sua forma ineficiente de clculo


i 0

de interpolao. A forma alternativa (aninhada):


pn ( x) c0 x (c1 x (c2 x (cn 1 x cn ))))
requer um nmero bem menor de operaes de multiplicao (2n1 contra n(n+1)/2) e pode
ser implementada conforme o algoritmo:
p cn
Para i = n1, n2, ..., 2, 1, 0, faa
p p x + ci

3. INTERPOLAO POLINOMIAL

Este algoritmo est implementado de forma comentada no cdigo acima.


As frmulas de interpolao mais comumente usadas e que no fazem uso do
determinante de Vandermonde so a frmula interpoladora das diferenas divididas de
Newton e os polinmios interpoladores de Lagrange.

3.1 Tabela de diferenas de Newton


Partindo do conceito de derivada:
df
dx

f ( x0 ) lim

x x0

x x0

f ( x) f ( x0 )
x x0

f ( x) f ( x0 )
f [ x, x0 ] para x x0 chamada de primeira diferena dividida
x x0
ou diferena dividida de ordem 1 com relao a x e x0.
a aproximao

Aplicando o teorema do valor mdio diferencial:

f ()

f (b) f (a )
para f(x) C1[a, b] e algum [a, b], ento:
ba
f [ x, x0 ] f () para algum [x, x0],

ou seja, f[x, x0] est relacionada com a derivada primeira de f(x).


Considerando o problema da interpolao linear passando pelos pontos {x0, f(x0)} e
{x1, f(x1)}, temos:
f ( x) p1 ( x) a0 a1 ( x x0 )
como

f ( x0 ) p1 ( x0 ) a0 f ( x0 )
f ( x1 ) p1 ( x1 )

a1

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

f ( x1 ) f ( x0 )
f [ x1 , x0 ] , ou seja, p1 ( x) f ( x0 ) f [ x1 , x0 ] ( x x0 ) .
x1 x0

Usando a definio de erro (ou resduo) da aproximao:


f ( x) p1 ( x) R1 ( x)

e sabendo que R1(x) deve se anular em x0 e x1:


R1 ( x) g ( x) ( x x1 )( x x0 )
ou ainda R1 ( x) f ( x) f ( x0 ) f [ x1 , x0 ] ( x x0 )
R1 ( x) f [ x, x0 ] f [ x1 , x0 ] ( x x0 )
onde

f [ x, x0 ] f [ x1 , x0 ]
f [ x, x1 , x0 ] .
x x1

f ( x) f ( x0 )
( x x0 ) f [ x1 , x0 ] ( x x0 )
x x0

f [ x, x0 ] f [ x1 , x0 ]
( x x1 )( x x0 )
x x1

3.1 TABELA DE DIFERENAS DE NEWTON

Definindo a funo:
Q(t ) f (t ) p1 (t ) (t x1 )(t x0 ) g ( x)
ela se anula pelo menos em t = x1, t = x0 e t = x, logo Q(t ) deve se anular pelo menos duas
vezes no intervalo [x, x0] e Q(t ) deve se anular pelo menos uma vez em um ponto t = [x,
x0]:
Q() f () p1() 2! g ( x) 0

como p1() 0 (polinmio de grau 1) temos:


f ()
2!

g ( x)

Agora, se mais um ponto {x2, f(x2)} for includo no conjunto de pontos nodais:
f ( x) p2 ( x) a0 a1 ( x x0 ) a2 ( x x1 )( x x0 )
fica evidente pelo exposto acima que
a2 = f[x2, x1, x0]
podendo tambm ser tomado como uma boa aproximao para R1(x) se f ( x) for uma funo
suave (que no muda bruscamente para diferentes valores de x). Isto mostra que as frmulas
das diferenas divididas de Newton podem ser usadas para determinar o grau apropriado do
polinmio interpolador em funo da qualidade desejada da aproximao.
Retomando a expresso: f [ x2 , x1 , x0 ]

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

f ( x2 ) f ( x0 ) f ( x1 ) f ( x0 )

( x x ) f ( x2 ) f ( x0 ) ( x2 x0 ) f ( x1 ) f ( x0 )
x2 x0
x1 x0
f [ x2 , x1 , x0 ]
1 0
x2 x1
( x2 x0 )( x1 x0 )( x2 x1 )
f [ x2 , x1 , x0 ]

( x1 x0 ) f ( x2 ) ( x0 x2 ) f ( x1 ) ( x2 x1 ) f ( x0 )
( x2 x0 )( x1 x0 )( x2 x1 )

f [ x2 , x1 , x0 ]

( x1 x0 ) f ( x2 ) ( x1 x0 ) f ( x1 ) ( x2 x1 ) f ( x1 ) ( x2 x1 ) f ( x0 )
( x2 x0 )( x1 x0 )( x2 x1 )

f [ x2 , x1 , x0 ]

ou ainda

( x1 x0 ) f ( x2 ) f ( x1 ) ( x2 x1 ) f ( x1 ) f ( x0 )
( x2 x0 )( x1 x0 )( x2 x1 )

f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )

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

x2 x0
x2 x0

ou seja, f[x2, x1, x0] = f[x1, x2, x0] = f[x0, x2, x1] = f[x0, x1, x2] = f[x1, x0, x2] = f[x2, x0, x1], a
ordem dos argumentos das frmulas das diferenas divididas indiferente. Das expresses
acima, podemos observar tambm que:
f [ x2 , x1 , x0 ]

f ( x2 )
f ( x1 )
f ( x0 )

( x2 x0 )( x2 x1 ) ( x1 x0 )( x1 x2 ) ( x0 x1 )( x0 x2 )

3. INTERPOLAO POLINOMIAL

Generalizando para n pontos nodais, com a incluso da diferena dividida de ordem


zero:
f[xi] f(xi)
temos para a diferena dividida de ordem k:
f [ xk , xk 1 , , x2 , x1 , x0 ]

e f [ x, xk 1 , , x2 , x1 , x0 ]

f [ xk , xk 1 , , x2 , x1 ] f [ xk 1 , xk 2 , , x1 , x0 ]
xk x0

, k = 1, 2, 3, ..., n

f ( k ) ()
, [x, x0].
k!

O erro da interpolao por um polinmio de grau n :


n

Rn ( x) f [ x, xn , xn 1 , , x2 , x1 , x0 ] ( x xi )
i 0

Rn ( x)

ou

f ( n 1) () n
( x xi ) ,
(n 1)! i 0

[x, x0]

sendo que a segunda forma til somente quando a funo f(x) for dada explicitamente.
Exemplo: obter o polinmio interpolador de grau 3 usando as frmulas das diferenas
divididas de Newton para os dados abaixo:

xi

yi

-5

6
1

2
12

25

1
6

30
3

55

p3 ( x) f [ x0 ] f [ x1 , x0 ] ( x x0 ) f [ x2 , x1 , x0 ] ( x x1 )( x x0 ) f [ x3 , x2 , x1 , x0 ] ( x x2 )( x x1 )( x x0 )

p3 ( x) 5 6 ( x 0) 2 ( x 1)( x 0) 1 ( x 3)( x 1)( x 0) x3 2 x 2 7 x 5

3.1 TABELA DE DIFERENAS DE NEWTON

A tabela das diferenas divididas de Newton construda da seguinte maneira:


i
0

xi
x0

yi
f[x0]

x1

f[x1]

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

x2

f[x2]

n1

xn-1

f[xn-1]

f[xn, xn-1, ..., x1, x0]

f[xn, xn-1, xn-2, xn-3]

f[xn, xn-1,xn-2]
f[xn, xn-1]

f[xn]

xn

Para um x qualquer entre x0 e xn, a interpolao polinomial de grau n obtida atravs


das expresses:
f x0 , x

f x0 f x

f x f x0 x x0 f x0 , x , mas:
x0 x
f x1 , x0 f x0 , x
f x1 , x0 , x
f x0 , x f x1 , x0 x x1 f x1 , x0 , x , mas:
x1 x
f x2 , x1 , x0 f x1 , x0 , x
f x2 , x1 , x1 , x
f x1 , x0 , x f x2 , x1 , x0 x x2 f x2 , x1 , x0 , x
x2 x

f xn 1 , , x1 , x0 , x

f xn 1 , , x1 , x0 f xn 2 , , x0 , x
xn 1 x

f xn 2 , , x0 , x f xn 1 , , x1 , x0 x xn 1 f xn 1 , , x1 , x0 , x

e, finalmente:
f xn , xn 1 , , x1 , x0 , x

f xn , xn 1 , , x1 , x0 f xn 1 , xn 2 , , x0 , x
xn x

f xn 1 , xn 2 , , x0 , x f xn , xn 1 , , x1 , x0 x xn f xn , xn 1 , , x1 , x0 , x
n

onde o ltimo termo: f [ xn , xn 1 , , x1 , x0 , x] ( x xi ) o erro da interpolao, que pode ser


i 0

estimado com o uso de um ponto adicional {xn+1, f(xn+1)} prximo a x.


Exemplos:

3. INTERPOLAO POLINOMIAL

a) A tabela abaixo contm os valores da viscosidade (em centipoise) de uma soluo contendo
60% de sacarose a vrias temperaturas. Construa a Tabela de Diferenas destes dados.
T
( C)

(centipoise)

10

113,9

-5,72
20

56,7

0,17255
-2,269

30

-0,004088

34,01

0,0499
-1,271

40

21,30

b) Refaa a Tabela de Diferenas adotando ln() no lugar de :


T
( C)

ln()

10

4,735321

-0,069755
20

4,037774

0,000932
-0,051112

30

3,526655

40

3,058707

-0,000024
0,000216

-0,046795

Algoritmo: Interpolao polinomial de Newton


Dados n+1 pontos {xi, yi}, deseja-se interpolar a funo em x = x*
Para i = 0, 1, 2, ..., n, faa
Ai,0 yi
Para i = 1, 2, ..., n, faa
Para j = 0, 1, 2, ..., ni, faa
A j ,i

Aj 1,i -1 Aj ,i -1

p1
y A0,0
*

Para i = 1, 2, ..., n, faa


p (x* xi-1) p
y* y* + p A0,i

xi j x j
i
0
1
2
3

n2
n1
n

xi
x0
x1
x2
x3

xn-2
xn-1
xn

yi
A0,0
A1,0
A2,0
A3,0

An-2,0
An-1,0
An,0

1
A0,1
A1,1
A2,1
A3,1

An-2,1
An-1,1

2
A0,2
A1,2
A2,2
A3,2

An-2,2

n-2
A0,n-2
A1,n-2
A2,n-2

n-1
A0,n-1
A1,n-1

n
A0,n

3.2 INTERPOLAO DE LAGRANGE

Ao final do algoritmo y* contm o valor interpolado de f(x) em x = x*.

3.2 Interpolao de Lagrange


Na derivao das frmulas das diferenas divididas foi adotada a forma polinomial:
n 1

pn ( x) a0 a1 ( x x0 ) a2 ( x x1 )( x x0 ) an ( x xi )
i 0

para a determinao dos coeficientes ai, i = 0, 1, 2, ..., n. No caso da interpolao de


Lagrange, a forma polinomial adotada a seguinte:
pn ( x) b0 ( x x1 )( x x2 ) ( x xn ) b1 ( x x0 )( x x2 ) ( x xn )
bi ( x x0 )( x x1 ) ( x xi 1 )( x xi 1 ) ( x xn ) bn ( x x0 )( x x1 ) ( x xn 1 )

cujos coeficientes bi, i = 0, 1, 2, ..., n so determinados diretamente pelas condies


pn(xi) = f(xi), i = 0, 1, 2, ..., n, resultando em:
bi

f ( xi )
, i = 0, 1, 2, ..., n.
( xi x0 )( xi x1 ) ( xi xi 1 )( xi xi 1 ) ( xi xn )

Definindo os interpoladores de Lagrange:


n

i ( x)
j 0
j i

x xj
xi x j

, i = 0, 1, 2, ..., n

que so polinmios de grau n, temos:


n

pn ( x) i ( x) f ( xi ) .
i 0

Pela definio de i ( x) , podemos observar que:


0 , i j
i ( x j ) i , j
1 , i j
ou seja, x0, x1, x2, ..., xi-1, xi+1, ..., xn so as n razes de i ( x) .
n

Se f(x) = xk, ento x k i ( x) xik para k = 0, 1, 2, ..., n, pois a aproximao exata


i 0

se f(x) for um polinmio de grau n. Desta relao resulta para k = 0:


n

( x) 1 .
i 0

Definindo o polinmio nodal, que tem como razes x = xi, i = 0, 1, 2, ..., n, logo de
grau n + 1:

10

3. INTERPOLAO POLINOMIAL

Pn 1 ( x) an 1 ( x x0 )( x x1 ) ( x xn 1 )( x xn ) an 1 ( x x j )
j 0

e chamando de qi ( x) ( x x j ) o numerador de i ( x) , i = 0, 1, 2, ..., n, resulta que:


j 0
j i

i ( x)

qi ( x)
qi ( xi )

e an 1 qi ( x)

Aplicando o limite para x xi na segunda expresso: lim


x xi

an 1 qi ( xi ) Pn1 ( xi ) e

i ( x)

Pn 1 ( x)
.
x xi

Pn 1 ( x)
Pn1 ( xi ) , temos:
x xi

Pn 1 ( x)
, i = 0, 1, 2, ..., n.
( x xi ) Pn1 ( xi )

Sabendo que f(x) = pn(x) + Rn(x) e que Rn(x) deve se anular em xi, i = 0, 1, 2, ..., n,
ento Rn(x) = Pn+1(x) G(x), que procedendo de maneira anloga seo anterior, a funo:
Q(t ) f (t ) pn (t ) Pn 1 (t ) G ( x)
deve se anular em t = xi, i = 0, 1, 2, ..., n e em t = x, ou seja, em no mnimo n + 2 vezes dentro
do intervalo [x0, xn]. Portanto, Q(n+1)(t) deve se anular em pelo menos um ponto neste
intervalo, t = :

Q ( n 1) () 0 f ( n 1) () pn( n 1) () Pn(n11) () G ( x)
como pn( n 1) () 0 (polinmio de grau n) e Pn(n11) () an 1 (n 1)!, temos:
G ( x)

f ( n 1) ()
f ( n 1) () n
e Rn ( x)
( x xi )
an 1 (n 1)!
(n 1)! i 0

com [x0, xn].

Exemplo: obter o polinmio interpolador de Lagrange de grau 2 para os seguintes dados:


i

xi

yi = f(xi)

0
1
2

0
1
3

-5
1
25

0 ( x)

( x x1 )( x x2 )
( x 1)( x 3) x 2 4 x 3

( x0 x1 )( x0 x2 ) (0 1)(0 3)
3

1 ( x)

( x x0 )( x x2 ) ( x 0)( x 3) x 2 3 x

( x1 x0 )( x1 x2 ) (1 0)(1 3)
2

2 ( x)

( x x0 )( x x1 )
( x 0)( x 1) x 2 x

( x2 x0 )( x2 x1 ) (3 0)(3 1)
6

3.3 ANLISE DE ERROS

11

p2 ( x) i ( x) f ( xi ) 5 0 ( x) 1 ( x) 25 2 ( x) 2 x 2 4 x 5
i 0

Comparando com as diferenas divididas de Newton, a interpolao de Lagrange tem


como desvantagens a sua dificuldade em obter uma estimativa do erro e a necessidade de
reconstruir todos os interpoladores de Lagrange com a adio de novos pontos. Ou seja, no
um mtodo adequado quando o grau do polinmio no conhecido a priori. Alm disto,
demanda uma quantidade maior de clculos quando vrias interpolaes precisam ser obtidas
com o mesmo conjunto de pontos nodais. Uma maneira de construir os polinmios de
Lagrange de maneira recursiva para a incluso gradual de novos pontos at uma preciso
desejada atravs do uso do mtodo de Neville (no abordado aqui, mas pode ser encontrado
em Burden e Faires, 2003).
Algoritmo: Interpolao polinomial de Lagrange
Dados n+1 pontos {xi, yi}, deseja-se interpolar a funo em x = x*
Para i = 0, 1, 2, ..., n, faa
pi 1
Para j = 0, 1, 2, ..., n, faa
x* x j
Se i j: pi
xi x j

pi

y* 0

Para i = 0, 1, 2, ..., n, faa


y* y* + pi yi

Ao final do algoritmo y* contm o valor interpolado de f(x) em x = x*.

3.3 Anlise de erros


Ao aproximarmos uma funo f(x) pelo polinmio de Taylor de grau n, vimos que o
erro de truncamento da aproximao dado por:
f ( n 1) [( x)]
Rn ( x)
( x x0 ) n 1 ,
(n 1)!

com [x0, x].

Contudo, como o valor de f ( n 1) [( x)] no pode, geralmente, ser calculado por no


conhecermos a funo (x), podemos apenas estabelecer um limite superior para o erro da
aproximao, tomando o valor mximo de | f ( n 1) ( x) | no intervalo [a, b].
No caso da interpolao polinomial, vimos que o erro da aproximao dado por:
Rn ( x)

f ( n 1) [( x)] n
( x xi )
(n 1)! i 0

com [x0, xn]

12

3. INTERPOLAO POLINOMIAL

e os mesmos comentrios acima se aplicam, com o agravante que neste caso, geralmente, a
funo f(x) no conhecida para podermos encontrar o valor mximo de | f ( n 1) ( x) | . Neste
caso podemos recorrer ao uso da tabela de diferenas divididas de Newton para encontrarmos
uma estimativa para o erro usando a relao:
f ( n 1) [( x)]
f [ x, xn , xn 1 , , x2 , x1 , x0 ]
(n 1)!

e um valor adicional de f(x) em um novo ponto xn+1.


Naturalmente, se f(x) for conhecida, ento Rn(x) tambm pode ser obtida diretamente
de:
Rn(x) = f(x) pn(x)

Neste caso, uma informao til o erro mdio quadrtico (MSE, Mean Square Error) da
aproximao no intervalo [a, b]:
b

MSE

1
Rn2 ( x)dx
b a a

ou normalizando x para o intervalo [0, 1]:


y

xa
ba

dx = (b a) dy ,

resulta em:

MSE Rn2 ( y )dy


0

que pode ser usado para determinar a melhor aproximao para f(x) dentre vrias alternativas.
1
usando interpolaes
1 25 x 2
polinomiais de 2, 3 e 10 graus com pontos igualmente espaados no intervalo [-1, 1], os
grficos dos erros da interpolao e calcular o MSE.
Exemplo: construir os grficos das aproximaes de f ( x)

3.3 ANLISE DE ERROS

Interpolao

13

Comparao da
Funo Real com a
Interpolada

Interpolao
Polinomial de
Segundo Grau com
Pontos Igualmente
Espaados
Interpolao
Polinomial de
Terceiro Grau com
Pontos Igualmente
Espaados
Interpolao
Polinomial de
Dcimo Grau com
Pontos Igualmente
Espaados
Interpolao
Polinomial de
Dcimo Grau como
Pontos as Razes do
11o Polinmio de
Chebyshev

Erro da Interpolao

0.5

0.5

1
Rn ( x) 2 dx

2 1
0,207

Yk
Zk

0.038

zk

0,0595

Yk
0.5

Zk

0.038

1.846
Yk
Zk
0.255

zk

zk

3,2310-3

0,337

2
1
1

0.5

Yk

Zk

5.32710

0.5

zk

Neste exemplo foram usados pontos igualmente espaados para construir os


polinmios interpoladores. Porm, possvel determinar os pontos nodais que geram um
polinmio interpolador com o menor resduo possvel entre polinmios de mesmo grau. Para
determinar estes pontos nodais timos, partimos da expresso do erro:
Rn ( x)

f ( n 1) [( x)] n
f ( n 1) [( x)]
x
x
Pn 1 ( x)
(

i
(n 1)! i 0
(n 1)!

onde Pn+1(x) o polinmio nodal com an+1 = 1. Reescrevendo Pn+1(x) na forma:


n

Pn 1 ( x) x n 1 ci xi
i 0

os n+1 coeficientes ci podem ser determinados de maneira a minimizar o MSE:


c arg min MSE (c )
c0 ,c1 ,..., cn

sendo
2

f ( n 1) [( x; c)] n 1 n

MSE (c ) R ( x; c )dx
x ci xi dx

(n 1)!
i 0

0
0
1

2
n

Aplicando o teorema do valor mdio da integral:

14

3. INTERPOLAO POLINOMIAL

f ( n 1) [(c)]
MSE (c )

(n 1)!

2 1

n 1 n

ci xi dx
0 x
i 0

Como o mnimo do MSE(c) ocorre quando c MSE 0 , temos:


1
f ( n 1) [(c)]
f ( n 1) [(c)] df ( n 1) () (c)
MSE (c )
2
P
x
dx
2

(
)
2

n 1
d
[(n 1)!]2
ck
ck 0
(n 1)!

2 1

x P
k

n 1

( x)dx 0 ,

k = 0, 1, ..., n
Se considerarmos independente de c [vlido quando f(n+1)(x) for constante], ento,
1

x P
k

n 1

( x)dx 0 , k = 0, 1, 2, ..., n

O que permite concluir que Pn+1(x) um polinmio ortogonal no intervalo [0, 1] em relao
funo peso w(x) = 1. O polinmio que satisfaz essa condio de ortogonalidade o
polinmio de Jacobi, Pn(1,) ( x) , com = 0 e = 0. Portanto, uma boa aproximao para os
pontos nodais que minimizam o MSE so as razes do polinmio de Jacobi Pn(0,0)
1 ( x ) . Se o
intervalo utilizado fosse [-1, 1], ento teramos o polinmio de Legendre.

3.4 Critrio de minimizao do erro mximo


At o momento utilizamos as condies:

f(xi) = pn(xi) , i = 0, 1, 2, ..., n


para determinarmos os coeficientes de pn(x). Outro critrio que pode ser utilizado a
minimizao do erro absoluto mximo da aproximao nos pontos dados:
min max f ( xi ) pn ( xi )

c0 ,c1 ,,cn

ou para o caso de f(x) ser conhecida:


min max f ( x) pn ( x)

c0 ,c1 ,,cn a x b

Este critrio conhecido como princpio minimax de Chebyshev e o polinmio obtido


chamado de polinmio timo ou minimax.
Normalizando z [a, b] para o intervalo [-1, 1]:

2z ba
ba
n

possvel observar que os monmios 1, x, x2, ..., xn de pn ( x) ci xi possuem magnitude


i 0

mxima em x = 1 e mnima em x = 0, no havendo uma distribuio uniforme dos erros.


Logo, se for possvel encontrar um polinmio que distribua os erros de forma mais uniforme,
a minimizao do erro mximo resultar na melhor aproximao possvel. Os polinmios que
apresentam esta propriedade so os polinmios de Chebyshev:

3.4 CRITRIO DE MINIMIZAO DO ERRO MXIMO

15

T0(x) = 1
T1(x) = x
T2(x) = 2x21
T3(x) = 4x33x
T4(x) = 8x48x2+1
T5(x) = 16x520x3+5x
T6(x) = 32x648x4+18x2-1
T7(x) = 64x7112x5+56x37x
T8(x) = 128x8256x6+160x4-32x2+1
T9(x) = 256x9576x7+432x5120x3+9x
Frmula de Recorrncia:

Tn 1 ( x) 2 x Tn ( x) Tn 1 ( x) para n 1, 2,
com T0 ( x) 1 e T1 ( x) x
Grfico dos 5 primeiros polinmios de Chebyshev
1

T 0,x
T 1,x
T 2,x
T 3,x
T 4,x

0.5

i
i

i
0.5
i

0.5

0
x

0.5

Os polinmios de Chebyshev so ortogonais em x [-1, 1] com respeito a funo


1
peso w( x)
, ou seja:
1 x2

0,
nm

T ( x)T ( x)
2
1 n 1 mx 2 dx T0 ( x) , n m 0

2
Tn ( x) , n m 0
2

16

3. INTERPOLAO POLINOMIAL

Estes polinmios originaram das funes trigonomtricas cos(), cos(2), cos(3), ..., cos(n)
que distribuem seus mximos e mnimos de maneira uniforme no intervalo [0, ]. Ao aplicar a
mudana de varivel:

x = cos()

x [-1, 1]

e a propriedade: cos(n) = 2 cos() cos[(n1)] cos[(n2)], resulta nos polinmios de


Chebyshev.
Pela condio de ortogonalidade, os coeficientes da aproximao:
n

f ( x) ai Ti ( x)
i 0

2 f ( x)Tk ( x)
1
f ( x)
podem ser determinados por: a0
dx , k = 1, 2, ..., n.
dx e ak
2
1 1 x
1 1 x 2

dx

1
2
Como d
, ento a0 f (cos )d e ak f (cos ) cos(k ) d , k = 1, 2, ..., n.
2
0
0
1 x

As n razes de Tn(x) so reais (caracterstica de um polinmio ortogonal), ocorrem no


intervalo [-1, 1] e so dadas por:
(2k 1)
rk cos
, k = 1, 2, ..., n.
2n
Usando as n+1 razes de Tn+1(x) como pontos nodais da interpolao de Lagrange, a
aproximao da funo tambm pode ser realizada por:
n

f ( x) pn ( x) i ( x) f ( xi ) , com xi = ri+1.
i 0

Representando os monmios xk por: x k ai Ti ( x) , possvel construir a tabela:


i 0

Potncias de x em funo dos polinmios de Chebyshev:


1 = T0(x)
x = T1(x)
x2 = [T2(x)+T0(x)]/2
x3 = [T3(x)+3T1(x)]/4
x4 = [T4(x)+4T2(x)+3T0(x)]/8
x5 = [T5(x)+5T3(x)+10T1(x)]/16
x6 = [T6(x)+6T4(x)+15T2(x)+10T0(x)]/32
x7 = [T7(x)+7T5(x)+21T3(x)+35T1(x)]/64
x8 = [T8(x)+8T6(x)+28T4(x)+56T2(x)+35T0(x)]/128
x9 = [T9(x)+9T7(x)+36T5(x)+84T3(x)+126T1(x)]/256

3.5 TELESCOPAGEM DE SRIES

17

que tem utilidade na telescopagem de sries.


Normalizando os polinmios de Chebyshev de tal forma que o coeficiente de maior
grau seja igual 1, obtm-se os polinmios de Chebyshev mnicos:
Tn ( x)

Tn ( x)
2n 1

Que possui a propriedade de um polinmio miminax:


1
max Tn ( x) max Pn ( x)
x[ 1,1]
2n 1 x[ 1,1]

Pn ( x)

E se max Pn ( x) max Tn ( x) , ento Pn ( x) Tn ( x) .


x[ 1,1]

x[ 1,1]

3.5 Telescopagem de sries


A telescopagem de sries de potncias ou economia de Chebyshev consiste em
expressar os monmios da srie em termos dos polinmios de Chebyshev, coletar os
coeficientes de cada polinmio Ti(x) e truncar a srie nos monmios de Chebyshev de alta
ordem sabendo que seu coeficiente representa o erro mximo da aproximao, pois |Ti(x)| 1.
A srie truncada pode ento ser re-expressa em termos dos monmios de x. Este procedimento
equivalente a fazer sucessivas redues de grau do polinmio at a preciso desejada usando
o polinmio Chebyshev mnico:
pn 1 ( x) pn ( x) an Tn ( x) , com pn ( x) pn 1 ( x) an Tn ( x)

an
2n 1

onde an o coeficiente de xn de pn(x).


Exemplo: reduzir o grau do seguinte polinmio que aproxima a funo f(x) = ex:
x 2 x3 x 4
p4 ( x) 1 x
ex
2 6 24

x [-1, 1]

Mantendo um erro mximo inferior a 0,05.


O erro da aproximao por p4(x) : R4 ( x)

e
f (5) () x5
R4 ( x) 0, 023
5!
5!

Reduzindo o grau da aproximao para p3(x):


Caso 1) Sem telescopagem: p3 ( x) 1 x
R3 ( x)

x 2 x3
, temos:
2 6

e
f (4) () x 4
R3 ( x) 0,113 , que est acima de 0,05.
4!
4!

Caso 2) Com telescopagem:

18

3. INTERPOLAO POLINOMIAL

p4 ( x) 1 T1 ( x)

T2 ( x) T0 ( x) T3 ( x) 3T1 ( x) T4 ( x) 4 T2 ( x) 3T0 ( x)

22
46
8 24

Que aps coletar os termos comuns de Ti(x), resulta em:


T ( x) T4 ( x)
1 1
1
1 1
p4 ( x) 1 T0 ( x) 1 T1 ( x) T2 ( x) 3

24
192
4 64
8
4 48
Truncando no termo de grau 3:
p3 ( x) 1

T ( x)
17
9
13
, o erro entre as duas aproximaes :
T0 ( x) T1 ( x) T2 ( x) 3
64
8
48
24

p4 ( x) p3 ( x)

T4 ( x)
1

0, 0052
192
192

Portanto, o erro mximo ao aproximar f(x) por p3(x) : 0,023 + 0,0052 = 0,0282 < 0,05.
Reescrevendo o polinmio em termos das potncias de x:
p3 ( x) 1

17
9
13
4 x 3 3x 191
13 2 x 3
1 x (2 x 2 1)

x
x
64
8
48
24
192
24
6

com R3 ( x) 0, 0282 .
Ou de maneira similar: p3 ( x) p4 ( x) a4 T4 ( x) , isto :
p3 ( x) 1 x

x 2 x3 x 4 1 4
1

x x 2 , pois a4 = 1/24, que aps rearranjo dos termos
2 6 24 24
8

resulta em:
p3 ( x)

191
13 2 x 3
x
x .
192
24
6

Reduzindo mais um grau na aproximao: p2 ( x) p3 ( x) a3 T3 ( x) , temos:


p2 ( x )

191
13 2 x 3 1 3 3
x
x x x , levando a:
192
24
6 6
4

p2 ( x)

191 9
13 2
T ( x)
1
x
x , com p3 ( x) p2 ( x) 3

0, 042 .
192 8
24
6
64

Portanto, o erro mximo ao aproximar f(x) por p2(x) : 0,0282 + 0,042 = 0,0702 > 0,05.

3.5 TELESCOPAGEM DE SRIES

19

20

3. INTERPOLAO POLINOMIAL

3.5 TELESCOPAGEM DE SRIES

21

22

3. INTERPOLAO POLINOMIAL

EQE-358 MTODOS NUMRICOS EM ENGENHARIA QUMICA


PROFS. EVARISTO E ARGIMIRO

Nas figuras a seguir so comparados os valores dos polinmios nodais com pontos igualmente espaados com os polinmios nodais construdos a
T x
1
partir do polinmio de Chebyshev normalizados [ tn x n n 1 para n 1 ]. Note que: tn x n 1 para n 1 .
2
2

24

EQE-358 MTODOS NUMRICOS EM ENGENHARIA QUMICA


PROFS. EVARISTO E ARGIMIRO

Lista de exerccios
1. Busque uma expresso de segundo grau e outra de terceiro grau que melhor aproximam a
funo x4 no intervalo 2 x 8. Analise e discuta seus resultados confrontado-os
graficamente.
2. Aproxime a funo ex no intervalo: 0 x +2 por um polinmio de menor grau em x, em
que se assegura que o mdulo do erro seja menor do que 10-2.
3. Hougen & Watson sugerem a expresso emprica abaixo para o clculo do calor especfico
3

molar do gs nitrognio: C p 6 ,3 1,82 10 T 0 ,345 106 T 2 onde: Cp: cal/gmol/K e


T: Kelvin. Na faixa de 300 a 2100 K, o erro mximo do calor especfico calculado por esta
expresso de 1,2 %.
a) determine a aproximao linear de CP que minimiza o mximo do erro adicional na
faixa de 1000 a 2000 K;
b) Calcule o erro percentual mximo da aproximao proposta em a).
4. A variao do coeficiente de expanso trmica do alumnio na faixa de 0 a 100o C dada
por:
k T 0 , 22 104 T 0 , 009 106 T 2 com T : oC .

a) aproxime k(T) por uma constante, na mesma faixa de 0 a 100o C, de modo que o valor
do erro mximo seja mnimo;
100

1
k (T ) dT e sua mdia aritmtica (na mesma
b) Calcule o valor mdio de k(T) k

100 0

faixa de temperatura) e compare e discuta todos estes valores sugerindo que valor o mais
adequado!
5. Nas Tabelas abaixo, apresentam-se os valores da condutividade trmica do CO2 e da
viscosidade do etileno glicol lquido a vrias temperaturas:
T
( F)

k
(BTU/hr/ft/ o F)

32
212
392
572

0,0085
0,0133
0,0181
0,0228

T
( F)
o

(lb/ft/hr)

0
242,00
50
82,10
100
30,50
150
12,60
200
5,57
Determine, em cada caso, o polinmio interpolador de menor grau possvel que assegure um
erro relativo inferior a 1,00 % na faixa tabelada de T.

26

3. INTERPOLAO POLINOMIAL

Observao: a dependncia polinomial de com T mais adequadamente expressa por


ln().
6. A tabela abaixo mostra a dependncia da presso parcial do vapor de amnia com a
temperatura a diferentes concentraes:
Concentrao percentual molal da amnia
Temperatura
(o F)
60
80
100
140
180
220
250

10

0,26
0,51
0,95
2,89
7,51
17,19
29,83

1,42
2,43
4,05
9,98
21,65
42,47
66,67

20

25

30

35

3,51
5,85
9,34
21,49
44,02
81,91
124,08

5,55
9,06
14,22
31,54
62,68
113,81
169,48

8,65
13,86
21,32
45,73
88,17
156,41
229,62

13,22
20,61
31,16
64,78
121,68
211,24
305,60

por interpolao linear nas duas variveis independentes [temperatura e concentrao] calcule
as presses parciais da amnia nos seguintes casos:
T [o C]
Concentrao
Molal [%]

126,5

126,5

126,5

60,0

237,5

237,5

28,8

6,7

25,0

0,00

17,6

35,0

Você também pode gostar