Buscar

aula 14

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade de Brasília – UnB 
Faculdade UnB Gama – FGA 
Métodos Numéricos para Engenharia 
Prof. Ricardo Fragelli 
 
 
 
AULA 14 
Interpolação – Splines 
 
 
 
1. Interpolação por Splines 
 
Já vimos a possibilidade de ajustar uma curva por meio de polinômios, em especial, o polinômio de 
Lagrange. Utilizamos para deduzir a regra 1/3 de Simpson, contudo, em alguns casos temos apenas 
algumas coordenadas de alguma função ݂ሺݔሻ e desejamos fazer uma aproximação para um valor 
intermediário como, por exemplo, no caso seguinte: 
 
 
x 0,5 0,7 0,9 1,0 
f(x) 3,5 12,9 11,6 12,5 
 
 
Qual seria o valor de ݂ሺͲ,͸ሻ ou ݂ሺͲ,9͵ሻ sem conhecer a função ݂? 
 
Para isso, teríamos que fazer alguma aproximação para a função ݂com base nas coordenadas ሺݔ, ݕሻ, 
chamados de nós da interpolação, e uma das possibilidades e a utilização de polinômios. Contudo, em 
alguns casos, o polinômio pode não ser a melhor opção causando um problema conhecido como 
instabilidade numérica (figura 1). 
 
 
 
Figura 1 – Aproximação com um polinômio de grau elevado. 
 
 
Uma possibilidade interessante para tratar esse problema são as splines, nome dado em consideração 
a uma régua elástica utilizada em projetos de engenharia e computação gráfica (figura 2). 
 
 
Figura 2 – Spline utilizada para fazer uma curva entre algumas posições de controle. 
 
 
Figura 3 – Splines utilizadas para fazer o design de um automóvel. 
 
 
Em termos matemáticos, uma spline de ordem � em um intervalo [ܽ, ܾ] é uma curva �ሺݔሻ definida por 
partes que obedece aos seguintes critérios: a) passa por todos os nós da interpolação; b) é um 
polinômio de grau � entre cada dois nós da interpolação; e, c) possui derivada contínua até a ordem � − ͳ. 
 
Os dois tipos de splines mais utilizados são as lineares e as cúbicas, ou seja, com polinômios de graus 
1 e 3 entre os nós da interpolação, respectivamente. As condições (a), (b) e (c) não são suficientes 
para determinar as equações �ሺݔሻ das splines para graus maiores que 1 e, desse modo, são inseridas 
condições referentes às derivadas. Para o grau 3, temos as seguintes condições adicionais: a) spline 
cúbica natural, possui segunda derivada nula nos extremos do intervalo de interpolação, isto é, �’’ሺܽሻ = �’’ሺܾሻ = Ͳ; b) se for uma spline cúbica restrita, possui �’ሺܽሻ = ݂′ሺܽሻ e �’ሺܾሻ = ݂′ሺܾሻ. 
 
Para seguir o nosso estudo sobre as splines, baixe os arquivos splines.m e splines.fig disponíveis no 
Moodle da disciplina. É um simulador do matlab que faz a geração de uma spline linear com 5 nós de 
interpolação fornecidos pelo usuário (figura 4). Para alterar a posição dos nós, basta clicar na tela 
(figura 5). 
 
 
Figura 4 – Simulador de Splines (mostrando splines lineares). 
 
 
Figura 5 – Simulador de Splines em funcionamento (mostrando splines lineares). 
 
O objetivo é implementar o código de Splines Cúbicas Naturais e, para isso, basta modificar o código 
de geração de splines do simulador (figura 6). 
 
 
Figura 6 – Fragmento do arquivo splines.m que faz a geração das splines. 
No arquivo splines.m, os valores dos nós da interpolação estão salvos nas variáveis �ݔͳ, �ݕͳ, �ݔʹ, �ݕʹ, �ݔ͵, �ݕ͵, �ݔͶ, �ݕͶ, �ݔͷ e �ݕͷ. 
 
Para encontrar as equações de ordem 3 do tipo ݕ� = �ܽ + �ܾ ሺݔ − ݔ�ሻ + �ܿ ሺݔ − ݔ�ሻଶ + �݀ ሺݔ − ݔ�ሻଷ, basta 
fazer a seguinte resolução (cuja demonstração das equações no livro disponível no Moodle): 
 
1) Cálculo de �ܽ: �ܽ = ݕ� 
 
2) A) Cálculo de cj: Resolução do sistema (Spline Cúbico Natural, �’’ሺܽሻ = �’’ሺܾሻ = Ͳ) 
 
 
[ 
 
 
 ͳ Ͳ Ͳ … … Ͳℎ଴ ʹሺℎ଴ + ℎଵሻ ℎଵ ⋱ ⋱ ͲͲ ℎଵ ʹሺℎଵ + ℎଶሻ ℎଶ ⋱ ⋮⋮ ⋱ ⋱ ⋱ ⋱ ⋮⋮ ⋱ ⋱ ℎ�−ʹ ʹሺℎ�−ʹ + ℎ�−ͳሻ ℎ�−ͳͲ Ͳ … Ͳ Ͳ ͳ ] 
 
 
 
[ 
 
 
 ܿ଴ܿଵܿଶ⋮⋮ܿ
�] 
 
 
 
=
[ 
 
 
 Ͳℎ͵ଵ ሺܽଶ − ܽଵሻ − ℎ͵଴ ሺܽଵ − ܽ଴ሻ⋮⋮͵ℎ�−ͳ ሺܽ� − ܽ�−ͳሻ − ͵ℎ�−ʹ ሺܽ�−ͳ − ܽ�−ʹሻͲ ] 
 
 
 
 
 
 
B) Cálculo de cj: Resolução do sistema (Spline Cúbico Restrito, �’ሺܽሻ = ݂’ሺܽሻ ݁ �’ሺܾሻ = ݂’ሺܾሻ) 
 
[ 
 
 
 ʹℎͲ ℎ଴ Ͳ … … Ͳℎ଴ ʹሺℎ଴ + ℎଵሻ ℎଵ ⋱ ⋱ ͲͲ ℎଵ ʹሺℎଵ + ℎଶሻ ℎଶ ⋱ ⋮⋮ ⋱ ⋱ ⋱ ⋱ ⋮⋮ ⋱ ⋱ ℎ�−ʹ ʹሺℎ�−ʹ + ℎ�−ͳሻ ℎ�−ͳͲ Ͳ … Ͳ ℎ�−ଵ ʹℎ�−ͳ] 
 
 
 
[ 
 
 
 ܿ଴ܿଵܿଶ⋮⋮ܿ
�] 
 
 
 
=
[ 
 
 
 
 ℎ͵Ͳ ሺܽͳ − ܽͲሻ − ͵݂′ሺܽሻℎ͵ଵ ሺܽଶ − ܽଵሻ − ℎ͵଴ ሺܽଵ − ܽ଴ሻ⋮⋮͵ℎ�−ͳ ሺܽ� − ܽ�−ͳሻ − ͵ℎ�−ʹ ሺܽ�−ͳ − ܽ�−ʹሻ͵݂′ሺܾሻ − ͵ℎ�−ͳ ሺܽ� − ܽ�−ͳሻ ] 
 
 
 
 
 
 
3) Cálculo de bj e Cálculo de dj: 
 �ܾ = ͳℎ� ( �ܽ+ଵ − �ܽ) − ℎ�͵ (ʹ �ܿ + �ܿ+ଵ) 
 �݀ = �ܿ+ଵ − �ܿ͵ℎ� 
 
Um forte abraço e até a próxima!

Outros materiais