Mínimos Quadrados

Ver Todos os Exercícios

Teoria

Introdução

Fala aí, tudo tranquilo? Vamos começar mais um assuntinho de cálculo numérico. Ainda na vibe das interpolações, de obter um conjunto de pontos que se aproxima do valor real de uma função e essas coisas todas que já estamos carecas de saber.

Veja bem, nós vimos até agora que muitos experimentos geram uma série de dados, esses dados costumam ser rearrumados e organizados pra criar um modelo, um padrão. Muitas das vezes, os erros existentes nesse processo podem afetar e MUITO a sua qualidade.

Um exemplinho disso, é que grande parte dos teoremas físicos (credo), químicos, biológicos surgiram porque alguém ficou aí testando, atéeeeeee criar um modelito que seguisse um padrão! Imagine só a trabalheira que deve ter dado para descobrir a relação lá da elétrica de V = R I .

Veja só, esses malucos (no bom sentido, é claro) encontraram uma função matemática que representasse bem os dados obtidos.

Geralmente, nós não usamos interpolação polinomial quando queremos um valor que está fora do intervalo [a,b], ouuuuuu seja, quando queremos extrapolar! Beleza?!

Pensa comigo, qual é o nosso objetivo: achar uma função que se “aproxime bem” e que nos permita extrapolar com uma certa margem de segurança. Já tá ligado em qual método vamos usar??

O método dos mínimos quadrados é MUITO usado para ajustar pontos e melhor aproximar uma função, essa melhor aproximação pode ser polinomial, exponencial, logarítmica, trigonométrica e etc.

Mínimos Quadrados

Veja bem, nós temos uma f x que nos dá o valor exato da função em um determinado ponto, certo? Aqui, nós queremos obter uma função de aproximação φ x de modo que ela nos forneça valores aproximados e estimados naquele mesmo ponto, e que tenha um erro pequeno. Então, bora entender?

O que vamos fazer é o seguinte: vamos ter uma porrada de pontos (vamos chamar de m pontos) de f x em uma tabela contidos em um intervalo x 1 , x m .Podemos ter uma disposição de pontos assim:

Analisando os pontos e a disposição de x i e f ( x i ) de i = 1   a t é   i = m , e φ ( x ) se comporta como uma reta, o que significa que ela forma um polinômio de grau 1. Então:

O grande problema de ajuste de curvas, é encontrar funções de modo que cada ponto seja mínimo e definido por:

φ x = α 1 h 1 x + α 2 h 2 x + … + α n h n x

E essa função φ x se aproxima ao máximo de f x . O método consiste em escolhermos n funções contínuas em a , b h 1 x , h 2 x , … , h n x e obter n constantes α 1 , α 2 , … α n .

Duas coisas importantes até agora. Primeiro que n < m , onde n é o número de funções h ( x ) e m é o número de pontos. Segundo que as funções h x podem ser não lineares (como já disse, podem ser exponenciais e etc), mas relaxa aí que o método para achar os coeficientes é linear haha.

Mas, como eu, um mero mortal vou escolher a melhor função que se aproxima de f x e melhor ainda, como é que eu vou definir h x ?

Geralmente, essa escolha é bem visual, nós olhamos um tal de diagrama de dispersão (tipo o gráfico com váaarios pontos que vimos ali em cima) e com ele vemos a curva que melhor se encaixa com os dados.

Vamos falar então do caso mais simples que é através de uma função linear do tipo:

φ t = α 0 + α 1 . x k

Com o objetivo de determinar valores de α 0 e α 1 que minimizem os desvios.

Já vimos como o h x , vendo que era uma reta e obedecia a equação de φ ( x ) . A questão agora é como determinar os coeficientes α 0     e   α 1 para terminar de encontrar φ ( x ) .

Pra cada ponto x k , f x k teremos uma aproximação x k , φ x k . Como queremos uma aproximação mais próxima do real, é natural querermos que o módulo da diferença f x k - φ x k , ou seja, a diferença entre o valor real e o aproximado seja o menor possível (chamamos essa diferença aí de desvio). Observação: calculamos o módulo da diferença porque teremos pontos acima e abaixo da nossa aproximação φ ( x ) (só olhar o gráfico anterior, por exemplo), logo, se não colocássemos o módulo, teriam diferenças entre a função real e a aproximada positivas e negativas, anulando umas as outras.

Mas, como o módulo é um pé no saco pra se trabalhar, esse método arrumou uma saída mais inteligente: ele busca o valor mínimo da soma dos quadrados das diferenças entre a função e a aproximação. Eita, ficou confuso? Faz o seguinte:

Pega os desvios f x k - φ x k em cada um dos m pontos da tabela e eleva ao quadrado, porque assim só se apresentam valores positivos. Depois soma a bagaça toda. É esse valor aí que o método minimiza:

min   ⁡ ∑ k = 1 m f x k - φ x k 2

Definimos h k ¯ = h k x 1 , h k x 2 , … , h k x m e f ¯ = f x 1 , f x 2 , … , f x m .

