Ajuste de Curvas Diogo Pinheiro Fernandes Pedrosa Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Engenharia de Computação e Automação http://wwwdcaufrnbr/ 1 Introdução É bastante comum em engenharia a realização de testes de laboratório para a validação de sistemas reais Os resultados são obtidos na forma de pontos cujo comportamento demonstra o relacionamento de uma variável independente (ou eplicativa) com uma, ou mais, variável dependente (ou resposta) O gráfico destes pontos é chamado de diagrama de dispersão (ver figura 1) Figura 1: Eemplo ilustrativo de um diagrama de dispersão Entretanto, dado um diagrama de dispersão, é pouco provável que haja uma curva que passe eatamente por cada ponto e que descreva fielmente o sistema observado em laboratório A razão disto é que a obtenção de dados eperimentais possuem erros inerentes ao processo Além do mais, algumas variáveis podem sofrer alterações durante a eperiência, o que irá provocar desvios na resposta Dessa forma, para definir uma função analítica que descreva o sistema não se deve optar por uma forma polinomial interpoladora dos pontos fornecidos, e sim uma curva que melhor se ajusta a estes pontos levando em consideração a eistência de erros que, em geral, não são previsíveis (ver figura ) Uma das vantagens de se obter uma curva que se ajusta adequadamente a estes pontos, é a possibilidade de prever os valores da função (variável dependente) para valores da
Métodos Computacionais em Engenharia (DCA0304) (a) (b) Figura : Eemplos ilustrativos de uma curva polinomial interpoladora (a) e uma curva que se ajusta aos pontos de um diagrama de dispersão (b) variável eplicativa que estão fora do intervalo fornecido Ou seja, é possível fazer uma etrapolação com uma aproimação razoável Como o sistema da eperiência é descrito por um conjunto de pontos, então a abordagem a ser apresentada será válida para os casos discretos Assim, o problema de ajuste de curvas no caso em que se tem uma tabela de pontos ( 1, 1 ), (, ),, ( n, n ), com i pertencentes ao intervalo [a, b], consiste em dadas m + 1 funções g 0 (), g 1 (),, g m (), contínuas em [a, b], obter m + 1 coeficientes β 0, β 1,, β m de tal forma que f() = β 0 g 0 () + β 1 g 1 () + + β m g m () se aproime de (), que fornece os valores 1,,, n dos pontos tabelados Este é um modelo matemático linear do sistema real pois os coeficientes β i a serem determinados aparecem linearmente arranjados, embora as funções g i () possam ser nãolineares, como g 0 () = e e g 1 () = 1 +, por eemplo O grande problema é como escolher adequadamente estas funções Para isto, normalmente faz-se a observação do diagrama de dispersão para ver a forma geral dos pontos, ou então deve-se basear em fundamentos teóricos do eperimento que fornece a tabela Uma idéia para que a função f() se ajuste aos pontos i é fazer com que o desvio, ou erro, d i = i f( i ) seja mínimo para todo i = 1,,, n Assim, definindo uma medida mais abrangente que envolve a soma destes desvios elevados ao quadrado tem-se: D(β 0, β 1,, β m ) = = = n d i n [ i f( i )] n [ i β 0 g 0 () β 1 g 1 () β m g m ()] O que se busca então é determinar os β i s para que D( ) seja mínimo Este processo de minimização é chamado de Método dos Mínimos Quadrados, uma vez que D( ) é definido por uma soma de quadrados Do cálculo diferencial, sabe-se que para determinar o valor mínimo de uma função (ou o seu valor crítico) deve-se derivar parcialmente esta função em relação às variáveis
Métodos Computacionais em Engenharia (DCA0304) 3 independentes Dessa forma: D β 0 = D β 1 = D β = D β m = n [ i β 0 g 0 ( i ) β 1 g 1 ( i ) β m g m ( i )] g 0 ( i ) n [ i β 0 g 0 ( i ) β 1 g 1 ( i ) β m g m ( i )] g 1 ( i ) n [ i β 0 g 0 ( i ) β 1 g 1 ( i ) β m g m ( i )] g ( i ) n [ i β 0 g 0 ( i ) β 1 g 1 ( i ) β m g m ( i )] g m ( i ) Substituindo n por para simplificação de notação, igualando estas equações a 0 e fazendo um rearranjo de termos então tem-se: ( ) ) ) g0 ( i ) ( g0 ( i )g 1 ( i )) β 0 + β 0 + ( g1 ( i )g 0 ( i ) ( β 1 + + g0 ( i )g m ( i ) β m = i g 0 ( i ) ) β m = i g 1 ( i ) ( g1 ( i ) ) β 1 + + ( g1 ( i )g m ( i ) ( ( ) ( ) g0 ( i )g m ( i )) β 0 + g1 ( i )g m ( i ) β 1 + + gm ( i ) β m = i g m ( i ) que se trata de um sistema linear que pode ser solucionado por qualquer método numérico apresentadado (Gauss, Jordan, LU, Gaus com pivotamento parcial ou total, etc) As equações deste sistema são chamadas de equações normais Nota-se que a matriz dos coeficientes deste sistema é simétrica com relação a diagonal principal, ou seja, a parte triangular inferior é igual a parte triangular superior Ajuste Linear Simples O modelo mais simples de relacionar duas variáveis é através de uma equação de reta, caracterizando um comportamento linear do sistema que foi submetido à eperiência Se a distribuição dos pontos no diagrama de dispersão assumir uma aparência de uma reta, então pode-se afirmar que: g 0 () = 1 g 1 () = g () = g 3 () = = g m () = 0 o que faz com que o modelo matemático que se ajuste aos pontos do diagrama de dispersão seja uma equação de reta, dada por: f() = β 0 + β 1 O problema então é determinar β 0 e β 1 Sabe-se, porém, que para diferentes valores destes coeficientes (ou parâmetros) haverá diferentes retas que se ajustam aos pontos
Métodos Computacionais em Engenharia (DCA0304) 4 dados Dessa forma, utilizando o Método dos Mínimos Quadrados para minimizar a medida: n D(β 0, β 1 ) = [ i β 0 β 1 i ] e substituindo n por para simplificação da notação ter-se-á o seguinte sistema: [ ] [ ] [ ] n i β0 i i = i i i cuja solução geral é: β 1 β 1 = n i i i i n i ( i ) i ( i ) β 1 β 0 = n Eemplo 1 Ajustar os dados da tabela a seguir a uma reta de modo que D(β 0, β 1 ) seja o menor possível i i i 1 13 0 34 5 3 51 38 4 68 61 5 80 58 Como se deseja encontrar os valores dos parâmetros da reta dados pelas equações 1 então basta encontrar os respectivos somatórios: 5 i = 13 + 34 + 51 + 68 + 80 = 46 5 i = 13 + 34 + 51 + 68 + 80 = 1495 5 i = 0 + 5 + 38 + 61 + 58 = 9 5 i i = (0 13) + (5 34) + (38 51) + (61 68) + (58 80) = 1754 Substituindo estes valores nas equações 1 tem-se: 5 1754 46 9 β 1 = = 05 5 1495 45 9 46 05 β 0 = = 01 5 que resulta na reta f() = 01 + 05 Utilizando o Scilab para gerar o gráfico tem-se: --> = [13 34 51 68 8]; --> = [ 5 38 61 58]; -->plotd(,,-3,"051") (1)
Métodos Computacionais em Engenharia (DCA0304) 5 -->for :5 -->z(i) = 01+05*(i); -->end -->plotd(,z) O resultado obtido está apresentado na figura 3 7 6 5 4 3 1 1 3 4 5 6 7 8 9 Figura 3: Eemplo de um ajuste linear 3 Ajuste Linear Múltiplo Quando, em uma eperiência, a variável resposta depende de duas ou mais variáveis eplicativas e o gráfico de dispersão apresenta um comportamento linear, pode-se então aplicar o ajuste linear múltiplo Para estes casos tem-se: g 0 () = 1 g 1 () = X 1 g () = X g m () = X m onde X i, com i = 1,,, m, são variáveis distintas entre si Isto resulta na seguinte equação: f() = β 0 + β 1 X 1 + β X + + β m X m Pode-se mostrar, de maneira análoga ao ajuste linear simples, que as estimativas de β j que minimizam a soma dos quadrados dos desvios é a solução do seguinte sistema de equações lineares:
Métodos Computacionais em Engenharia (DCA0304) 6 n X1i Xi Xmi X1i X 1i Xi X 1i Xmi X 1i Xi X1i X i X i Xmi X i Xmi X1i X mi Xi X mi X mi β 0 β 1 β β m = i i X 1i i X i i X mi A resolução deste sistema por qualquer método numérico apresentado dá o valor dos coeficientes β j Eemplo Ajustar os pontos da tabela a seguir à equação f() = β 0 + β 1 X 1 + β X i 1 3 4 5 6 7 8 X 1i 1 0 1 4 5 5 6 X i 1 0 1 1 3 4 i 13 11 9 4 11 9 1 1 Para esse diagrama de dispersão o sistema fica igual a: n X1i Xi β 0 X1i X i 1i Xi X 1i β 1 = Xi X1i X i X i X 1i i β i X i Assim, calculando os somatórios para n = 8: 8 X 1i = 1 + 0 + 1 + + 4 + 5 + 5 + 6 = 8 X i = + ( 1) + 0 + 1 + 1 + + 3 + 4 = 8 8 X1i = ( 1) + 0 + 1 + + 4 + 5 + 5 + 6 = 108 8 Xi = ( ) + ( 1) + 0 + 1 + 1 + + 3 + 4 = 36 8 X 1i X i = ( 1) ( ) + 0 ( 1) + 1 0 + 1 + 4 1 + 5 + 5 5 + 6 4 = 57 8 i = 13 + 11 + 9 + 4 + 11 + 9 + 1 + ( 1) = 57 8 i X 1i = 13 ( 1) + 11 0 + 9 1 + 4 + 11 4 + 9 5 + 1 5 + ( 1) 6 = 9 8 i X i = 13 ( ) + 11 ( 1) + 9 0 + 4 1 + 11 1 + 9 + 1 3 + ( 1) 4 = 5 tem-se como resultado o seguinte sistema: 8 8 108 57 8 57 36 β 0 β 1 β = 57 9 5
Métodos Computacionais em Engenharia (DCA0304) 7 que utilizando o Método de Gauss para criar uma matriz triangular superior equivalente e aplicando o algoritmo da substituição retroativa tem-se a seguinte solução: β 0 = 439 β 1 = 34 β = 6464 4 Ajuste Polinomial Um caso especial de ajuste de curvas ocorre quando o diagrama de dispersão não apresenta as características lineares presentes nos outros tipos de ajuste Nestas situações pode-se realizar o ajuste polinomial utilizando as seguintes funções g i (): Deste modo, tem-se a seguinte equação: g 0 () = 1 g 1 () = g () = g 3 () = 3 g m () = m f() = β 0 + β 1 + β + + β m m ou seja, f() é um polinômio de grau m Do estudo de interpolação polinomial sabe-se que estes polinômios são apropriados para aproimar funções de maneira satisfatória (como eemplo tem-se a Série de Talor) Para o ajuste polinomial de curvas, o sistema fica igual a: n i i m i i i 3 i m+1 i i 3 i 4 i m+ i m i m+1 i m+ i m i β 0 β 1 β β m = i i i i i i m i É possível perceber que o ajuste polinomial é um caso particular do ajuste linear múltiplo, porém utilizando uma única variável independente Eemplo 3 Ajustar os pontos da tabela a seguir à equação f() = β 0 + β 1 + β i i i 1 0 305 15 0 3 00 33 4 10 89 5 168 6 31 14
Métodos Computacionais em Engenharia (DCA0304) 8 O sistema linear é: i n i i i 3 i i 3 i 4 i O cálculo dos somatórios para n = 6 é: β 0 β 1 β = i i i i i 6 i = + ( 15) + 0 + 1 + + 31 = 8 6 i = ( ) + ( 15) + 0 + 1 + + 31 = 17 6 3 i = ( ) 3 + ( 15) 3 + 0 3 + 1 3 + 3 + 31 3 = 30064 6 4 i = ( ) 4 + ( 15) 4 + 0 4 + 1 4 + 4 + 31 4 = 137840 6 i = 305 + ( 05) + ( 33) + 89 + 168 + 14 = 69 6 i i = 305 ( ) + ( 05) ( 15) + ( 33) 0 + 89 1 + + 168 + 14 31 = 035 6 i i = 305 ( ) + ( 05) ( 15) + ( 33) 0 + 89 1 + + 168 + 14 31 = 18416 que substituindo no sistema fica: 6 8 17 8 17 30064 17 30064 137840 e o resultado é: β 0 β 1 β = 69 035 18416 β 0 = 018 β 1 = 1133 β = 1 Plotando a curva no scilab tem-se: --> = [- -15 0 1 31]; --> = [-305-0 -33 89 168 14]; -->plotd(,,-3) -->deff("[a] = f()","a = -018+1133*-1*^") -->for :6, z(i) = f((i)); end -->plotd(,z) e o resultado pode ser visto na figura 4
Métodos Computacionais em Engenharia (DCA0304) 9 30 0 10 0-10 -0-30 -40-50 -3 - -1 0 1 3 4 5 Casos Não-Lineares Figura 4: Eemplo de ajuste polinomial Em alguns casos, a família de funções g i () pode ser não-linear nos parâmetros, como, por eemplo, se o diagrama de dispersão de uma determinada função se ajustar a uma eponencial do tipo f() = β 0 e β 1, com β 0 e β 1 positivos Para se aplicar o método dos mínimos quadrados é necessário que se efetue uma linearização Por eemplo, se () = β 0 e β 1 então: z = ln () = ln β 0 β 1 Se α 0 = ln β 0 e α 1 = β 1 então ln () = f() = α 0 + α 1 que é um problema linear nos parâmetros O método dos mínimos quadrados pode então ser aplicado na resolução do problema linearizado Obtidos os parâmetros deste problema, usa-se estes valores para calcular os parâmetros originais É importante observar que os parâmetros assim obtidos não são ótimos dentro do critério dos mínimos quadrados Isto porque o que se ajusta é o problema linearizado, e não o original Eemplo 4 Ajustar os pontos a seguir à equação = β 0 e β 1 i i i 1 01 59 15 88 3 33 10 4 45 198 5 50 15 Aplicando o logaritmo neperiano aos dois lados da equação, tem-se: ln = ln(β 0 e β 1 ) ln = ln β 0 + β 1 ln = α 0 + α 1
Métodos Computacionais em Engenharia (DCA0304) 10 Fazendo z = ln, então altera-se a tabela original: i i z i 1 01 177 15 17 3 33 48 4 45 99 5 50 307 Como é um sistema linearizado, então pode-se aplicar diretamente a solução dada pelas equações 1 Assim, tem-se os seguintes valores para os parâmetros linearizados: α 0 = 1734 α 1 = 0646 A curva linearizada pode ser visulizada na figura 5 3 3 8 6 4 18 16 0 1 3 4 5 Figura 5: Curva do problema linearizado Como α 0 = ln β 0 e α 1 = β 1, então tem-se os seguintes parâmetros originais: β 0 = 5663 β 1 = 0646 que resulta na função () = 5663 e 0646 e cujo gráfico está na figura 6 Observação 1 Alguns eemplos de transformação são: = a e b ln = ln a + b = a b ln = ln a + (ln b) = a b ln = ln a + b ln = e (a+b 1+c ) ln = a + b 1 + c = a b 1 c d 3 ln = ln a + b ln 1 + c ln + d ln 3 1 = 1 a + b 1 + c = a + b 1 + c ( ) 1 1 = 1 + e (a+b 1+c ln ) 1 = a + b 1 + c
Métodos Computacionais em Engenharia (DCA0304) 11 6 4 0 18 16 14 1 10 8 6 4 0 1 3 4 5 Figura 6: Curva do problema original 6 Eercícios 1 Aproime a tabela a seguir pela função f() = β 0 + β 1 + β i 1 3 4 5 i 1 16 0 30 40 i 164 7 396 760 1196 Determine uma aproimação linear para a curva = e tal que os desvios desta aproimação na malha [ 1, 1], com espaçamento de 05 seja o menor possível Refaça o ajuste com um polinômio de segundo grau 3 Os valores funcionais mostrados na tabela a seguir são medidas de uma quantidade A(t) em metros que varia no tempo Escolha convenitentemente um conjunto de funções g i () para encontrar uma aproimação para A(t) que ajuste, por mínimos quadradados, os seguintes dados: 4 Determine uma aproimação da forma t 0 4 6 8 10 A(t) 10 16 14 06 0 08 1 c = 1 c 0 + kt que ajuste por mínimos quadrados os seguintes dados: t 1 3 4 5 7 10 1/c 47 34 384 450 53 656 876 5 Considere os valores funcionais dados na tabela abaio e determine as seguintes aproimações para :
Métodos Computacionais em Engenharia (DCA0304) 1 (a) f() = c 1 + c ; e (b) f() = α e β i 1 3 4 5 i 05 1 4 5 i 15 1 5 1 6 Determine a equação da parábola no plano que passa pela origem, tem eio vertical e melhor se ajusta aos pontos ( 1, 3), (1, 1), (, 5) no sentido de mínimos quadrados 7 Deduzir as equações normais para o modelo = β 1 X 1 + β X 8 Aproimar a função = 3 no intervalo [0, 1] por um polinômio de terceiro grau, usando os valores de com incremento de 01 Resolva este mesmo problema com um polinômio de segundo grau e compare os resultados 9 Aproimar a função = sin no intervalo [0, π/] por um polinômio de segundo grau usando os valores de com incremento de 01π 10 Ajustar os dados da tabela a seguir ao modelo z = a b Referências i 1 3 4 5 i 01 15 33 45 50 i 59 88 10 198 15 [1] Cálculo Numérico (com aplicações); Leônidas C Barroso, Magali M A Barroso, Frederico F Campos, Márcio L B Carvalho, Miriam L Maia; Editora Harbra; Segunda edição; 1987 [] Cálculo Numérico - Características Matemáticas e Computacionais dos Métodos Numéricos; Décio Sperandio, João T Mendes, Luiz H Monken e Silva; Prentice- Hall; 003