You are on page 1of 29

ANS-115 1

EN ESTA CLASE
DIFERENCIAS DIVIDIDAS.
Generacin de tabla de diferencias divididas
Tabla de diferencias divididas con nueva
nomenclatura
Programas Matlab a convertir a Scilab:
ALG032 y ALG032_DIF_DIV
Diferencias Divididas Progresivas,
Regresivas.


ANS-115 2
DIFERENCIAS DIVIDIDAS
Suponga que se le dan los siguientes datos
tomados durante la observacin de un
experimento:
i x
i
f(x
i
)
0 1.0 0.7651977
1 1.3 0.6200860
2 1.6 0.4554022
3 1.9 0.2818186
4 2.2 0.1103623
ANS-115 3
Tabla de Diferencias Divididas:
i x
i
f(x
i
)
1 Dif. Div 2 Dif. Div
3 Dif.
Div
4 Dif.
Div
0 1.0 0.7651977
1 1.3 0.6200860
2 1.6 0.4554022
3 1.9 0.2818186
4 2.2 0.1103623
0 . 1 3 . 1
7651977 . 0 620086 . 0

3 . 1 6 . 1
620086 . 0 4554022 . 0

6 . 1 9 . 1
4554022 . 0 2818186 . 0

9 . 1 2 . 2
2818186 . 0 1103623 . 0

0 . 1 6 . 1

3 . 1 9 . 1

6 . 1 2 . 2

0 . 1 9 . 1

3 . 1 2 . 2

0 . 1 2 . 2

ANS-115 4
( )
( )
( ) ( ) ( )( )
( )( ) ( )
n
n n
n
n
n
n
n
a a a a
x x x x x x a
x x x x a x x a a x P
x P
x x x f
x x x f
simo n x P
, , , , apropiadas constantes las para

: forma la en expresar para
usan se , , , a respecto de Divididas s Diferencia Las
. , , , distintos nodos los en con concuerda que
Lagrange de Polinomio el es que Supongamos
2 1 0
1 1 0
1 0 2 0 1 0
1 0
1 0

+
+ + + =

( ) ( ) ( )( )
( )( ) ( )
( ) ( ) ( )
( ).
que As . que tiene se su vez a pero
que resulta en
evaluar al que Note
: con comenzamos constantes las de valor el determinar Para
0 0
0 0 0 0
0 1 1 0
1 0 2 0 1 0
0
x f a
x f x P a x P
x x x x x x x x a
x x x x a x x a a x P
a
n n
n n
n
=
= =
= +
+ + + =

ANS-115 5
( ) ( ) ( ) ( ) ( )
( ) ( )
( )
0 1
0 1
1
1 0 1 1 0 0 1 1 0 1
1

: proceso mismo el siguiendo , encontrar Para
x x
x f x f
a
x f x x a x f x x a a x P
a
n

=
= + = + =
| | ( )
| |
| |
| | | |
. ,
: por define se y , , por denota
se y a respecto de Dividida Diferencia Primera La
. valor el como e simplement , por denota
se que a respecto de Cero Dividida Diferencia la define Se
1
1
1
1
1
i i
i i
i i
i i
i i
i i
i
x x
x f x f
x x f
x x f
x x f
x f x f
x f

=
+
+
+
+
+
ANS-115 6
| |
| |
| | | |
| | | |
| |
| | | |
i k i
k i i i i k i k i i i i
k i i i i
k i i i
k i k i i i i k i i i i
i i
i i i i
i i i
i i i
i i i
x x
x x x x f x x x x x f
x x x x f
x x x sima k
x x x x x f x x x x f
k
x x
x x f x x f
x x x f
x x x f
x x x f

=
+
+ + + + + + + +
+ + +
+ +
+ + + + + + + +
+
+ + +
+ +
+ +
+ +
1 2 1 1 3 2 1
2 1
1
1 3 2 1 1 2 1
2
1 2 1
2 1
2 1
2 1
, , , , , , , , ,

