MAP Segundo exercício programa Splines cúbicos

Documentos relacionados
Interpolação polinomial

Testes Formativos de Computação Numérica e Simbólica

Spline cúbica. Clarimar J. Coelho. November 8, 2013

CCI-22 FORMALIZAÇÃO CCI-22 MODOS DE SE OBTER P N (X) Prof. Paulo André CCI - 22 MATEMÁTICA COMPUTACIONAL INTERPOLAÇÃO

Métodos Numéricos Interpolação / Aproximação. Renato S. Silva, Regina C. Almeida

Interpolação Polinomial. Ana Paula

A. Equações não lineares

Modelagem Computacional. Parte 2 2

Cálculo Numérico - Splines

étodos uméricos INTERPOLAÇÃO, EXTRAPOLAÇÃO, APROXIMAÇÃO E AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno

Cap. 4- Interpolação Numérica Definições. Censos de BH. Qual o número de habitantes na cidade de Belo Horizonte em 1975?

Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

Computação Gráfica - 10

MAP CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre Interpolação e Integração. φ(x k ) ψ(x k ).

x exp( t 2 )dt f(x) =

Lista de exercícios de MAT / I

EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO

Interpolação polinomial: Polinômio de Lagrange

Introdução aos Métodos Numéricos

Interpolação polinomial

Exercícios de Matemática Computacional -Cap. 6 Interpolação e aproximação polinomial

Cálculo Numérico. Resumo e Exercícios P1

Modelagem Computacional. Parte 8 2

Capı tulo 5: Integrac a o Nume rica

3.6 Erro de truncamento da interp. polinomial.

Interpolaça o Polinomial

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Autores: Interpolação por Spline Cúbica e Método de Integração de Simpson para Cálculo de Campo Magnético PLANO BÁSICO: MÉTODOS NUMÉRICOS

INTERPOLAÇÃO POR INTERPOLAÇÃO SPLINE INTERPOLAÇÃO SPLINE INTERPOLAÇÃO SPLINE INTERPOLAÇÃO SPLINE 1/12/2008

étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

étodos uméricos SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIOAS Prof. Erivelton Geraldo Nepomuceno

Lista de exercícios de MAT / II

UNIVERSIDADE FEDERAL DO ABC

MAP CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre o Método dos Mínimos Quadrados

Curvas e Superfícies

Métodos Numéricos - Notas de Aula

UNIVERSIDADE FEDERAL DE PERNAMBUCO Lista de Exercícios / Cálculo Numérico 1ª Unidade

Capítulo 5 - Interpolação Polinomial

Área e Teorema Fundamental do Cálculo

1. Converta os seguintes números decimais para sua forma binária: (a) 22 (b) 255 (c) 256 (d) 0.11 (e) (f)

Lucia Catabriga e Andréa Maria Pedrosa Valli

Lista de Exercícios de Métodos Numéricos

Método de Quadrados Mínimos: Caso discreto

Notas de Aula de Cálculo Numérico

Aula 3 11/12/2013. Integração Numérica

A = Utilizando ponto flutuante com 2 algarismos significativos, 2 = 0, x (0)

Exame (1º Teste) de Análise Numérica (LMAC, MEIC, MMA) Instituto Superior Técnico, 11 de Janeiro de 2016, 15h00-16h15 (1º Teste)

Cálculo Numérico. Santos Alberto Enriquez-Remigio FAMAT-UFU 2015

Resolução do Exame Tipo

étodos uméricos INTEGRAÇÃO NUMÉRICA Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

6 MÉTODO DE ELEMENTOS FINITOS - MEF

PROVAS Ciência da Computação. 2 a Prova: 13/02/2014 (Quinta) Reavaliação: 20/02/2014 (Quinta)

UNIVERSIDADE FEDERAL DO ABC

Lista 1 de Exercícios de MAT Cálculo Numérico /II

Comprimento de Arco. 1.Introdução 2.Resolução de Exemplos 3.Função Comprimento de Arco 4.Resolução de Exemplo

DCC008 - Cálculo Numérico

CCI-22 LISTA DE EXERCÍCIOS

étodos uméricos RESOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS (Continuação) Prof. Erivelton Geraldo Nepomuceno

Curvas e Superfícies. Profª Soraia Raupp Musse

MÉTODOS NUMÉRICOS. ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