Fazendo aquela história de derivar e igualar a zero vamos acabar chegando no sistema abaixo:

a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n c 1 c 2 ⋮ c n = b 1 b 2 ⋮ b n

Que é um sistema n × n (lembrando que temos n funções h k x ). E temos que:

a i j = h i ¯ , h j ¯

b i = f ¯ , h i ¯

Onde a , b é o produto escalar de a por b e a matriz A (matriz que apresenta os valores a i j ) é simétrica.

Outra característica interessante de A é que se as funções h k x forem ortogonais entre si, nossa matriz A não só é simétrica, mas também é diagonal. Como não é o foco desse curso, não vamos entrar no assunto de como descobrir se as funções são ortogonais, mas pode dar uma olhada lá no nosso material de Álgebra se ficou curioso!

Vamos resolver um exemplo pra ficar mais claro? A nossa função é tabelada pelos seguintes pontos:

Plotando esses pontos em um gráfico, temos:

Temos que o gráfico tem comportamento linear. Como o método dos mínimos quadrados, podemos usar aquele polinômio pra funções lineares, que é o que melhor se encaixa:

φ x = α 0 + α 1 . x k

Antes que a gente comece a pirar com fórmulas, vou ensinar uma tabela que vai ser o auge de cálculo numérico! Primeiro vamos calcular o valor da função em cada ponto x k . Até ai tudo bem, outro valor que precisamos x k       2   e também f ( x k   ) . x k , em CADA ponto dado E láaaaa embaixo da tabela teremos uma linha com o somatório de cada coisa.

Fica assim:

A primeira e segunda coluna são basicamente o que o exercício dá, então é só preencher x k e f ( x k   ) . Para cada linha da tabela iremos preencher também cada valor de x k elevado ao quadrado, e também cada valor de x k multiplicando pelo valor da função no ponto. Pra fazer o somatório, basta somar os valores totais de caaaaaada coluna.

Obs.: Essa é uma tabela pensando num polinômio de grau 1.

Tabelinha montada, podemos usar aquele sistema de equações de um jeitinho diferente, e se reorganizar direitinho fica com essa cara aqui:

∑ i = 1 5 x i       2 ∑ i = 1 5 x i ∑ i = 1 5 x i     5 .                   α 1                     α   0 = ∑   i = 1 5 f ( x i   ) . x i ∑ i = 1 5 f ( x i   )

Esse 5 está representando a quantidade de pontos, ok?

Fazendo a multiplicação das matrizes e reorganizando direitinho, as fórmulas para α 0   e   α 1 são:

α 0 = [ ( ∑ i = 1 5 x i       2 ) ( ∑ i = 1 5 f ( x i   ) ) ] - [ ( ∑   i = 1 5 f ( x i   ) . x i ) . ( ∑ i = 1 5 x i     ) ] 5 ∑ i = 1 5 x i       2 - ∑ i = 1 5 x i     2

α 1 = 5 ∑   i = 1 5 f ( x i   ) . x i - [ ∑ i = 1 5 x i     . ∑ i = 1 5 f ( x i   ) ] 5 ∑ i = 1 5 x i       2 - ∑ i = 1 5 x i     2

Jogando na fórmulinha aqueles valores que nós organizamos na tabela fica:

α 0 = [ 30 - 35,03 - ( - 110.10 ) ] 5 30 - 10 2 = 0,982

α 1 = [ 5 - 110 - 10 . ( - 35,03 ) ] 5 30 - 10 2 = - 3,994  

Agora só jogamos na fórmula do modelo:

φ x = α 0 + α 1 . x k

φ x = 0,982 - 3,994 . x

A e uma última coisa, se te perguntarem o erro, é só pegar esse somatório aqui:

∑ k = 1 m f x k - φ x k 2

Você pega o valor da função f x k   em cada ponto e o valor de φ x k em cada ponto.

Que foi o que o método minimizou.

Para conferir a eficiência desse método, olha como ficaram os pontos em relação à função que encontramos:

Em azul temos os pontos dados pelo problema e em vermelho temos a equação da reta que calculamos φ ( x ) .

Show? Vamos dar uma olhada no algoritmo dessa joça então!

Algoritmo

Passo 1. Dados iniciais (o que seu programa vai receber de você):

a. Vetor de valores f ¯ = f x 1 , f x 2 , … , f x m

b. Matriz com os n vetores h k ¯

Passo 2. Definimos A como uma matriz n × n cheia de zeros.

Passo 3. Definimos b como um vetor de tamanho n cheio de zeros.

Passo 4. Para i de 1 a n repita o passo 5.

Passo 5. Para j de 1 a i repita o passo 6.

Passo 6. A i j = A j i = h i ¯ , h j ¯

Passo 7. Para i de 1 a n repita o passo 8.

Passo 8. b i = f ¯ , h i ¯

Passo 9. Jogamos nossa matriz A e nosso vetor b em algum método de resolução linear e teremos como retorno o vetor dos coeficientes c .