, , , , : es
, , , a relativa Dividida Diferencia la
, , , , , y , , , ,
Divididas s Diferencia
1 primeras las definido haber de luego anloga manera De
.
, ,
, ,
: por define se y , , , por denota
se y , a respecto de Dividida Diferencia Segunda La


ANS-115 7
( )
( ) | | | |( ) ( )

=

+ =
n
k
k k n
n
x x x x x x x f x f x P
x P
1
1 0 1 0 0
. , , ,
: como escribir - re puede se notacin, nueva esta Con

En el ejemplo anterior:
i x
i
f(x
i
) 1 Dif. Div 2 Dif. Div 3 Dif. Div 4 Dif. Div
0 1.0 0.7651977
-0.4837057
1 1.3 0.6200860 -0.1087339
-0.548946 0.0658784
2 1.6 0.4554022 -0.0494433 0.0018251
-0.578612 0.0680685
3 1.9 0.2818186 0.0118183
-0.571521
4 2.2 0.1103623
ANS-115 8
( ) ( )
( )( )
( )( )( )
( )( )( )( )
( ) 51182 . 0
: que tiene se sustituir Al
9 . 1 6 . 1 3 . 1 0 . 1 0018251 . 0
6 . 1 3 . 1 0 . 1 0658784 . 0
3 . 1 0 . 1 1087339 . 0
0 . 1 4837057 . 0 7651977 . 0
: en tendr
se entonces , 5 . 1 en interpolar ejemplo por pidiera se Si
4
4
=
+
+

=
=
x P
x x x x
x x x
x x
x x P
x
A continuacin se presenta el Algoritmo 032
para obtener dichos coeficientes:
ANS-115 9
Algoritmo:
Entrada: los nodos x
0
,x
1
,,x
n
; los valores f(x
0
),
f(x
1
),,f(x
n
) como F
0,0
, F
1,0
,,F
n,0.
Salida: Los nmeros F
0,0
,F
1,1
,,F
n,n
. Donde
( ) ( )
( )
| | ( )
i i i
n n
j i i
j i j i
j i
n
i
i
j
j i i
x x x f F
F F F
x x
F F
F
i j
n i
x x F x P
, , , es Aqu
PARAR. ; , , , SALIDA : 2 Paso
Hacer
, , 2 , 1 Para
, , 2 , 1 Para : 1 Paso
1 0 ,
, 1 , 1 0 , 0
1 , 1 1 ,
,
0
1
0
,

