Você está na página 1de 4

LABORATRIO 4

Ajuste de Curvas e Interpolao



1. Aquecimento

a. Abra o console do scilab e plote um grfico sem linhas (apresentando apenas os
pontos) com os seguintes pontos.
Ano 1872 1890 1900 1920 1940 1950 1960 1970 1980 1991 1996
Populao 9.9 14.3 17.4 30.6 41.2 51.9 70.2 93.1 119.0 146.2 157.1

Populao o conjunto de dados disposto no eixo y. E ano o conjunto disposto no
eixo x.
b. Sabendo que a equao que descreve o crescimento de uma populao
=

, linearize tal funo. Crie um novo vetor Populao linearizado.



2. Ajuste Linear Simples
Faa uma funo com o nome LSimples:
Algoritmo Ajuste Linear Simples

Entrada: Vetores dos pares de pontos x e y que
definem a funo f a ser ajustada.
Sada: Coeficientes a e b da reta calculada ax+b.

n = comprimento(x)
sx = sxq = sy = sxy = 0;
para i = 1 at n
sx = sx +x(i);
sxq = sxq+x(i)*x(i);
sy = sy+y(i);
sxy = sxy+x(i)*y(i);
fim_para
a = (n*sxy-sx*sy)/(n*sxq-sx*sx);
b = (sy-sx*a)/n;

Utilize o algoritmo para determinar os coeficientes e plotar a reta que melhor se ajusta
aos pontos dados no item 1, a). Em seguida, informe a estimativa populacional em
2010.
3. Ajuste Plinomial

Faa uma funo com o nome LPolinomial.
Algoritmo Ajuste Linear Genrico

Entrada: Vetores dos pares de pontos x e y que definem o
polinmio f a ser ajustado e o grau k do polinmio.
Sada: Coeficientes ai do polinmio.

n = comprimento(x)
para i = 1 at n
para j = 1 at k+1
m(i,j) = x(i)


fim_para
b(i) = y(i)
fim_para
a=gauss(m
T
m,m
T
y) //ou a = (m
T
m)

*(m
T
b)

Utilizando o cdigo, determine uma funo do primeiro e outra do segundo grau que
aproximam os pontos dados no item 1, a) e plote tais funes. Em seguida, informe a
estimativa populacional em 2010 de cada uma. Utilizando o vetor linearizado calculado
no item 1, b) ache a curva exponencial que melhor aproxima os dados e plote tal
funo. Informe a estimativa populacional em 2010 para a funo exponencial.
4. Interpolao Algoritmo de Lagrange
Faa uma funo com o nome Lagrange
Algoritmo de Lagrange

Entrada: Vetores coluna x e y dos pares de pontos da funo a
ser interpolada e ponto p onde a funo interpoladora ser
avaliada.
Sada: valor S da funo interpoladora no ponto p.

n = comprimento(x)
S = 0;
para i = 1 at n
L = 1
para j = 1 at n
se (i~=j)
L = L*(p-x(j))/(x(i)-x(j))
fim_se
fim_para
S = S+L*y(i);
fim_para
Estime a populao em 1955 e plote a funo resultante da interpolao de Lagrange
para os dados do item 1, a) (deve-se chamar o mtodo de Lagrange para cada um dos
pontos que compem o grfico). Tal mtodo apropriado para se estimar a populao
em 2010?
5. Interpolao Algoritmo de Newton
Faa uma funo com o nome InterNewton
Algoritmo da interpolao de Newton

Entrada: Vetores coluna x e y dos pares de pontos da funo a ser
interpolada e ponto p onde a funo interpoladora ser avaliada.
Sada: Valor P da funo interpoladora no ponto p

n = comprimento(x)
Tabdiffdiv = diffdiv(x,y); //funcao diffdiv definida abaixo
P = y(1);
para i=2 ate n
M = 1
para j = 1 ate i-1
M = M*(p - x(j))
fim_para
P = P + M*Tabdiffdiv(1,i)
fim_para


Algoritmo das diferenas divididas

Entrada: Vetores coluna x e y dos pares de pontos
Sada: Tabela Tab com as diferenas divididas (de ordem zero at a
ordem mxima)

n = comprimento(x)
Tab(:,1)=y; //diferencas divididas de ordem zero
para i = 1 ate n-1
para j = 1 ate n-i
Tab(j,i+1) = (Tab(j+1,i)-Tab(j,i))/(x(j+i)-x(j));
fim_para
fim_para


Plote a funo resultante da interpolao de Newton para os dados do item 1, a).
Compare com o grfico da interpolao de Lagrange.

6. Interpolao Polinomial como Sistema de Equaes

Faa um algoritmo que construa a matriz de Vandermonde para um conjunto de pares
de pontos (x,y) e em seguida chame o mtodo de Gauss para achar o polinmio
interpolador de tais pontos. Dica: semelhante ao ajuste polinomial.

Você também pode gostar