Você está na página 1de 2

Departamento de Inform´atica - UFES 2 a Aula de Laborat´orio de Algoritmos Num´ericos I - 14/1 Aproxima¸c˜oes de Fun¸c˜oes usando o MatLab

O MatLab possui um conjunto de fun¸c˜oes que possibilita construir aproxima¸c˜oes de pontos tabelados por polinˆomios. Considere uma tabela de pontos (x i , y i ), i = 1, n, sendo que os vetores X e Y possuem n componentes, respectivamente, os pontos x i e y i , i = 1, n.

p = polyfit(X, Y, k) encontra o melhor polinˆomio p de ordem k que aproxima os pontos (X × Y ) no

sentido dos m´ınimos quadrados. Se n = k + 1, k ´e o polinˆomio interpolador de ordem k dos k + 1 pontos tabelados. No contexto do MatLab p ´e um vetor contendo os coeficientes do polinˆomio de ordem p:

p = [a k a k1

a 1 a 0 ].

polyout(p, x”) mostra o polinˆomio no formato p = a k x k + a k1 x k1 +

a 1 x + a 0 ].

X tam = linspace(x a , x b , tam), gera um vetor X tam

espa¸cadas.

com z 1 = x a , z tam = x b e tam componentes igualmente

Y tam = polyval(p, X tam ) calcula o valor do polinˆomio p em todas as componentes de X tam , gerando o vetor Y tam .

mean(Y ) calcula a m´edia das componentes do vetor Y .

norm(Y, 2) calcula a norma euclidiana do vetor Y (norm(Y, 2) = (y

2

1

+ y

2

2

+

+

2

y n )).

Aprendendo alguns comandos b´asicos para aproxima¸c˜oes de curva

1. Digite os camandos abaixo no ambiente do MatLab e observe os resultados:

X

= [1

3

6

10

20]

Y

= [2.5

7.5 15.5

24

45]

p1

= polyfit(x, y, 1)

 

polyout(p1, x”)

Xtam = linspace(X(1), X(5), 50)

plot(X, Y, , Xtam, polyval(p1, Xtam), ”)

xlabel(”X”);

ylabel(”Y ”);

legend(”P ontosDados, AjusteLinear”);

R2 = 1 norm(Y polyval(p1, X), 2) 2 /(norm(Y, 2) 2 1/5 (mean(Y ) 5) 2 )

2. Repita o mesmo procedimento para um Ajuste Quadr´atico (k = 2)

3. Repita o mesmo procedimento para um Ajuste C´ubico (k = 3)

4. Construa o polinˆomio interpolador dos dados tabelados.

5. supondo que o vetor Y represente o valor de uma fun¸c˜ao f (X), o que podemos dizer sobre a aproxima¸c˜ao

f (5) para cada ajuste obtido?

´

E poss´ıvel obter uma estimativa do valor de f (21) para esses dados?

Exerc´ıcios

1. A tabela abaixo relaciona o peso (y i ) de embri˜oes de frangos desidratados em (gramas) com a sua idade xi em (dias).

x

i

6

7

8

9

10

11

12

13

14

15

16

y

i

0.029

0.052

0.079

0.125

0.181

0.261

0.425

0.738

1.130

1.882

2.812

(a)

Obtenha os polinˆomios de quadrados m´ınimos de ordens 1 a 6 que ajustam esses dados.

(b)

Em um mesmo sistema de eixos (x, y) plotar os gr´aficos dos polinˆomios e os pontos tabelados. (IMPORTANTE: para plotar os polinˆomios considere um quantidade maior de pontos do que aqueles tabelados)

(c)

Para cada ordem calcule o coeficiente de determina¸c˜ao. Qual ´e o melhor grau para representar esses dados?

(d)

O que podemos dizer do polinˆomio interpolador de ordem 10 para essa tabela?

2. Considere a fun¸c˜ao f (x) =

1

1+25x 2 no intervalo [5, 5]. Defina uma tabela com 11 pontos.

(a)

Construa o ajuste polinomial para n = 3, 5, 10.

(b)

Plote o gr´afico da fun¸c˜ao e dos polinˆomios encontrados. (IMPORTANTE: para plotar os polinˆomios considere um quantidade maior de pontos do que aqueles tabelados)

(c)

Discuta os resultados (leve em considera¸c˜ao o fato de que para n = 10 o ajuste encontrado representa o polinˆomio interpolador da tabela constru´ıda).

Relat´orio

Organize um relat´orio com a solu¸c˜ao dos exec´ıcios acima. Envie para o email luciac@inf.ufes.br ao terminar com o t´ıtulo AN1141:EXE2:<nome1><nome2>.