Outro algoritmo importante que deve ser implementado é o do produto escalar. Ele é bem simples de ser implementado e muitas linguagens inclusive contam com bibliotecas com esse método já pronto para uso.

Por fim, para garantir que ninguém faça besteira com seu programa (isso inclui você mesmo haha) é interessante adicionarmos algumas medidas de segurança. Por exemplo, precisamos que n < m e que os vetores h k ¯ tenham m elementos cada. Isso impede que seu programa dê o algum problema se algum valor errado for imputado sem querer.

Algoritmo

Exercícios Resolvidos

Exercício Resolvido #1

Dada a tabela:

Calcular f 1.22 usando regressão linear.

Passo 1

Bom, esse é um exercício inicial de mínimos quadrados, bem tranquilo né? A dificuldade vai aumentando nos outros exercícios. Bora resolver essa bagaça!!

Regressão linear é simplesmente a aproximação por mínimos quadrados usando uma reta. Então:

φ x = c 1 x + c 2

Logo, h 1 x = x e h 2 x = 1 .

Temos então os vetores:

h 1 ¯ = 1,1.05,1.1,1.15,1.2,1.25,1.3,1.35

h 2 ¯ = 1,1 , 1,1 , 1,1 , 1,1

f ¯ = 1,1.01,1.02,1.04,1.05,1.06,1.065,1.08

Então podemos montar essa tabelinha aqui:

Passo 2

Agora montamos a matriz A que vai ser 2 × 2 já que temos duas funções h k x :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 11.15 9.4 9.4 8

Ou seja, para h 1 ¯ , h 1 ¯ , multiplicamos o vetor h 1 ¯ por ele mesmo e somamos os resultados:

1 2 + 1.05 2 + 1.1 2 + 1.15 2 + 1.2 2 + 1.25 2 + 1.3 2 + 1.35 2 = 11.15  

Em h 1 ¯ , h 2 ¯ , multiplicamos o vetor h 1 ¯ pelo vetor h 2 ¯ e somamos os resultados e assim por diante. Chegando na matriz A .

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = 9.806 8.325

O raciocínio na montagem da matriz b é o mesmo da montagem de A , ou seja, em f ¯ , h 1 ¯ , multiplicamos f ¯ pelo h 1 ¯ e somamos os resultados e em f ¯ , h 2 ¯ , multiplicamos f ¯ por h 2 ¯ e somamos os resultados, chegando na matriz b .

Passo 3

Temos que resolver o sistema:

11.15 9.4 9.4 8 c 1 c 2 = 9.806 8.325

Então, fazendo a multiplicação das matrizes:

11.15 c 1 + 9.4 c 2 = 9.806

9.4 c 1 + 8 c 2 = 8.325

Resolvendo esse sistema, chegamos a:

c 1 = 0.23

c 2 = 0.771

Com isso, chegamos a:

φ x = 0.23 x + 0.771

Aproximando o valor pedido:

f 1.22 ≈ φ 1.22 = 0.23 1.22 + 0.771 = 1.0516

Resposta

f 1.22 ≈ 1.0516

Exercício Resolvido #2

Encontre polinômios de grau 1 , 2 e 3 que minimizam o resíduo na aproximação dos dados da tabela abaixo. Qual deles proporcionou um melhor resultado?

Passo 1

Primeira pergunta, o que é esse resíduo? Bom isso aí é só outro nome para aquela soma dos desvios ao quadrado:

∑ k = 1 m f x k - φ x k 2

Passo 2

Vamos começar com o polinômio de primeiro grau! Temos:

φ x = c 1 x + c 2

Logo, h 1 x = x e h 2 x = 1 .

Temos então os vetores:

h 1 ¯ = 0,0.15,0.31,0.5,0.6,0.75

h 2 ¯ = 1,1 , 1,1 , 1,1 , 1

f ¯ = 1,1.04,1.031,1.117,1.223,1.442

Passo 3

Agora montamos a matriz A que vai ser 2 × 2 já que temos duas funções h k x :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 1.2911 2.31 2.31 6

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = 2.849 6.853

Resolvendo o sistema:

1.2911 2.31 2.31 6 c 1 c 2 = 2.849 6.853

c 1 = 0.524

c 2 = 0.940

Com isso, chegamos a:

φ x = 0.524 x + 0.94

Passo 4

Agora vamos calcular o resíduo! Vamos montar uma outra tabelinha pra ajudar a gente:

Então nosso resíduo foi 0.02925 .

Passo 5

Agora o polinômio de segundo grau:

φ x = c 1 x 2 + c 2 x + c 3

Logo, h 1 x = x 2 , h 2 x = x e h 3 x = 1 .

Temos então os vetores:

h 1 ¯ = 0,0.023,0.096,0.25,0.36,0.563

h 2 ¯ = 0,0.15,0.31,0.5,0.6,0.75

h 3 ¯ = 1,1 , 1,1 , 1,1 , 1

