Ajuste de Splines a um Conjunto de Dados Reginaldo J. Santos Departamento de Matemática-ICE Universidade Federal de Minas Gerais http://www.mat.ufmg.br/~regi regi@mat.ufmg.br 7 de junho de Seja C (I) o espaço das funções que possuem a segunda derivada contínua no intervalo I. Dados os números reais b < b <... < b n, igualmente espaçados, isto é, b k+ b k = (b n b )/(n ), para k =,..., n. Seja S o subconjunto de C [b, b n ] formado pelas funções que são polinômios de grau menor ou igual a em cada subintervalo [b k, b k+ ], para k =,..., n. Este conjunto é chamado de Splines (cúbicos) em [b, b n ] com pontos de quebra b,..., b n. O conjunto S é claramente um subespaço de C [b, b n ]. Vamos mostrar que a dimensão de S é n +. Seja f um elemento genérico de S. Então f() = a () + a () + a () + a (), se b < b,.. a (n ) + a (n ) + a (n ) + a (n ), se b n b n, Assim a função f é uma combinação linear de (n ) = n funções. Mas, os coeficientes não são independentes, pois precisamos usar o fato de que f, f e f são contínuas nos pontos de quebra b,..., b n. Do fato de que f, f e f são contínuas em b obtemos as equações a () + a () b + a () b + a () b a () a () b a () b a () b = a () + a () b + a () b a () a () b a () b = a () + a () b a () 6a () b = Do fato de que f, f e f são contínuas em b obtemos as equações a () + a () b + a () b + a () b a () a () b a () b a () a () + a () b + a () b a () a () b a () a () + a () b a () 6a () b = b = b = Juntando os dois conjuntos de equações obtidos aos que podemos obter para os pontos de quebra restantes obtemos um sistema linear homogêneo triangular superior com (n ) = n 6 equações e n incógnitas. Como o sistema é triangular superior, então as equações são linearmente independentes e portanto teremos uma solução que depende de (n ) (n 6) =
n+ parâmetros. E assim, podemos escrever todo spline de S como combinação linear de apenas n + funções. Isto mostra que a dimensão de S é menor ou igual a n +. Vamos agora eibir um conjunto de n + splines linearmente independentes o que vai nos permitir concluir que a dimensão de S é n +. Para k =,..., n +, sejam em que q k () = p (t), se b k < b k, p (t), se b k < b k, p ( t), se b k < b k, p ( t), se b k b k+, p (t) = t, p (t) = ( + t)( t) e t = ( b k )/h com h = b k+ b k = (b n b )/(n )..8.8.8.6.6.6........5..5..5.8.8.8.6.6.6........5..5..5 Figura : Funções q k, para k =,..., 6 no intervalo [, ] dividido em subintervalos Vamos considerar a combinação linear nula dos splines q k n+ α k q k () =. () k= Em cada intervalo [b k, b k+ ] somente as funções q k, q k+, q k+ e q k+ podem ser diferentes de zero, e são dadas neste intervalo por q k () = p ( t),
q k+ () = p ( t), q k+ () = p (t), q k+ () = p (t) em que t = ( b k )/h com h = b k+ b k = (b n b )/(n )..8.6.......6.8 Figura : Funções q k, para k =,..., 6 no intervalo [, ] dividido em subintervalos Derivando a equação () e substituindo nos pontos = b e = b obtemos as equações { α + α = α + α = Juntando com as equações correspondentes aos pontos b,..., b n obtemos n equações que dão que os α k s para k ímpar são iguais o mesmo acontecendo para os α k s para k par. Substituindo = b e = b na equação () obtemos as equações { α + α + α = α + α + α = Como α = α e α = α, obtemos as equações { α + α = α + α = o que dá que α = α =... = α n+ =. Portanto as funções q k, para k =,..., n +, são L.I. o que prova que o subespaço S tem dimensão n + e que o conjunto {q k k =,..., n + } é uma base de S. Assim cada função f S tem uma única representação como uma combinação linear n+ f() = c j q j (). j= Usando a base {q k k =,..., n + } o problema de encontrar uma função de S que melhor se ajusta a um conjunto de pontos (, ),..., ( m, m ) no sentido de quadrados mínimos toma a forma min AX B, em que a matriz A é definida por a ij = q j ( i ), o vetor B é dado por b i = i e X é o vetor dos coeficientes c j, para j =,..., n + e i =,..., m.
.5.5.5.5.5.5.5.5.5.5.5 Figura : Ajuste dos dados do Eemplo por splines dividindo-se o intervalo [, ] em dois subintervalos Eemplo. Considere o seguinte conjunto de dados Dividindo-se o intervalo [, ] em dois subintervalos e usando a base {q, q, q, q, q 5 }, o problema de encontrar um spline f() = c q () + c q () + c q () + c q () + c 5 q 5 () que melhor se ajusta ao conjunto de pontos (, ), (, ), (, ), (, ), (, ) no sentido de quadrados mínimos toma a forma min AX B, em que a matriz A é definida por a ij = q j ( i ), B por b j = j e X por j = c j, para i =,..., 6, j =,..., 5. Neste caso A =, B =, X = Os coeficientes c j obtidos resolvendo o problema de quadrados mínimos são c c c c c 5, c = /, c = 95/9, c = 5/9, c = 9, c 5 = 89/9 Eemplo. Vamos, agora, acrscentar o par (/, ) ao conjunto de dados do eemplo anterior obtendo o seguinte conjunto de dados /
.5.5.5.5.5.5.5.5.5.5.5 Figura : Ajuste dos dados do Eemplo por splines dividindo-se o intervalo [, ] em dois subintervalos Como no eemplo anterior, dividindo-se o intervalo [, ] em dois subintervalos e usando a base {q, q, q, q, q 5 }, o problema de encontrar um spline f() = c q () + c q () + c q () + c q () + c 5 q 5 () que melhor se ajusta ao conjunto de pontos (, ), (, ), (/, ), (, ), (, ), (, ) no sentido de quadrados mínimos toma a forma min AX B, em que a matriz A é definida por a ij = q j ( i ), B por b j = j e X por j = c j, para i =,..., 6, j =,..., 5. Neste caso 5 7 c A = 56 56 56 56, B = c, X = c c, c 5 Os coeficientes c j obtidos resolvendo o problema de quadrados mínimos são c =.558, c =.66, c =.6, c = 9.6, c 5 =.789 5
Comandos do MATLAB: >>=linspace(a,b) cria um vetor contendo valores igualmente espaçados entre a e b. >>plot(,f()) desenha as função f() ligando os pontos que ( i, f( i ). Comandos do pacote GAAL: >> qk=spline(k,,nbp,a,b) calcula o spline q k em para um intervalo [a,b] dividido em nbp- subintervalos. >> A=spline(X,nbp,a,b) cria a matriz a ij = q j (X i ) para um intervalo [a,b] dividido em nbp- subintervalos. >> f=spline(c,,nbp,a,b) calcula a soma C k q k () com k=:nbp+ Referências [] Charles L. Lawson and Richard J. Hanson. Solving Least Squares Problems. SIAM, Philadelphia, 995. [] Reginaldo J. Santos. Geometria Analítica e UFMG, Belo Horizonte,. Álgebra Linear. Imprensa Universitária da 6