[lab]04 teoriaquadradosminimos
TRANSCRIPT
Objetivo
O objetivo do método de mínimos quadrados é encontrar um polinômio p(x) que se aproxime o máximo possível da função real, minimizando assim o quadrado da distância entre os pontos de f(x) e p(x) min || f(x) – p(x) ||2
2
Caso Contínuo
No caso contínuo, busca-se aproximar uma função f(x) através de um polinômio p(x) em um sub-espaço de valores, ou seja, em uma determinada região de valores de x
Exemplo: Determinar o polinômio de grau 2 que melhor se
ajusta a f(x) = x4-5x, x Є [-1, 1]
3
Caso Contínuo
Etapa 1: Definir o polinômio de grau 2: p(x) = a0 + a1x + a2x2
Etapa 2: Representar em forma matricial este polinômio, de forma a encontrar a solução de quadrados mínimos
4
(1, 1) (x, 1) (x2, 1)
(1, x) (x, x) (x2, x)
(1, x2) (x, x2) (x2, x2)
a0
a1
a2
=
(f, 1)
(f, x)
(f, x2)
Caso Contínuo
Etapa 3: Calcular o produto escalar das posições da matriz compostas por mais de um valor:
(1,1) = (1, x) = (x, 1) = (1, x2) = (x2, 1) = (x, x) = (x, x2) = (x2, x) =
(x2, x2) =
5
Caso Contínuo
Etapa 4: Resolver o sistema linear apresentado na matriz
Para resolver, juntamos a matriz da esquerda com a da direita, e precisamos zerar os valores das colunas de forma a obter os valores das variáveis
7
2 0 2/3
0 2/3 0
2/3 0 2/5
a0
a1
a2
=
2/5
-10/3
2/7
2 0 2/3 2/5
0 2/3 0 -10/3
2/3 0 2/5 2/7
Caso Contínuo
Etapa 5: Substituir os valores de a0, a1 e a2 em p(x) p(x) = a0 + a1x + a2x2 = -3/35 -5x + 6/7x2
8
Caso Discreto
No caso discreto não se conhece a função a ser aproximada, apenas os valores da função para x e y, por isso o método é um pouco diferente
No caso discreto iremos ajustar a função aos dados, minimizando a distância entre o polinômio obtido e os dados iniciais
Exemplo: Determinar o polinômio de grau 2 que melhor se
ajusta a:
9
X -1 0 1 2
Y 0 -1 0 7
Caso Discreto
Etapa 1: Definir o polinômio de grau 2, porém substituindo a0, a1 e a2 pelos vetores u0, u1 e u2 e em seguida definir os vetores u0, u1 e u2. p(x) = u0 + u1x + u2x2
u0 = [1, 1, 1, 1] => Equivale a potência 0 dos valores de X
u1 = [-1, 0, 1, 2] => Equivale a potência 1 dos valores de x
u2 = [1, 0, 1, 4] => Equivale a potência 2 dos valores de x
10
(u0, u0) (u1, u0) (u2, u0)
(u0, u1) (u1, u1) (u2, u1)
(u0, u2) (u1, u2) u2, u2)
a0
a1
a2
=
(y, u0)
(y, u1)
(y, u2)
Caso Discreto
Etapa 2: Calcular o produto escalar entre os vetores da matriz (u a.u b) e (y.u a)
(u0, u0) = 1 + 1 + 1 + 1 = 4
(u0, u1) = (u1, u0) = -1 + 0 + 1 + 2 = 2
(u0, u2) = (u2, u0) = 1 + 0 + 1 + 4 = 6
(u1, u1) = 1 + 0 + 1 + 4 = 6
(u1, u2) = (u2, u1) = -1 + 0 + 1 + 8 = 8
(u2, u2) = 1 + 0 + 1 + 16 = 1811
Caso Discreto
(y, u0) = 0 + (-1) + 1 + 7 = 6
(y, u1) = 0 + 0 + 0 + 14 = 14
(y, u2) = 0 + 0 + 0 + 28 = 28 Obtemos então o sistema linear:
12
4 2 6
2 6 8
6 8 18
a0
a1
a2
=
6
14
28
Caso Discreto
Etapa 3: Resolver o sistema linear Para calcular o resultado do sistema, iremos
aplicar as operações abaixo nas linhas do vetor
L3 = L3-L2-L1 => 0 0 4 8 L2 = 2*L2-L1 => 0 10 10 22
Resultando em:
13
4 2 6 6
2 6 8 14
6 8 18 28
4 2 6 6
0 10 10 22
0 0 4 8
4a0 + 2a1 + 6a2 = 6
10a1 + 10a2 = 22
4a2 = 8
Caso Discreto
Resolvendo o sistema, obtemos:
4a2 = 8 => a2 = 8/4 = 2
10a1 + 10(2) = 22 => a1 = 2/10 = 1/5
4a0 + 2(1/5) + 6(2) = 6 => a0 = (-6 - 2/5)/4 = -8/5
Resultando no polinômio:
p(x) = -8/5 + x/5 + 2x2
14
4a0 + 2a1 + 6a2 = 6
10a1 + 10a2 = 22
4a2 = 8