f ¯ = 1,1.04,1.031,1.117,1.223,1.442

Passo 6

Agora montamos a matriz A que vai ser 3 × 3 já que temos três funções h k x :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 1 ¯ , h 3 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ h 2 ¯ , h 3 ¯ h 3 ¯ , h 1 ¯ h 3 ¯ , h 2 ¯ h 3 ¯ , h 3 ¯ = 0.518 0.796 1.291 0.796 1.291 2.310 1.291 2.310 6

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ f ¯ , h 3 ¯ = 1.653 2.849 6.853

Resolvendo o sistema:

0.518 0.796 1.291 0.796 1.291 2.310 1.291 2.310 6 c 1 c 2 c 3 = 1.653 2.849 6.853

c 1 = 1.227

c 2 = - 0.389

c 3 = 1.028

Com isso, chegamos a:

φ x = 1.227 x 2 - 0.389 x + 1.028

Passo 7

Agora vamos calcular o resíduo! Vamos montar aquela mesma tabelinha pra ajudar a gente:

Então nosso resíduo foi 0.003603 .

Passo 8

Por fim, o polinômio de terceiro grau:

φ x = c 1 x 3 + c 2 x 2 + c 3 x + c 4

Logo, h 1 x = x 3 , h 2 x = x 2 , h 3 x = x e h 4 x = 1 .

Temos então os vetores:

h 1 ¯ = ( 0 ,   0.0034 ,   0.0029,0.125,0.216,0.42 )

h 2 ¯ = 0,0.023,0.096,0.25,0.36,0.563

h 3 ¯ = 0,0.15,0.31,0.5,0.6,0.75

h 4 ¯ = 1,1 , 1,1 , 1,1 , 1

f ¯ = 1,1.04,1.031,1.117,1.223,1.442

Passo 9

Agora montamos a matriz A que vai ser 4 × 4 dessa vez já que temos quatro funções h k x . Ô sisteminha chato que vai ficar esse em!

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 1 ¯ , h 3 ¯ h 1 ¯ , h 4 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ h 2 ¯ , h 3 ¯ h 2 ¯ , h 4 ¯ h 3 ¯ , h 1 ¯ h 3 ¯ , h 2 ¯ h 3 ¯ , h 3 ¯ h 3 ¯ , h 4 ¯ h 4 ¯ , h 1 ¯ h 4 ¯ , h 2 ¯ h 4 ¯ , h 3 ¯ h 4 ¯ , h 4 ¯ = 0.241 0.349 0.518 0.796 0.349 0.518 0.796 1.291 0.518 0.796 1.291 2.31 0.796 1.291 2.31 6

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ f ¯ , h 3 ¯ f ¯ , h 4 ¯ = 1.046 1.653 2.849 6.853

Resolvendo o sistema (coragem):

0.241 0.349 0.518 0.796 0.349 0.518 0.796 1.291 0.518 0.796 1.291 2.31 0.796 1.291 2.31 6 c 1 c 2 c 3 c 4 = 1.046 1.653 2.849 6.853

c 1 = 1.379

c 2 = - 0.353

c 3 = 0.061

c 4 = 1.012

Com isso, chegamos a:

φ x = 1.379 x 3 - 0.353 x 2 + 0.061 x + 1.012

Passo 10

Pra encerrar vamos calcular o resíduo montando a tabela:

Então nosso resíduo foi 0.791 × 10 - 3 .

Passo 11

Agora comparamos os resíduos:

Polinômio de grau 1 : 29.25 × 10 - 3

Polinômio de grau 2 : 3.603 × 10 - 3

Polinômio de grau 3 : 0.791 × 10 - 3

O que proporcionou o melhor resultado foi o que teve menor resíduo, o de grau 3 .

Novamente o exercício não pediu isso, mas se liga em como ficaram as curvas:

A azul contínua é o polinômio de grau 1 . A verde pontilhada é o polinômio de grau 2 . A laranja tracejada é o polinômio de grau 3 .

Resposta

Grau 1:

φ x = 0.524 x + 0.94

Resíduo: 29.25 × 10 - 3

Grau 2:

φ x = 1.354 x 2 - 0.491 x + 1.04

Resíduo: 3.603 × 10 - 3

Grau 3:

φ x = 1.379 x 3 - 0.353 x 2 + 0.061 x + 1.012

Resíduo: 0.791 × 10 - 3

O polinômio de grau 3 proporcionou o melhor resultado.

Exercício Resolvido #3

A tabela abaixo representa o número oficial aproximado de pessoas com dengue, ou seja, infectados pelo mosquito Aedes aegypti no Rio de Janeiro:

Os dados relativos 2002 1,2 correspondem ao número de casos registrados nos meses de janeiro e fevereiro.

Usando uma reta, estime o número de infectados no mês de março de 2002 , pelo método dos mínimos quadrados.

Passo 1

A primeira coisa que temos que perceber é que a tabela trata de 2 horizontes de tempo diferentes. Começa de ano a ano e depois passa a funcionar de mês a mês.