étodos uméricos ZEROS DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Matemática Computacional - 2 o ano LEMat e MEQ

Interpolação polinomial: Diferenças divididas de Newton

MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL

Interpolação polinomial: Diferenças divididas de Newton

Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

ALUNO(A): Nº TURMA: TURNO: DATA: / / COLÉGIO:

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Métodos de Runge-Kutta

Métodos tipo quadratura de Gauss-Radau

GOVERNO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO CÂMPUS JUAZEIRO/BA COLEG. DE ENG.

1 a Lista de Exercícios Prof a. Vanessa Rolnik. seguir e indique o tipo de erro quando a representação não for possível.

SME Cálculo Numérico. Lista de Exercícios: Gabarito

Transcrição:

MAP-2121 - Segundo exercício programa - 26 Splines Cúbicos Instruções gerais - Os exercícios computacionais pedidos na disciplina Cálculo Numérico têm por objetivo fundamental familiarizar o aluno com problemas práticos que requeiram técnicas numéricas em sua solução. Neste segundo programa sua tarefa será aprender e implementar um método de interpolação polinomial por partes usando splines cúbicos, além de aplicá-lo na solução de alguns problemas. Seu programa deve ser entregue no Panda até o dia 29 de novembro. Não deixe para fazê-lo no final do prazo. O programa deve ser escrito em Linguagem C e ser compilado e executado com o compilador disponível através do Panda. Caso você desenvolva seu programa em outro compilador, confira se ele também compila e executa no devcpp na versão que se encontra no Panda). Programas que não compilarem terão notas muito baixas. Ao desenvolver seu projeto você possivelmente trocará idéias com seus colegas. Esta interação é saudável e desejável, vocês estarão aprendendo mais. O seu programa deve no entanto ser desenvolvido por você individualmente, para que você realmente saiba fazêlo. Haverá controle de cópias e caso estas sejam detectadas, os envolvidos terão nota zero no programa e o caso será levado à coordenação do biênio. Esperamos sinceramente não encontrar nenhum caso deste tipo. Bom trabalho e divirta-se com sua tarefa! Splines cúbicos Em alguns problemas de interpolação com muitos pontos, o uso de interpolação polinomial leva a soluções que oscilam muito. Uma técnica muito usada nestes casos é interpolação polinomial por partes, sendo os splines cúbicos muito populares devido a boas propriedades de aproximação e permitir gerar curvas suaves a partir dos valores tabelados de uma função. Considere uma partição do intervalo [a, b] a = x < x 1 < < x n 1 < x n = b em n subintervalos [x i 1, x i ], 1 i n, e sejam y i = fx i ), i n, os valores de uma função f nos pontos da partição. Um spline cúbico interpolador é uma função Sx) tal que: a) Sx i ) = y i, i n. b) A restrição de S a cada subintervalo [x i 1, x i ], 1 i n, é um polinômio de grau menor ou igual a 3. c) S, S e S são contínuas em [a, b]. 1

O termo spline foi cunhado pelo matemático I. J. Schoenberg em conexão com alguns problemas de ajuste de dados estudados por ele. Spline é o nome em inglês de uma régua fina flexível usada para desenhar curvas suaves passando por pontos prescritos. Usando teoria da elasticidade linear, pode-se mostrar que estas curvas são aproximadamente polinômios cúbicos por partes com derivadas até ordem 2 contínuas. Construindo splines cúbicos Os splines cúbicos interpoladores podem ser carcterizados pelos valores y i da função e pelos valores m i = S x i ) da derivada segunda de S nos pontos da partição. Para isso, denote por S i x) = Sx), x [x i 1, x i ] as restrições de S aos intervalos [x i 1, x i ] e por = x i x i 1 os comprimentos destes intervalos, 1 i n. Então, S i x) = x i x m i 1 + x x i 1 m i. Integrando a expressão acima duas vezes e usando a propriedade de interpolação obtemos S i x) = x i x y i 1 + x x i 1 y i + 1) h {[ i xi ) ] [ 3 x i x x ) ] } 3 i x xi 1 m i 1 + x x i 1 m i 6 onde a fórmula é válida para x [x i 1, x i ]. Note que ela já incorpora as condições S e S contínuas por que?). Para determinarmos as incógnitas m i, usamos a continuidade de S, ou seja, S i x i) = S i+1 x i), 1 i n 1. Usando estas relações em 1) e após uma manipulação das expressões chegamos ao seguinte sistema de equações + +1 m i 1 + 2m i + +1 + +1 m i+1 = d i 2) para 1 i n 1, onde 6 yi+1 y i d i = + +1 +1 y ) i y i 1. 3) Note que 2) é um sistema linear com n 1 equações e n + 1 incógnitas. Pode-se mostrar que a matriz do sistema tem posto máximo, e portanto há uma infinidade de splines cúbicos interpoladores. Para caracterizar um único spline, é necessário impor condições adicionais. Veremos a seguir algumas possibilidades. 2

