Mat01097 - Seminario Integrador I
Estudo Dirigido 2

Objetivo: aplicar Ajuste por Mínimos Quadrados na Modelagem de funções trigonométricas a partir de dados em tabela

Descrição: em inúmeras situações, modelagem deve ser feita a partir de informações apresentadas em tabelas. Aqui mostraremos como aplicar conhecida técnica computacional para encontrar valores A1, B1, C1 tal que a expressão trigonométrica y = A1 cos(wx) + B1sen(wx) + C1 melhor ajusta-se a tabela de dados

$x$ 0 1 2 4 5 6 8 9 10 12
$y$ 1.2 2 1.6 1.2 2 1.6 1.2 2 1.6 1.2
que já foi trabalhada no primeiro exercício sobre periodicidade. Lembramos que T=4 e então w = 2 π/T = π/2 .

Ajuste de Dados via Mínimos Quadrados e Equações Normais: ao aplicarmos os valores da tabela acima na expressão y = A1 cos(πx/2) + B1sen(πx/2) + C1 , obtemos um sistema linear sobredeterminado que podemos escrever como A x = b ( a matriz A tem mais linhas do que colunas ). Esse sistema, que normalmente não tem solução, possui uma MELHOR solução x* que satisfaz as chamadas Equações Normais ATA x* = AT b , desde que a matriz ATA não seja singular.

  // expressao a ajustar y = A1*cos(Pi*x/2) + B1*sen(Pi*x/2) + C1
  x=[ 0   1   2   4   5   6   8   9   10  12]
  y=[1.2 2.0 1.6 1.2 2.0 1.6 1.2 2.0 1.6 1.2]
  T = 4 , w = 2*%pi/T
  A=[cos(w*x') sin(w*x') ones(x')]
  b = y'    // a aspa simples faz transposicao linha<->coluna
  u = A \ b  // solucao das Equacoes Normais (A'*A) x = A'*b
  A1 = u(1), B1= u(2), C1= u(3)
  // voce deve estar vendo a mesma solucao que ja haviamos obtido
  function y=f(x)
    // escalares A1,B1,C1 e w sao variaveis externas
    y = A1*cos(w*x) + B1*sin(w*x) + C1
  endfunction
  vx=[0:.01:12]; vy=feval(vx,f);
  plot2d(x,y,-4)
  plot(vx,vy)
  title('modelagem trigonometrica via ajuste de minimos quadrados')
Para fixar o aprendizado, PEDE-SE:
  1. ajuste a tabela abaixo, extraída de seu livro de Cálculo (Exemplo 4, §1.7, 8a ed, pg 81):

    t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    T 78° 77° 77° 76° 76° 75° 75° 77° 79° 83° 87° 90° 91° 93° 94° 95° 93° 92° 89° 86° 84° 83° 81° 79°
    ao modelo trigonométrico trabalhado acima. Plote a curva resposta juntamente com os dados. Use, em Scilab,
     t = [1:24]     // t = [ 1 2 3 ... 24 ]
     T = [78 77 77 76 76 75 75 77 79 83 87 90 91 93 94 95 93 92 89 86 84 83 81 79]
    
  2. ajuste a tabela abaixo, extraída de seu livro de Cálculo (Tabela Ex-20, §1.7, 8a ed, pg 85):

    d 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
    I 1.00 0.94 0.81 0.63 0.44 0.26 0.12 0.02 0.00 0.07 0.22 0.43 0.66 0.85 0.97
    d 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
    I 1.00 0.93 0.79 0.62 0.43 0.25 0.10 0.01 0.01 0.11 0.29 0.51 0.73 0.90 0.99
    ao modelo trigonométrico trabalhado acima. Plote a curva resposta juntamente com os dados. Use, em Scilab:

     d = [2:2:60]    // comeca em 2, de 2 em 2, vai ate 60 ...
     I = [1 0.94 0.81 0.63 0.44 0.26 0.12 0.02 0    0.07 0.22 0.43 0.66 0.85 0.97 ...
          1 0.93 0.79 0.62 0.43 0.25 0.10 0.01 0.01 0.11 0.29 0.51 0.73 0.90 0.99 ]
    
Recursos adicionais: JBC, Abr 2013