=
=
=
=
[
ANS-115 10
Ejemplo: Use el ALG032 para construir
polinomios interpolantes de grados 1, 2 y 3
para x=8.4 con los siguientes datos:
f(8.1)=16.9441; f(8.3)=17.56492 ;
f(8.6)=18.50515; f(8.7)=18.82091.
Note que para este ejemplo los nodos NO
SON igualmente espaciados y el ALG032
siempre es aplicable.
El ALG032_DIF_DIV.M, genera la tabla de
diferencias divididas.
ANS-115 11
Usando ALG032.m

>> ALG032
Newtons form of the interpolation polynomial
Choice of input method:
1. Input entry by entry from keyboard
2. Input data from a text file
3. Generate data using a function F
Choose 1, 2, or 3 please
1
Input n
3
Input X(0) and F(X(0)) on separate lines
8.1
16.9441
Input X(1) and F(X(1)) on separate lines
8.3
17.56492
ANS-115 12
Input X(2) and F(X(2)) on separate lines
8.6
18.50515
Input X(3) and F(X(3)) on separate lines
8.7
18.82091
Select output destination
1. Screen
2. Text file
Enter 1 or 2
1
NEWTONS INTERPOLATION POLYNOMIAL

Input data follows:
X(0) = 8.10000000 F(X(0)) = 16.94410000
X(1) = 8.30000000 F(X(1)) = 17.56492000
X(2) = 8.60000000 F(X(2)) = 18.50515000
X(3) = 8.70000000 F(X(3)) = 18.82091000

ANS-115 13
The coefficients Q(0,0), ..., Q(N,N) are:
16.94410000
3.10410000
0.06000000
-0.00208333
( ) ( )
( )( )
( )( )( )
3
Ya que se pide interpolar en 8.4, entonces se tendr en:
16.9441 3.1041 8.1
0.0600 8.1 8.3
0.00208333 8.1 8.3 8.6
Al sustituir se tiene que
x
P x x
x x
x x x
=
= +
+

( )
3
:
8.4 17.87714249998000 P =
ANS-115 14
>> ALG032_DIF_DIV
Forma del polinomio de interpolacin de NEWTON
Elija el mtodo de entrada:
1. Ingresar entrada por medio del teclado
2. Ingresar datos desde un archivo de texto
3. Generar datos unsando una funcin F
Escoja 1, 2, o 3 por favor
1
Ingrese n
3
Ingrese X(0) y F(X(0)) en lneas separadas
8.1
16.9441
Ingrese X(1) y F(X(1)) en lneas separadas
8.3
17.56492
Usando ALG032_DIF_DIV.m

ANS-115 15
Ingrese X(2) y F(X(2)) en lneas separadas
8.6
18.50515
Ingrese X(3) y F(X(3)) en lneas separadas
8.7
18.82091
Seleccione el tipo de salida
1. Pantalla
2. Archivo de texto
Ingrese 1 o 2
1
INTERPOLACION POLINOMIAL DE NEWTON

Los datos de entrada son:
X(0) = 8.10000000 F(X(0)) = 16.94410000
X(1) = 8.30000000 F(X(1)) = 17.56492000
X(2) = 8.60000000 F(X(2)) = 18.50515000
X(3) = 8.70000000 F(X(3)) = 18.82091000
********* MATRIZ ********
16.94410000
17.56492000 3.10410000
18.50515000 3.13410000 0.06000000
18.82091000 3.15760000 0.05875000 -0.00208333
ANS-115 16
Frmula de la Diferencias Divididas Progresivas
de Newton (Para puntos no equidistantes)
0 0 1 0
0 1 2 0 1
0 1 2 3 0 1 2
0 1 0 1
( ) [ ] [ , ]( )
[ , , ]( )( )
[ , , , ]( )( )( ) ...
[ , ,..., ]( )...( )
Sabiendo que l
n
n n
P x f x f x x x x
f x x x x x x x
f x x x x x x x x x x
f x x x x x x x

= +
+
+ +
+
| |
| |
| | | |
| | | |
as as as
0 0
1 1 0 1
2 2 1 2 0 1
a tabla de diferencias divididas genera lo siguiente:
i F 1 Dif.Div 2 Dif.Div. 3 Dif.Div. 4 Dif.Div.
0 F
1 F F ,
2 F F , F , ,
as
i i
x x
x x
x x x x
x x x x x x x
| |
| | | | | | | |
| | | | | | | | | |
2
3 3 2 3 1 2 3 0 1 2 3
4 4 3 4 2 3 4 1 2 3 4 0 1 2 3 4
3 F F , F , , F , , ,
4 F F , F , , F , , , F , , , ,
x x x x x x x x x x x
x x x x x x x x x x x x x x x x
ANS-115 17
Frmula de la Diferencias Divididas Progresivas
de Newton (Para puntos equidistantes)
( )
( ) ( )
( ) | | | |
0 1
1
0
0
0 0 1
Cuando los nodos , , , son equidistantes,
Sea , 0,1, , 1.
Y sea podemos escribir la diferencia
como . Por lo tanto,
,

n
i i
i i
n n
n
x x x
h x x i n
x x sh
x x x x s i h
P x P x sh
P x f x shf x x
+
= =
= +
=
= +
= +
( ) | |
( )( ) ( ) | |
2
0 1 2
0 1
1 , ,
1 2 1 , , ,
n
n
s s h f x x x
s s s s n h f x x x
+
+ + +
ANS-115 18
La frmula usada para la interpolacin es:
( )
| | | |
( ) | |
( )( ) ( ) | |
0
0 0 1
2
0 1 2
0 1
( )
,
1 , ,

1 2 1 , ,...,
Siendo el espacio entre los nodos igualmente
n
n
n
P x P x sh
f x shf x x
s s h f x x x
s s s s n h f x x x
h
= +
= +
+
+
+ +
0 1
0
espaciados :
, , , y conociendo el nodo de interpolacin el valor
de se calcula por:
n
x x x x
x x
s s
h

=
ANS-115 19
La forma de uso de este algoritmo ALG032 es:
Seleccionar la forma en que se introducirn los
datos de
la cual puede ser:
a.Por teclado digitando los valores de cada
punto
0 0 1 1
( , ( )), ( , ( )),..., ( , ( )),
n n
x f x x f x x f x
0 0 1 1
( , ( )), ( , ( )),..., ( , ( )),
n n
x f x x f x x f x

b.Mediante un archivo de texto (que debe ser
creado digitando en una columna los valores
x y f(x) respectivamente), o
c. usando una funcin
( ) f x
ANS-115 20
0 0 1 1
( , ( )), ( , ( )),..., ( , ( )),
n n
x f x x f x x f x
0 1
, ,..., ,
n
x x x
.
- Si se digitan por teclado los valores de cada
punto
que ser evaluada en los valores de
primero se deber digitar el valor de n (que es la
cantidad de nodos menos 1.
y luego debe ingresarse el valor de x y el
respectivo f(x) en lneas separadas.
El resultado ser la tabla de los valores de
n i i Q
i i
,..., 1 ,
,
=
ANS-115 21
Entonces se debe crear el polinomio en SCILAB
para evaluar en el nodo particular de
interpolacin.
A continuacin use SCILAB y el ALG032 para
resolver el ejemplo.
ANS-115 22
i
x
( )
i
f x
EJEMPLO:
Suponga que se quiere interpolar usando las
Diferencias Progresivas en x=0.3333 y se nos da
la siguiente tabla:
[Note que los nodos deben estar igualmente
espaciados y se recomienda el mtodo cuando el
nodo de interpolacin se encuentre prximo al
valor del nodo inicial x
0
]
i
0 0 1.101
1 0.25 0.3349375
2 0.5 -0.02475
3 0.75 -0.0718125
ANS-115 23
Al ejecutar el ALG032, con dichos valores se
obtienen los siguientes resultados:
NEWTONS INTERPOLATION POLYNOMIAL
Input data follows:
X(0) = 0.00000000 F(X(0)) = 1.10100000
X(1) = 0.25000000 F(X(1)) = 0.33493750
X(2) = 0.50000000 F(X(2)) = -0.02475000
X(3) = 0.75000000 F(X(3)) = -0.07181250
The coefficients F[X
0
], ..., F[X
0
,X
n-1
] are:
1.10100000
-3.06425000
3.25100000
-1.00000000
ANS-115 24
Aqu h=0.25, y como x=0.3333, se puede
calcular s como: s=(0.3333 - 0)/0.25 = 1.3332
As que :
( )
| | | | ( ) | |
( )( ) ( ) | |
( )
0
2
0 0 1 0 1 2
0 1 1
3
( )
, 1 , ,
1 2 1 , ,...,
0.3333 1.101 (1.3332*0.25)*( 3.06425)
(1.3332*0.3332)*(0.25) ^ 2*3.251

n
n
n
P x P x sh
f x shf x x s s h f x x x
s s s s n h f x x x
P

= +
= + + +
+ +
= +
+
(1.3332*0.3332*( 0.6668))*(0.25) ^ 3*( 1)
0.17457
+
=
ANS-115 25
Frmula de la Diferencias Divididas Regresivas de
Newton (Para puntos no equidistantes)
1
1 2 1
1 2 3 1 2
1 0
( ) [ ] [ , ]( )
[ , , ]( )( )
[ , , , ]( )( )( )
... [ , ,..., ]( )...(
n n n n n
n n n n n
n n n n n n n
n n n
P x f x f x x x x
f x x x x x x x
f x x x x x x x x x x
f x x x x x x

= +
+
+
+ +
| |
| |
| | | |
| |
1
as as as
4 4
3 3 3 4
2 2
)
Sabiendo que la tabla de diferencias divididas genera lo siguiente:
i F 1 Dif.Div 2 Dif.Div. 3 Dif.Div. 4 Dif.Div.
4 F
3 F F ,
2 F
as
i i
x
x x
x x
x x x x
x x

| | | |
| | | | | | | |
| | | | | | | | | |
2 3 2 3 4
1 1 1 2 1 2 3 1 2 3 4
0 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4
F , F , ,
1 F F , F , , F , , ,
0 F F , F , , F , , , F , , , ,
x x x x x
x x x x x x x x x x x
x x x x x x x x x x x x x x x x
ANS-115 26
La frmula usada para la interpolacin es:
( )
| | | | ( ) | |
( )( ) ( ) | |
2
1 2 1
0 1
1
( )
, 1 , ,

1 2 1 , ,...,
Siendo 0 el espacio entre los nodos igualmente
espaciados , ,
n n
n n n n n n
n
n
n n
P x P x sh
f x shf x x s s h f x x x
s s s s n h f x x x
h
x x

= +
= + + +
+
+ + + +
<
0
, y conociendo el nodo de
interpolacin el valor de se calcula por:
n
x
x x
x s s
h

=
Frmula de la Diferencias Divididas Regresivas
de Newton (Para puntos equidistantes)
ANS-115 27
Para este mtodo, los valores de cada punto
se deben ingresar en orden inverso (primero los
ltimos):
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
0 0 2 2 1 1
, , , , , , , , x f x x f x x f x x f x
n n n n n n


i
x ( )
i
f x i
0 0.75 -0.0718125
1 0.5 -0.02475
2 0.25 0.3349375
3 0.0 1.101

Considere la tabla del ejemplo anterior:
Este ser el nuevo orden de ingreso.
ANS-115 28
Al ejecutar el ALG032, con dichos valores se
obtienen los siguientes resultados:
NEWTONS INTERPOLATION POLYNOMIAL
Input data follows:
X(0) = 0.75000000 F(X(0)) = -0.07181250
X(1) = 0.50000000 F(X(1)) = -0.02475000
X(2) = 0.25000000 F(X(2)) = 0.33493750
X(3) = 0.00000000 F(X(3)) = 1.10100000
The coefficients F[X
n
], ..., F[X
0
,X
n
] are:
-0.07181250
-0.18825000
2.50100000
-1.00000000
ANS-115 29
Aqu h=0.25, y como x=0.3333,
se puede calcular s como:
s=(0.3333-0.75)/0.25 = -1.6668 As que :
( )
| | | | ( ) | |
( )( ) ( ) | |
( )
2
1 1 2
1 1 0
3
( )
, 1 , ,

1 2 1 , ,..., ,
0.3333 0.0718125 ( 1.6668*( 0.25)) *( 0.18825)
( 1.6668*0.6668
n n
n n n n n n
n
n n
P x P x sh
f x shf x x s s h f x x x
s s s s n h f x x x x
P

= +
= + + +
+
+ + + +
= +
+ ) *( 0.25) ^ 2*2.501
( 1.6668*0.6668*1.6668) *( 0.25) ^ 3*( 1)
0.02926

+
=

You might also like