Como estamos querendo estimar o número de casos em um mês de 2002 só faz sentido considerarmos os dois últimos pontos da tabela que também tratam de mês. Então ficamos só com:

E como o enunciado pede para estimarmos usando uma reta:

φ x = c 1 x + c 2

Logo, h 1 x = x e h 2 x = 1 . Temos então que:

h 1 ¯ = 1,2

h 2 ¯ = 1,1

f ¯ = 41600,42700

Passo 2

Agora montamos a matriz A que vai ser 2 × 2 :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 5 3 3 2

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = 127000 84300

Resolvendo o sistema:

5 3 3 2 c 1 c 2 = 127000 84300

c 1 = 1100

c 2 = 40500

Com isso, chegamos a:

φ x = 1100 x + 40500

Passo 3

Aproximando para o terceiro mês, temos:

φ 3 = 1100 3 + 40500 = 43800

Então nossa estimativa é de 43800 infectados no mês de março.

Resposta

43800 infectados no mês de março de 2002 .

Exercício Resolvido #4

Ajuste os dados abaixo pelo método dos mínimos quadrados utilizando:

a Uma reta

b Uma parábola do tipo a x 2 + b x + c

Trace as duas curvas no gráfico de dispersão dos dados. Como você compararia as duas curvas com relação aos dados?

Passo 1

a Queremos aproximar a função para uma reta, então o polinômio interpolador será do tipo:

φ x = c 1 x + c 2

Sabemos que o polinômio será do tipo:

φ x = c 1 h 1 ( x ) + c 2 h 2 ( x )

Logo comparando as duas equações concluímos que : h 1 x = x e h 2 x = 1 .

Vamos construir os vetores:

  • h 1 será o vetor com todos os valores de x:
  • h 1 - = 1,2 , 3,4 , 5,6 , 7,8

  • h 2 será o vetor constante pois     h 2 x = 1 :
  • h 2 - = 1,1 , 1,1 , 1,1 , 1,1

  • f - será o vetor com todos os valores de y:
  • f -   = 0.5,0.6,0.9,0.8,1.2,1.5,1.7,2.0

    Passo 2

    Precisamos resolver o seguinte sistema:

    Sendo a matriz A , que vai ser 2 × 2 já que temos duas funções h k x , como:

    E o vetor B :

    Vamos calcular o termos da matriz A:

    =   1 * 1 + 2 * 2 + 3 * 3 + 4 * 4 + 5 * 5 + 6 * 6 + 7 * 7 + 8 * 8

    =   1 + 4 + 9 + 16 + 25 + 36 + 49 + 64 = 204

    = 1 * 1 + 2 * 1 + 3 * 1 + 4 * 1 + 5 * 1 + 6 * 1 + 7 * 1 + 8 * 1

    = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36

    = 1 * 1 + 1 * 2 + 1 * 3 + 1 * 4 + 1 * 5 + 1 * 6 + 1 * 7 + 1 * 8

    = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36

    = 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1

    = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8

    Então a matriz A é:

    Fazendo as mesmas contas do produto escalar agora para a matriz B, obtemos:

    Obtemos agora o sistema:

    Que nos dá as seguintes equações:

    204 c 1 + 36 c 2 = 50,5

    36 c 1 + 8 c 2 = 9,2

    Isolando c 2 da segunda equação obtemos:

    c 2 = 9,2 - 36 c 1 8

    Substituindo c 2 na primeira equação podemos encontrar o valor de c 1 e consequentemente c 2 :

    c 1 = 0.217

    c 2 = 0.175

    Com isso, chegamos a resposta:

    φ x = 0.217 x + 0.175

    Passo 3

    b Agora queremos aproximar para uma parábola, então o polinômio será do tipo:

    φ x = c 1 x 2 + c 2 x + c 3

    Sabemos que o polinômio será do tipo:

    φ x = c 1 h 1 ( x ) + c 2 h 2 ( x ) + c 3 h 3 ( x )

    Logo comparando as duas equações concluímos que : h 1 x = x 2 , h 2 x = x e h 3 x = 1 .

    Temos então os vetores:

  • h 1 será o vetor com todos os valores de x² pois h 1 x = x ² :
  • h 1 - = 1,4 , 9,16,25,36,49,64

  • h 2 será o vetor com valores de x pois     h 2 x = x :
  • h 2 - = 1,2 , 3,4 , 5,6 , 7,8

  • h 3 será o vetor constante pois     h 3 x = 1 :
  • h 3 - = 1,1 , 1,1 , 1,1 , 1,1

  • f - será o vetor com todos os valores de y:

f - = 0.5,0.6,0.9,0.8,1.2,1.5,1.7,2.0

Passo 2

Precisamos resolver o seguinte sistema:

Sendo a matriz A :

E o vetor B :

Calculando os termos da matriz A temos:

O mesmo para o vetor B:

Obtemos o sistema:

Onde obtemos as seguintes equações:

