You are on page 1of 2

18 Interpolaci on

Algoritmo 2: Spline C ubico Natural


Input: n; x
0
, x
1
, ... , x
n
; a
0
= f(x
0
),a
1
= f(x
1
), ... , a
n
= f(x
n
)
1 for i = 0, 1 n 1 do
2 h
i
= x
i+1
x
i
3 for i = 0, 1 n 1 do
4
i
=
3
hi
(a
i+1
a
i
)
3
hi1
(a
i
a
i1
)
5 Sea
6 l
0
= 1;
7
0
= 0;
8 z
0
= 0.
9 for i = 1, 2 n 1 do
10 l
i
= 2(x
i+1
x
i1
) h
i1

i1
;
11
i
= h
i
/l
i
;
12 z
i
= (
i
h
i1
z
i1
)/l
i
13 Sea
14 l
n
= 1;
15 z
n
= 0;
16 c
n
= 0.
17 for j = n 1, n 2, , 0 do
18 c
j
= z
j

j
c
j+1
;
19 b
j
= (a
j+1
a
j
)/h
j
h
j
(c
j+1
+ 2c
j
)/3;
20 d
j
= (c
j+1
c
j
)/3h
j
.
Output: a
j
, b
j
, c
j
, d
j
para j = 0, 1, , n 1
Interpolaci on 19
Algoritmo 3: Spline C ubico Completo
Input: n; x
0
, x
1
, ... , x
n
; a
0
= f(x
0
),a
1
= f(x
1
), ... , a
n
= f(x
n
);
F
1
= f

(x
0
); F
2
= f

(x
n
).
1 for i = 0, 1 n 1 do
2 h
i
= x
i+1
x
i
3 Sea
4
0
= 3(a
1
a
0
)/h
0
3F
1
;
5
n
= 3F
2
3(a
n
a
n1
)/h
n1
.
6 for i = 1, 2 n 1 do
7
i
=
3
hi
(a
i+1
a
i
)
3
hi1
(a
i
a
i1
)
8 Sea
9 l
0
= 2h
0
;
10
0
= 0.5;
11 z
0
=
0
/l
0
.
12 for i = 1, 2 n 1 do
13 l
i
= 2(x
i+1
x
i1
) h
i1

i1
;
14
i
= h
i
/l
i
;
15 z
i
= (
i
h
i1
z
i1
)/l
i
16 Sea
17 l
n
= h
n1
(2
n1
);
18 z
n
= (
n
h
n1
z
n1
)/l
n
;
19 c
n
= z
n
.
20 for j = n 1, n 2, , 0 do
21 c
j
= z
j

j
c
j+1
;
22 b
j
= (a
j+1
a
j
)/h
j
h
j
(c
j+1
+ 2c
j
)/3;
23 d
j
= (c
j+1
c
j
)/3h
j
.
Output: a
j
, b
j
, c
j
, d
j
para j = 0, 1, , n 1

You might also like