Objetivo: aplicar Ajuste por Mínimos Quadrados na Modelagem de funções trigonométricas a partir de dados em tabela Mat01097 - Seminario Integrador I
Estudo Dirigido 2Descriçã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
que já foi trabalhada no primeiro exercício sobre periodicidade. Lembramos que T=4 e então w = 2 π/T = π/2 .
0 1 2 4 5 6 8 9 10 12 1.2 2 1.6 1.2 2 1.6 1.2 2 1.6 1.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:Recursos adicionais:
- ajuste a tabela abaixo, extraída de seu livro de Cálculo (Exemplo 4, §1.7, 8a ed, pg 81):
ao modelo trigonométrico trabalhado acima. Plote a curva resposta juntamente com os dados. Use, em Scilab,
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° 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]- ajuste a tabela abaixo, extraída de seu livro de Cálculo (Tabela Ex-20, §1.7, 8a ed, pg 85):
ao modelo trigonométrico trabalhado acima. Plote a curva resposta juntamente com os dados. Use, em Scilab:
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
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 ]JBC, Abr 2013
- sobre Ajuste via Mínimos Quadrados , Equações Normais, e outros termos
- Ajuste de Mínimos quadrados, prof. Leonardo Guidi, UFRGS