8772 c 1 + 1296 c 2 + 204 c 3 = 319,1

1296 c 1 + 204 c 2 + 36 c 3 = 50,5

204 c 1 + 36 c 2 + 8 c 3 = 9,2

Resolvendo o sistema obtemos:

c 1 = 0.015

c 2 = 0.077

c 3 = 0.407

Com isso, chegamos a:

φ x = 0.015 x 2 + 0.077 x + 0.407

Passo 3

Traçando as duas curvas no gráfico de dispersão temos:

Quando fazemos esse tipo de aproximação, sempre há um erro, se calcularmos qual aproximação tem o melhor erro podemos compará-las. O de resíduo é justamente o erro entre os pontos conhecidos da função e o polinômio interpolador, e é calculado por:

∑ k = 1 m f x k - φ x k 2

E a mesma fórmula tanto para a reta e para a parábola.

Vamos montar uma tabelinha para cada caso pra ficar mais fácil. Quem tiver a menor soma de resíduos será a melhor interpolação.

Para a reta temos:

E para a parábola:

Logo, temos que o resíduo da parábola é menor, então ela é uma aproximação melhor.

Resposta

a φ x = 0.217 x + 0.175

b φ x = 0.015 x 2 + 0.077 x + 0.407

A parábola é a melhor aproximação pois tem um resíduo de 0.05062 enquanto a reta tem um resíduo de 0.08836 .

Exercício Resolvido #5

Dada a tabela abaixo, faça o gráfico de dispersão dos dados e ajuste uma curva da melhor maneira possível:

Passo 1

O nosso gráfico de dispersão vai ficar assim:

O enunciado não especificou que tipo de curva ele quer, só disse para ajustá-la da melhor forma possível. Pra mim esse gráfico ta lembrando bastante o de ln ⁡ x né? Bom, então vamos usar como a função φ x o seguinte:

φ x = c 1 ln ⁡ x + c 2

Logo, h 1 x = ln ⁡ x e h 2 x = 1 .

Passo 2

Temos então os vetores:

h 1 ¯ = - 0.693 , - 0.288,0 , 0.405,0.693,0.916,1.099

h 2 ¯ = 1,1 , 1,1 , 1,1 , 1

f ¯ = - 2.8 , - 0.6,1 , 3.2,4.8,6 , 7

Agora montamos a matriz A que vai ser 2 × 2 já que temos duas funções h k x :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 3.255 2.133 2.133 7

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = 19.926 18.6

Resolvendo o sistema:

3.255 2.133 2.133 7 c 1 c 2 = 19.926 18.6

c 1 = 5.473

c 2 = 0.989

Passo 3

Com isso, chegamos a:

φ x = 5.473 ln ⁡ x + 0.989

O exercício não pediu isso, mas tomei a liberdade de traçar a curva que calculamos em cima do gráfico de dispersão e olha como ficou:

Eu diria que foi uma aproximação excelente haha.

Resposta

φ x = 5.473 ln ⁡ x + 0.989

Exercício Resolvido #6

Numa pesquisa da Secretaria da Saúde coletou-se N de pessoas infectadas pelo vírus H1N1 num tempo t dado pela tabela abaixo. Admitindo-se que uma reta ajusta os dados da tabela, quantas pessoas estarão infectadas no 2º dia?

Passo 1

Fala aí, vc decidiu fazer engenharia né? Que que vc tem a ver com H1N1, mas vamo lá né?!

O professor tá pedindo pra ajustarmos a tabela por uma reta, então

φ t = c 1 t + c 2

Agora precisamos descobrir esses coeficientes c 1 e c 2 .

A função que acompanha c 1 chamaremos de h 1 e nesse caso h 1 = t . Podemos dizer também que c 2 está sendo multiplicado por h 2 = 1

Passo 2

Agora vamos montar a tabela que vai ajudar pacas a aplicar o método

Se liga, a primeira coluna é do h 1 , como h 1 = t , basta repetir os valores de t dá tabela que o professor deu.

A segunda é a coluna de h 2 , e ele é igual a 1. Na última coluna colocamos os valores de y diretinho da tabela que o professor deu.

Passo 3

Para achar os coeficientes c 1   e c 2 vamos fazer o seguinte óh:

Para achar ∑ h 1 h 1 basta multiplicar cada elemento da primeira coluna por ele mesmo e depois soma-los.

∑ h 1 h 1 = 1 2 + 3 2 + 4 2 + 8 2 = 90

Agora vamos achar ∑ h 1 h 2 ou ∑ h 2 h 1 , pra isso é só multiplicar a primeira coluna pela segunda e somar

∑ h 1 h 2 = ∑ h 2 h 1 = 1 * 1 + 3 * 1 + 4 * 1 + 8 * 1 = 16

Para acharmos ∑ h 2 h 2 é a mesma idéia, só multiplicar os valores da coluna h 2   por ela mesma e somar.

∑ h 2 h 2 = 1 2 + 1 2 + 1 2 + 1 2 = 4

