Escolar Documentos
Profissional Documentos
Cultura Documentos
Reginaldo J. Santos
Departamento de Matematica-ICEx
Universidade Federal de Minas Gerais
http://www.mat.ufmg.br/~regi
regi@mat.ufmg.br
7 de junho de 2001
Seja C 2 (I) o espaco das funcoes que possuem a segunda derivada contnua no intervalo
I. Dados os n
umeros reais b1 < b2 < . . . < bn , igualmente espacados, isto e, bk+1 bk =
(bn b1 )/(n 1), para k = 1, . . . , n 1. Seja S o subconjunto de C 2 [b1 , bn ] formado pelas
funcoes que sao polinomios de grau menor ou igual a 3 em cada subintervalo [bk , bk+1 ], para
k = 1, . . . , n 1. Este conjunto e chamado de Splines (c
ubicos) em [b1 , bn ] com pontos de
quebra b2 , . . . , bn1 . O conjunto S e claramente um subespaco de C 2 [b1 , bn ]. Vamos mostrar
que a dimensao de S e n + 2.
Seja f um elemento generico de S. Entao
(1)
(1)
(1)
(1)
a1 x +
a 2 x2 +
a3 x3 , se b1 x < b2 ,
a0 +
..
..
f (x) =
.
.
(n1)
(n1) 3
(n1)
(n1) 2
x + a3
x , se bn1 x bn ,
x + a2
a0
+ a1
(2) 3
(2)
(2)
(2) 2
(1) 3
(1)
(1)
(1) 2
a0 + a 1 b 2 + a 2 b 2 + a 3 b 2 a 0 a 1 b 2 a 2 b 2 a 3 b 2 = 0
(1)
(1)
(1)
(2)
(2)
(2)
a1 + 2a2 b2 + 3a3 b22
(2)
(2)
(1)
(1)
2a2 + 3a3 b2
2a2 6a3 b2 = 0
(2)
(2)
(2) 2
(2) 3
(3)
(3)
(3) 2
(3) 3
a0 + a 1 b 3 + a 2 b 3 + a 3 b 3 a 0 a 1 b 3 a 2 b 3 a 3 b 3 = 0
(3)
(3)
(2)
(3)
(2)
(2)
(2)
(2)
(3)
(3)
2a2 + 3a3 b3
2a2 6a3 b3 = 0
Juntando os dois conjuntos de equacoes obtidos aos que podemos obter para os pontos de quebra
restantes obtemos um sistema linear homogeneo triangular superior com 3(n 2) = 3n 6
equacoes e 4n 4 incognitas. Como o sistema e triangular superior, entao as equacoes sao
linearmente independentes e portanto teremos uma solucao que depende de (4n4)(3n6) =
1
n+2 parametros. E assim, podemos escrever todo spline de S como combinacao linear de apenas
n + 2 funcoes. Isto mostra que a dimensao de S e menor ou igual a n + 2.
Vamos agora exibir um conjunto de n + 2 splines linearmente independentes o que vai nos
permitir concluir que a dimensao de S e n + 2. Para k = 1, . . . , n + 2, sejam
p1 (t),
se bk3 x < bk2 ,
p2 (t),
se bk2 x < bk1 ,
qk (x) =
p
(1
t),
se
bk1 x < bk ,
p1 (1 t), se bk x bk+1 ,
em que
1 3
t,
4
3
p2 (t) = 1 (1 + t)(1 t)2
4
e t = (x bk )/h com h = bk+1 bk = (bn b1 )/(n 1).
p1 (t) =
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0
0.2
x
0
0.5
0.2
0.5
0
0.2
y
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0.2
x
0
0.5
0
0.2
0.5
0.8
x
0
0.5
0
0.2
x
0
0.5
k qk (x) = 0.
(1)
k=1
Em cada intervalo [bk , bk+1 ] somente as funcoes qk , qk+1 , qk+2 e qk+3 podem ser diferentes de
zero, e sao dadas neste intervalo por
qk (x) = p1 (1 t),
2
0.8
0.6
0.4
0.2
0.2
0.2
0.2
0.4
0.6
0.8
n+2
X
cj qj (x).
j=1
4.5
3.5
2.5
1.5
0.5
0
x
1.5
0.5
0.5
1.5
2.5
3.5
Figura 3: Ajuste dos dados do Exemplo 1 por splines dividindo-se o intervalo [1, 3] em dois
subintervalos
Exemplo 1. Considere o seguinte conjunto de dados
x 1 0 1 2 3
y
1 4 1 3 0
Dividindo-se o intervalo [1, 3] em dois subintervalos e usando a base {q1 , q2 , q3 , q4 , q5 }, o problema de encontrar um spline
f (x) = c1 q1 (x) + c2 q2 (x) + c3 q3 (x) + c4 q4 (x) + c5 q5 (x)
que melhor se ajusta ao conjunto de pontos (1, 1), (0, 4), (1, 1), (2, 3), (3, 0) no sentido de
quadrados mnimos toma a forma
min ||AX B||,
em que a matriz A e definida por aij = qj (xi ), B por bj = yj e X por xj
j = 1, . . . , 5. Neste caso
1
1 14 0 0
4
1
1 23 23 1
32 32 32 32 0
1
1
1
, X=
A = 0 4 1 4 0 , B =
3
0 1 23 23 1
32
32
32
32
0
1
0 0 4 1 14
= cj , para i = 1, . . . , 6,
c1
c2
c3
c4
c5
c2 = 95/9,
c3 = 35/9,
c4 = 9,
c5 = 289/9
Exemplo 2. Vamos, agora, acrscentar o par (1/2, 2) ao conjunto de dados do exemplo anterior
obtendo o seguinte conjunto de dados
x
y
1 0 1/2
1 4 2
4
1 2 3
1 3 0
4.5
3.5
2.5
1.5
0.5
0
x
1.5
0.5
0.5
1.5
2.5
3.5
Figura 4: Ajuste dos dados do Exemplo 2 por splines dividindo-se o intervalo [1, 3] em dois
subintervalos
Como no exemplo anterior, dividindo-se o intervalo [1, 3] em dois subintervalos e usando a
base {q1 , q2 , q3 , q4 , q5 }, o problema de encontrar um spline
f (x) = c1 q1 (x) + c2 q2 (x) + c3 q3 (x) + c4 q4 (x) + c5 q5 (x)
que melhor se ajusta ao conjunto de pontos (1, 1), (0, 4), (1/2, 2), (1, 1), (2, 3), (3, 0) no sentido
de quadrados mnimos toma a forma
min ||AX B||,
em que a matriz A e definida por aij = qj (xi ), B por bj = yj
j = 1, . . . , 5. Neste caso
1
1
1
0 0
4
4
1
1
23
23
1
32 32 32 32 0
4
1 121 235 27
4
4
3
0
1
23
23
1
32
32
32
32
0
1
1
0
0
1 4
4
e X por xj = cj , para i = 1, . . . , 6,
X=
c1
c2
c3
c4
c5
c2 = 10.6063,
c3 = 4.0436,
c4 = 9.2060,
c5 = 32.7890
Comandos do MATLAB:
>>x=linspace(a,b) cria um vetor x contendo 100 valores igualmente espacados entre a e b.
>>plot(x,f(x)) desenha as funcao f(x) ligando os pontos que (xi , f (xi ).
Comandos do pacote GAAL:
>> qk=spline1(k,x,nbp,a,b) calcula o spline qk em x para um intervalo [a,b] dividido em
nbp-1 subintervalos.
>> A=spline1(X,nbp,a,b) cria a matriz aij = qj (Xi ) para um intervalo [a,b] dividido em
nbp-1 subintervalos.
>> f=spline1(C,x,nbp,a,b) calcula a soma Ck qk (x) com k=1:nbp+2
Refer
encias
[1] Charles L. Lawson and Richard J. Hanson. Solving Least Squares Problems. SIAM, Philadelphia, 1995.