Caracterizações de splines cúbicos Veremos nesta seção algumas possibilidades para se obter um único spline cúbico interpolador. a) Spline cúbico natural: é obtido impondo-se que as derivadas segundas de S em x e x n sejam nulas, isto é, m = m n =. Este é o spline gerado pela régua flexível. b) Spline cúbico completo: se conhecermos os valores y = f x ) e y n = f x n ) da derivada de f nos extremos do intervalo, acrescentamos duas equações ao sistema 2) a partir de S 1x ) = y e S nx n ) = y n. Verifique como exercício quais são estas equações. c) Condição not a knot : Este spline, proposto por Carl de Boor, é obtido impondo-se que nos intervalos [x, x 2 ] e [x n 2, x n ], S seja um polinômio de grau menor ou igual a 3. É como se desligássemos os nós x 1 e x n 1. Estas condições são equivalentes a S 1 x 1 ) = S 2 x 1 ) e S n 1x n 1 ) = S n x n 1 ), gerando o seguinte sistema n 1) n 1): a primeira equação em 2) é modificada para 2 + h ) 1 m 1 + 1 h ) 1 m 2 = d 1, a equação n 1 é modificada para 1 h ) n m n 2 + 2 + h n ) m n 1 = d n 1 e para 2 i n 2 usamos as mesmas equações de 2). calculados m 1,..., m n 1, obtemos m e m n por Uma vez m = h 1 + m 1 h 1 m 2 ; m n = + h n m n 1 h n m n 2. d) Spline cúbico periódico: quando f é periódica de período b a, temos y = y n. Podemos então obter o spline cúbico periódico impondo-se m = m n e S x ) = S x n ). As equações para m 1,..., m n ficam iguais a: i = 1: use m = m n para obter 2m 1 + h 1 + m 2 + h 1 h 1 + m n = d 1. 2 i n 1: use as equações dadas por 2). i = n: Use S nx n ) = S 1x ) para obter h 1 m 1 + h n m n 1 + 2m n = d n h 1 + h n h 1 + h n onde a expressão 3) com i = n deve ser avaliada usando-se h n+1 = h 1 e y n+1 = y 1. 3

Nos casos a), b) e c), o sistema linear resultante é tridiagonal e pode ser resolvido pelo método descrito no Exercício Programa 1. No caso d), a matriz é tridiagonal periódica, e uma maneira de se resolver o sistema linear é descrita no Apêndice. Uma vez calculados os valores m i, i n, podemos calcular Sx) para qualquer x [a, b]. Determine o índice i tal que x [x i 1, x i ]. Calcule então A = x i x)/ e B = x x i 1 )/ = 1 A. De 1) temos Sx) = Ay i 1 + By i + h2 i 6 [ A 3 A ) m i 1 + B 3 B ) m i ]. Curvas bidimensionais suaves Uma aplicação de interpolação com splines cúbicos é a construção de curvas suaves no plano passando por n + 1 pontos P k com coordenadas dadas x k, y k ), k n, onde uma representação geral na forma y = fx) não é possível. Portanto, devemos usar uma representação paramétrica x = xt) y = yt), 4) onde t denota o parâmetro. Podemos assumir que os valores t, t 1,...,t n dos parâmetros correspondentes aos n + 1 pontos estão em ordem crescente de magnitude. Construimos então dois splines cúbicos que interpolam as funções tabeladas t k, x k ) e t k, y k ), k n, por meio dos quais obtemos uma representação paramétrica 4). O comprimento de arco da curva seria o parâmetro t mais apropriado. Como ele não é conhecido a priori, os valores t k para o parâmetro são usualmente escolhidos como sendo as distâncias entre pontos consecutivos: t =, t k = t k 1 + x k x k 1 ) 2 + y k y k 1 ) 2, 1 k n. Para gerar a curva entre P k 1 e P k, os splines cúbicos xt) e yt) devem ser avaliados com o parâmetro t percorrendo o intervalo [t k 1, t k ]. Tarefa Parte 1) Implemente um programa para construir o spline cúbico interpolador com a condição not a knot, dados os pontos x i e os valores y i de uma função nestes pontos, para i n. O programa deve calcular e imprimir os valores m i, i n, e o valor do spline em um ponto x especificado. Imprima também o valor de n e os valores de x i e y i. O sistema linear tridiagonal deve ser resolvido pelo método descrito no Exercício Programa 1. Teste o seu programa com o seguinte problema: Um CDB pré-fixado com investimento inicial igual a F é um depósito a prazo para T dias úteis, cujo valor de resgate é V = F 1 + y T ) T 252 onde y T é a taxa pré-fixada anualizada para um período de T dias úteis, obtida por interpolação da estrutura de taxas de juros vigentes na data de cálculo. 4