Colocando na tabela temos:

Agora basta achar ∑ h 1 f ( t ) e ∑ h 2 f ( t ) , para isso vamos seguir a mesma ideia de multiplicar elemento a elemento as colunas e somar todo mundo.

∑ h 1 f ( t ) = 1 * 3.5 + 3 * 7.4 + 4 * 9.2 + 8 * 14.8 = 180.9

∑ h 2 f ( t ) = 1 * 3.5 + 1 * 7.4 + 1 * 9.2 + 1 * 14.8 = 34.9

Passo 4

Se vc já sacou, essa parte de baixo de baixo é um sistema, Ax=b com ele a gente vai encontrar os coeficientes c 1 e c 2

90 16 16 4 c 1 c 2 = 180.9 34.9

Agora é só resolver o sistema né!!!

c 1 = 1.589

c 2 = 2.371

Então

φ ( t ) = 1.589 t + 2.371

Passo 5

Como o professor quer saber pro 2º dia, basta substituir t=2

φ t = 2 = 1.589 * ( 2 ) + 2.371

φ t = 2 = 5.5

Resposta

5.5 milhares de pessoas

Exercício Resolvido #7

Ajustar os dados da tabela abaixo por um polinômio do 2º grau completo.

Passo 1

O professor tá pedindo pra ajustarmos a tabela por um polinômio do 2º grau, então

φ x = c 1 x 2 + c 2 x + c 3

As funções que multiplicam c 1   , c 2 , c 3 são h 1 = x 2 , h 2 = x e como não temos “nada” ao lado do c 3 , podemos dizer também que ele está sendo multiplicado por h 3 = 1

Agora precisamos descobrir esses coeficientes c 1 , c 2   e c 3 .

Passo 2

Agora vamos montar a tabela que vai ajudar pacas a aplicar o método.

As colunas y e x da direita são apenas uma cópia da tabela que o professor deu, blz?

E nas outras 3 colunas a gente coloca as funções h que estão multiplicando os coeficientes c 1   , c 2 e c 3 .

A coluna h 3 = 1 , basta preencher com 1’s. Já a coluna h 2 = x , vai ser preenchida com os valores de x , diretinho da tabela que o professor deu. E por último a coluna h 1 = x 2 , será preenchida com os valores de x da tabela que o professor deu elevando um a um ao quadrado. Fechow??

Ela vai ficar assim:

Passo 3

Para achar os coeficientes c 1 , c 2 e c 3 vamos fazer o seguinte óh:

Calma, calma é feio, mas é tranquilo de fazer.

Para achar ∑ h 1 h 1 basta multiplicar cada elemento da primeira coluna por ele mesmo e depois soma-los.

∑ h 1 h 1 = 1 2 + 0 2 + 1 2 + 4 2 = 18

Agora vamos achar ∑ h 1 h 2 ou ∑ h 2 h 1 (sim, eles são iguais), pra isso é só multiplicar a primeira coluna pela segunda e somar

∑ h 1 h 2 = ∑ h 2 h 1 = 1 * - 1 + 0 * 0 + 1 * 1 + 4 * 2 = 8

Bora achar agora ∑ h 1 h 3 ou ∑ h 3 h 1 (eles também são iguais), pra isso é só multiplicar a primeira coluna pela terceira e somar

∑ h 1 h 3 = ∑ h 3 h 1 = 1 * 1 + 0 * 1 + 1 * 1 + 4 * 1 = 6

Para acharmos ∑ h 2 h 2 é a mesma idéia, só multiplicar os valores da coluna h 2   por ela mesma e somar.

∑ h 2 h 2 = - 1 2 + 0 2 + 1 2 + 2 2 = 4

Calma tá acabando

Para achar ∑ h 2 h 3 ou ∑ h 3 h 2 (eles também são iguais), pra isso é só multiplicar a segunda coluna pela terceira e somar

∑ h 2 h 3 = ∑ h 3 h 2 = - 1 * 1 + 0 * 1 + 1 * 1 + 2 * 1 = 2

E pela última vez, para achar ∑ h 3 h 3 basta multiplicar os valores da coluna h 3   por ela mesma e somar.

∑ h 2 h 2 = 1 2 + 1 2 + 1 2 + 1 2 = 4

Uffaaaa! Colocando na tabela temos:

Beleeeeza!!, faltou só multiplicar cada coluna h pela coluna do y e somar depois. Boora lá!

∑ h 1 y = 1 * 6.61 + 0 * 7.89 + 1 * 9.96 + 4 * 10.69 = 59.33

∑ h 2 y = - 1 * 6.61 + 0 * 7.89 + 1 * 9.96 + 2 * 10.69 = 24.73

∑ h 3 y = 1 * 6.61 + 1 * 7.89 + 1 * 9.96 + 1 * 10.69 = 35.15

Passo 4

Se vc já sacou, essa parte de baixo de baixo é um sistema, Ax=b com ele a gente vai encontrar os coeficientes c 1 , c 2 e c 3

