Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Interpolação, Notas de estudo de Cálculo

Manula de Cálculo de Interpolações

Tipologia: Notas de estudo

2011

Compartilhado em 10/05/2011

luciano-santos-22
luciano-santos-22 🇧🇷

1 documento

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Programa para o Cálculo da Interpolação de Lagrange
Clarimar José Coelho
Turma: B011
Resumo
Este trabalho apresenta os resultados obtidos com a interpolação de Lagrange. A interpolação
polinomial pode ser expressa de várias formas tais como série de potência, interpolação de
Lagrange e interpolação de Newton. Um programa para o cálculo da interpolação polinomial
empregando a fórmula de Lagrange será implementado. Os resultados obtidos serão
apresentados e discutidos.
1. Introdução
A interpolação consiste em determinar uma função, que assume valores conhecidos em
certos pontos (nós de interpolação). A classe de funções escolhida para a interpolação é a priori
arbitrária, e deve ser adequada às características que pretendidas para essa função [1].
A interpolação polinomial pode não ser adequada se os nós de interpolação não forem
escolhidos convenientemente (o que leva ao uso de nós de Chebyshev...). De um modo geral, o
conjunto das funções interpoladoras é determinado por um número finito de parâmetros (no
caso dos polinómios, são os seus coeficientes) que deverá ser igual ao número de condições
impostas (ou seja, ao número de nós), para que haja apenas uma solução. A determinação dos
parâmetros, que definem a função interpoladora, leva à resolução de um sistema linear [1,2]. O
objetivo deste trabalho é a produção um exemplo de solução e documentação de trabalho
prático para ilustrar o modelo proposto para a disciplina de estrutura de dados dos cursos de
Engenharia e Ciência da Computação da Universidade Católica de Goiás.
2. Interpolação Linear
A interpolação linear é uma linha que se ajusta a dois pontos. A interpolação linear
mostrada na Figura 1 é dada por:
)()()( bf
ab
ax
af
ab
xb
xg
+
=
onde )(af e )(bf são conhecidos como valores de )(xf em a
x
= e bx
=
respectivamente.
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Interpolação e outras Notas de estudo em PDF para Cálculo, somente na Docsity!

Programa para o Cálculo da Interpolação de Lagrange

Clarimar José Coelho Turma: B

Resumo

Este trabalho apresenta os resultados obtidos com a interpolação de Lagrange. A interpolação polinomial pode ser expressa de várias formas tais como série de potência, interpolação de Lagrange e interpolação de Newton. Um programa para o cálculo da interpolação polinomial empregando a fórmula de Lagrange será implementado. Os resultados obtidos serão apresentados e discutidos.

1. Introdução

A interpolação consiste em determinar uma função, que assume valores conhecidos em certos pontos ( nós de interpolação). A classe de funções escolhida para a interpolação é a priori arbitrária, e deve ser adequada às características que pretendidas para essa função [1]. A interpolação polinomial pode não ser adequada se os nós de interpolação não forem escolhidos convenientemente (o que leva ao uso de nós de Chebyshev...). De um modo geral, o conjunto das funções interpoladoras é determinado por um número finito de parâmetros (no caso dos polinómios, são os seus coeficientes) que deverá ser igual ao número de condições impostas (ou seja, ao número de nós), para que haja apenas uma solução. A determinação dos parâmetros, que definem a função interpoladora, leva à resolução de um sistema linear [1,2]. O objetivo deste trabalho é a produção um exemplo de solução e documentação de trabalho prático para ilustrar o modelo proposto para a disciplina de estrutura de dados dos cursos de Engenharia e Ciência da Computação da Universidade Católica de Goiás.

2. Interpolação Linear

A interpolação linear é uma linha que se ajusta a dois pontos. A interpolação linear mostrada na Figura 1 é dada por:

( ) ( ) f ( b ) b a

x a f a b a

b x g x

onde f ( a ) e f ( b ) são conhecidos como valores de f ( x ) em x = a e x = b

respectivamente.

Figura 1. Interpolação linear.

O erro de uma interpolação linear pode ser expresso da seguinte forma:

e x = ( xa )( xb ) f ''(ξ ), a <ξ< b 2

onde ξ é dependente de x em algum lugar entre a e b.

O método fundamental para encontrar uma função que passa por vários pontos de dados (ajustamento de curva) usa um polinômio. O polinômio de n −ésima ordem que passa por n + 1 pontos é único. Isso significa, sem considerar a fórmula de interpolação, que todas as interpolações ajustadas para os mesmos pontos são matematicamente idênticos [2].

Suponha que n + 1 pontos seja dado como

n

n f f f

x x x ...

0 1

0 1

onde x (^) 0 , x 1 ...são abscissas de pontos e em ordem decrescente. O espaço entre os pontos é

arbitrário. O polinômio de ordem n que passa por n + 1 pontos pode ser escrito como uma série de potência como

n g ( x )= a + ax + a x +...+ an x 2 0 1 2

onde a (^) i são coeficientes indeterminados. O ajustamento da série de potência para os n + 1

pontos gera o sistema de equações lineares

A fórmula de interpolação de Lagrange de ordem n derivada dessa forma pode ser escrita como

n n n n n

n

n

n

i i i n

n

f x x x x x x

x x x x x x

f x x x x x x

x x x x x x

f x x x x x x

x x x x x x g x

0 1 1

0 1 1

1 1 0 1 2

1 2

0 0 1

1 2

− − − −

a Equação 2 é equivalente a série de potência determinada pela solução do sistema de equações lineares da Equação 1 [1].

Exemplo

a) Escreva a fórmula de interpolação de Lagrange que ajusta os três pontos para a densidade do sódio para três temperaturas da Tabela 1