No dia 3/1/26 a estrutura de taxas de juros consistia dos seguintes valores: Dias Úteis Taxas 1 13,67% 21 13,5939296874674% 42 13,593% 63 13,4175698997828% 126 13,193493568555% 252 13,1118765655795% 54 13,316985654568% 756 13,449763373259% Calcular, nesta data, o valor de um CDB pré-fixado de 3 meses vencendo em 3/1/27 62 dias úteis ) com investimento inicial F = R$1.,. Note que o valor y T obtido da interpolação é usado para calcular V, que deverá ser impresso também. Parte 2) Implemente um programa que usa splines cúbicos periódicos para a construção de curvas fechadas no plano, dadas as coordenadas de n + 1 pontos P, P 1,...,P n, onde P n = P. O programa deve calcular e imprimir os valores t k do parâmetro, x t k ) e y t k ), k n. Imprima também o valor de n e as coordenadas dos pontos P k. Os sistemas lineares devem ser resolvidos pelo método descrito no Apêndice. Teste o seu programa com os seguintes dados: k 1 2 3 4 5 6 7 8 9 1 11 x k 25 19 13 9 5 2.2 1 3 8 13 18 25 y k 5 7.5 9.1 9.4 9 7.5 5 2.1 2 3.5 4.5 5 Para ver a curva obtida, seria necessário calcular xt), yt)) para vários valores do parâmetro t além dos valores t k, e plotar a curva formada pelos pontos com estas coordenadas. Para a entrega do programa, no entanto, imprima apenas o que foi pedido. Obs.: Faça todas as contas usando precisão dupla. Para a impressão dos resultados, use um formato reduzido, com 5 algarismos significativos. 5

Apêndice: sistemas lineares tridiagonais periódicos Considere o sistema linear b 1 x 1 + c 1 x 2 + a 1 x n = d 1 a i x i 1 + b i x i + c i x i+1 = d i, 2 i n 1 c n x 1 + a n x n 1 + b n x n = d n Sistemas lineares deste tipo aparecem na construção de splines cúbicos periódicos e em várias outras situações envolvendo periodicidade. Eles podem ser resolvidos a partir do método de eliminação de Gauss para sistemas lineares tridiagonais da seguinte forma. Denote por à a parte tridiagonal da matriz A do sistema linear: à = b 1 c 1 a 2 b 2 c 2......... a n 1 b n 1 c n 1 a n b n Então, Ax pode ser escrito na forma Ax = Ãx + x n Logo a solução de Ax = d satisfaz a 1. + x 1. c n x + x n y + x 1 z = w 5) onde y, z e w são soluções dos sistemas lineares tridiagonais Ãy = a 1,..., ) T, Ãz =,..., c n ) T e Ãw = d, respectivamente. Uma vez calculados y, z e w, obtemos x 1 e x n a partir das primeira e última componentes de 5), o que equivale a resolver o sistema 2 2 1 + z 1 )x 1 + y 1 x n = w 1 z n x 1 + 1 + y n )x n = w n Finalmente, tendo calculado x 1 e x n, obtemos de 5) x i = w i x n y i x 1 z i, 2 i n 1. Os três sistemas lineares tridiagonais são resolvidos pelo método descrito no Exercício Programa 1. 6