18 8 6 8 6 2 6 2 4 c 1 c 2 c 3 = 59.33 24.73 35.15

Agora é só resolver o sistema né!!!

c 1 = - 0.1375

c 2 = 1.568

c 3 = 8.209

Então

φ t = - 0.1375 x 2 + 1.5685 x + 8.209

Resposta

φ t = - 0.1375 x 2 + 1.5685 x + 8.209

Exercício Resolvido #8

A tabela abaixo refere-se à potência P (em hp), de um motor Diesel, em função do número de rotações r (em rpm). Pede-se:

Ajustar os dados da tabela por uma reta. Qual a potência para 800 rpm?

Passo 1

O professor tá pedindo pra ajustarmos a tabela por um polinômio do 1º grau, então

φ r = c 1 r + c 2

As funções que multiplicam c 1   e c 2 são h 1 = r , e como não temos “nada” ao lado do c 2 , podemos dizer também que ele está sendo multiplicado por h 2 = 1

Agora precisamos descobrir esses coeficientes c 1 e c 2  

Passo 2

Agora vamos montar a tabela que vai ajudar pacas a aplicar o método.

As colunas P e r da direita são apenas uma cópia da tabela que o professor deu, blz?

E nas outras 2 colunas a gente coloca as funções h que estão multiplicando os coeficientes c 1   e c 2 .

A coluna h 2 = 1 , basta preencher com 1’s. Já a coluna h 1 = r , vai ser preenchida com os valores de r , diretinho da tabela que o professor deu. Fechow??

Ela vai ficar assim:

Passo 3

Para achar os coeficientes c 1 e c 2 como que faz?? Vamo dar uma extendida na nossa tabela.

Não surta, que vai ser de boas...calma aeew!

Para achar ∑ h 1 h 1 basta multiplicar cada elemento da primeira coluna por ele mesmo e depois soma-los.

∑ h 1 h 1 = 400 2 + 500 2 + 600 2 + 700 2 + 750 2 = 1822500

Agora vamos achar ∑ h 1 h 2 ou ∑ h 2 h 1 (sim, eles são iguais), pra isso é só multiplicar a primeira coluna pela segunda e somar

∑ h 1 h 2 = ∑ h 2 h 1 = 400 * 1 + 500 * 1 + 600 * 1 + 700 * 1 + ( 750 * 1 ) = 2950

Para acharmos ∑ h 2 h 2 é a mesma idéia, só multiplicar os valores da coluna h 2   por ela mesma e somar.

∑ h 2 h 2 = 1 2 + 1 2 + 1 2 + 1 2 + 1 2 = 5

Calma tá acabando

Faltou só multiplicar cada coluna h pela coluna do y e somar depois. Boora lá!

∑ h 1 y = 400 * 600 + 500 * 1050 + 600 * 1440 + 700 * 1900 + ( 750 * 2120 )

∑ h 1 y = 4549000

∑ h 2 y = 1 * 600 + 1 * 1050 + 1 * 1440 + 1 * 1900 + ( 1 * 2120 ) = 7110

Uffaaaa! Colocando na tabela temos:

Passo 4

Se vc já sacou, essa parte de baixo de baixo é um sistema, Ax=b com ele a gente vai encontrar os coeficientes c 1 e c 2 .

1822500 2950 2950 5 c 1 c 2 = 4549000 7110

Agora é só resolver o sistema né!!!

c 1 = 4.318

c 2 = - 1125.79

Então

φ r = 4.318 r - 1125.79

Beleeeza, já achamos a reta. Agora precisamos achar a potência para 800 rpm

Passo 5

Pra isso basta substituir na reta que a gente achou!

φ r = 800 = 4.318 * 800 - 1125.79

φ r = 800 = 2328.61   h p

Resposta

φ r = 4.318 r - 1125.79

2328.61   h p

Exercícios de Livros Relacionados

Dado um conjunto de valores x k ,f x k ,k = 0,1 , 2 , … , m descreva situações em que você usaria um polinômio interpolador por estes pontos e situações em que você ajustaria uma curva a estes dados p
A tabela abaixo mostra as alturas e pesos de uma amostra de nove homens entre as idades de 25 a 29 anos, extraída ao acaso entre funcionários de uma grande indústria:Faça o diagrama de dispersão dos d
Ajuste os dados abaixo pelo método dos quadrados mínimos utilizando:Um retaUma parábola do tipo a x 2 + b x + c Trace as duas curvas no gráfico de dispersão dos dados. Como você compararia as duas cur
6. Ajuste os dados:a) Usando a aproximação y ≈ 1 / ( a 0 + a 1 x ) . Faça o gráfico para 1 / y e verifique que essa aproximação é viável;b) idem para y = a b x ;c) compare os resultados (a) e (b)
7. O número de bactérias por unidade de volume, existente em uma cultura após x horas é apresentado na tabela:a) Verifique que uma curva para se ajustar ao diagrama é do tipo exponencialb) ajuste aos