Tabela 1. Densidade de sódio para três temperaturas.

i

Tenperatura

T i

Desidade

ρ i (^0 94 0) C 929 kg / m^3 1 205 902 2 371 860

Solução: Como o número de pontos são três, a ordem da fórmula de Lagrange é n = 2 .A interpolação de Lagrange pode ser escrita como:

T T

T T

T T

gT

b) Encontrar a densidade para T = 2510 C usando a interpolação de Lagrange

Solução: Fazendo T = 251 na Equação 3, obtém-se

g ( 251 )= 890. 5 kg / m^3

2.2. Solução da Interpolação de Lagrange

Para escrever um programa será necessário pequeno número de linhas. Observe na Equação 2, que o primeiro termo é f (^) 0 vezes o produto de

( i )

i x x

x x

0

para todo i exceto para i = 0 .O segundo termo é f (^) 1 vezes o produto de

( i )

i x x

x x

1

para todo i = 1. Todos os outros termos tem o mesmo padrão. A Equação 2, pode ser programada como a seguir:

g=0;

for (i=0;i<=n;i++)

z=1.0;

for (j=0;j<=n;j++)

5. Conclusão

A fórmula de interpolação de Lagrange foi apresentada. Um algoritmo em alto nível mostrou como a interpolação de Lagrange foi resolvida. Finalmente, os resultados obtidos para as instâncias i da Tabela 2 foram apresentados e discutidos.

6. Bibliografia [1] Mathworks, MATLAB Versão do Estudante , Makron Books, São Paulo, 1997. [2] Nakamura, S. Applied Numerical Methods in C , PTR Prentice Hall, New Jersey, 1992. 7. Anexo A - Programa INTERP.C

O programa a seguir avalia a fórmula de interpolação de Lagrange

=

n

i

g x i x fi 0

( ) η( )

com

n

i j

j (^) i j

j i (^) x x

x x x 0

η( )

para um valor de x dado como entrada, onde ( x (^) i fi ), i = 0. 1. 2 ,..., n são os pontos dados na

tabela de entrada, n + 1 é o total de pontos de entrada.

#include <stdio.h> #include <math.h> #define TRUE 1 /* n: número do último ponto (n+1 = número de dados de entrada) f(i), x[i]: dados de entrada dados (i começa em 0) yans: resultado final xa: x valor de entrada para o qual a interpolação é calculada / main() { int i, j, kk; float xa, yans, z; static n = 3; / n+1 é o número de pontos de entrada / /As próximas duas linhas defina os pontos para ser usados na interpoloção */ static float x[11]={1., 2. , 3., 4.}; static float f[11]={.671, .620, .567, .512}; printf ("Interpolacao de Lagrange\n"); printf("Dados utilizados\n"); printf("i x(i) f(i) \n" ); for (i=0; i<=n; i++) printf("%d %g %g \n", i, x[i], f[i] ); while (TRUE)

printf( "\nEntrada x? "); scanf("%f", &xa ); if (!(x[0]<= xa && xa <= x[n]) ) printf("(Atencao: x é uma extrapolacao do intervalo.)\n" ); for (i =0; i<=n; i++) { z=1.0; for (j=0;j<=n;j++) { if (i != j) z=z(xa - x[j]) / (x[i] - x[j]); } yans= yans + zf[i]; } printf("Resposta: g( %g) = %g \n", xa, yans ); printf("\nDigite 1 para continuar, 0 para parar: "); scanf("%d", &kk); if (kk !=1) exit(0); } }