I
I
N
N
T
T
R
R
O
O
D
D
U
U
C
C
C
C
I
I
Ó
Ó
N
N
A
A
L
L
O
O
S
S
M
M
É
É
T
T
O
O
D
D
O
O
S
S
N
N
U
U
M
M
É
É
R
R
I
I
C
C
O
O
S
S
C
C
O
O
N
N
D
D
E
E
R
R
I
I
V
V
E
E
6
6
P
P
r
r
i
i
m
m
e
e
r
r
a
a
E
E
d
d
i
i
c
c
i
i
ó
ó
n
n
J
J
a
a
i
i
m
m
e
e
E
E
c
c
h
h
e
e
v
v
e
e
r
r
r
r
í
í
a
a
P
P
r
r
o
o
f
f
e
e
s
s
o
o
r
r
d
d
e
e
Á
Á
l
l
g
g
e
e
b
b
r
r
a
a
L
L
i
i
n
n
e
e
a
a
l
l
y
y
M
M
é
é
t
t
o
o
d
d
o
o
s
s
N
N
u
u
m
m
é
é
r
r
i
i
c
c
o
o
s
s
D
D
e
e
p
p
a
a
r
r
t
t
a
a
m
m
e
e
n
n
t
t
o
o
d
d
e
e
C
C
i
i
e
e
n
n
c
c
i
i
a
a
s
s
E
E
x
x
a
a
c
c
t
t
a
a
s
s
–
–
E
E
s
s
c
c
u
u
e
e
l
l
a
a
P
P
o
o
l
l
i
i
t
t
é
é
c
c
n
n
i
i
c
c
a
a
d
d
e
e
l
l
E
E
j
j
é
é
r
r
c
c
i
i
t
t
o
o
.
.
2 Prólogo
P
P
R
R
Ó
Ó
L
L
O
O
G
G
O
O
Los Métodos Numéricos, constituyen una herramienta fundamental en la generación de algoritmos computacionales y una técnica mediante la cual se resuelven problemas matemáticos, que no tienen solución analítica, frecuentes en las ciencias aplicadas y en todos los campos de la Ingeniería y la Tecnología.
El presente texto explica en detalle una gran parte de los métodos del Análisis Numérico, poniendo énfasis en la ejemplificación de los mismos y en la programación con la ayuda del sistema de álgebra computacional Derive 6 y el software MathCAD, aunque el uso de los mismos no es obligatorio al lector, el cual puede hacer uso ya sea de otros sistemas CAS o lenguajes de programa-ción(MATLAB, MATHEMATICA, MAPLE, C, Fortran, etc.).
El capítulo 0 introduce al lector en los errores y su uso dentro del Análisis Numérico, pues al ser los métodos numéricos “aproxi-maciones” a lo exacto incurrirán en errores que deberán ser cuantificados para evitar que su presencia influya de forma negativa en un resultado. Además los errores constituyen uno de los parámetros fundamentales para identificar las fortalezas y debilidades de un método numérico y su análisis puede llevar a mejorar su rendimiento.
El capítulo 1 trata la interpolación polinómica, elemento indispensable en la predicción de resultados así como para la generación de métodos numéricos para otros campos como la diferenciación e integración numérica.
El capítulo 2 estudia la solución de las ecuaciones no lineales, pues algoritmos numéricos en este campo son indispensables da-do que no existen soluciones analíticas exactas para la mayoría de ecuaciones no lineales, excepto para muy pocas de ellas, y aún para ecuaciones polinómicas sólo existen soluciones analíticas exactas para ecuaciones de cuarto grado o inferior. Muchos pro-blemas de las ciencias aplicadas llevan la resolución de una ecuación lineal, por lo que este tema es de irrenunciable análisis para los métodos numéricos.
Los capítulos 3 y 4 revisan los temas del cálculo numérico, dado que las derivadas e integrales numéricas son de vital importan-cia dentro del estudio de las ecuaciones diferenimportan-ciales, tema este último que es uno de los puntos culminantes del Análisis Numéri-co y es revisado en el capítulo 5.
El capítulo 6, revisa brevemente algunos métodos numéricos del Álgebra Lineal, exclusivamente en la solución de sistemas de ecuaciones lineales.
Finalmente el Apéndice A, da una breve descripción de Derive 6 y en el Apéndice B una revisión de las series de Taylor, elemento básico en el análisis del error por truncamiento.
El contenido del texto es suficiente para un curso de un semestre de Métodos Numéricos, pudiendo quedar a discreción del profe-sor la elección del orden de los temas a tratarse de acuerdo a su experiencia docente.
La mayoría de los cálculos numéricos en los problemas del texto fueron realizados con la ayuda de una calculadora gráfica TI – 92 Plus, así como los gráficos provienen de los sistemas CAS Derive 6 y MathCAD.
Espero que el texto sea una fuente invalorable de consulta para quienes esperan obtener de los Métodos Numéricos una fuente de información valiosa para sus posteriores estudios en campos especializados de la Ingeniería y la Tecnología.
Cualquier comentario, consejo o sugerencia remitirlo al e-mail [email protected]
3 Contenido
C
C
O
O
N
N
T
T
E
E
N
N
I
I
D
D
O
O
P PRRÓÓLLOOGGOO......................................................................................................................................................................................................................................................................................................................22 C COONNTTEENNIIDDOO................................................................................................................................................................................................................................................................................................................33 C CAAPPÍÍTTUULLOO 00........................................................................................................................................................................................................................................................................................................66PROCESOS ITERATIVOS Y ERRORES EN ANÁLISIS NUMÉRICO ... 6
0.1 PROCESOS ITERATIVOS. ... 6
0.2 ERRORES EN ANÁLISIS NUMÉRICO. ... 8
0.2.1 ERRORES DE REDONDEO Y NÚMEROS DE PUNTO FLOTANTE ... 10
0.2.2 FUENTES DE ERROR POR REDONDEO... 13
0.2.3 CIFRAS DECIMALES Y CIFRAS SIGNIFICATIVAS. ... 14
0.3 PRECISIÓN EN DERIVE 6. ... 17
C CAAPPÍÍTTUULLOO 11....................................................................................................................................................................................................................................................................................................2200 INTERPOLACIÓN POLINÓMICA ... 20
1.1 INTERPOLACIÓN POLINÓMICA POR EL MÉTODO GENERAL O DE SERIE DE POTENCIAS ... 20
1.1.1 POLINOMIO DE INTERPOLACIÓN POR EL MÉTODO GENERAL CON DERIVE 6. ... 21
1.2 INTERPOLACIÓN LINEAL... 22
1.2.1 INTERPOLACIÓN LINEAL CON DERIVE 6. ... 23
1.3 POLINOMIO DE INTERPOLACIÓN DE LAGRANGE. ... 25
1.3.1 POLINOMIO DE INTERPOLACIÓN DE LAGRANGE CON DERIVE 6. ... 27
1.4 DIFERENCIAS DIVIDIDAS. ... 28
1.5 POLINOMIO DE INTERPOLACIÓN DE NEWTON. ... 32
1.5.1 POLINOMIO DE INTERPOLACIÓN DE NEWTON CON DERIVE 6. ... 38
1.6 ERROR EN POLINOMIOS DE INTERPOLACIÓN. ... 39
1.7 ERROR EN LOS POLINOMIOS DE INTERPOLACIÓN DE NEWTON. ... 45
1.8 INTERPOLACIÓN CON RAÍCES O PUNTOS DE CHEBYSHEV. MINIMIZACIÓN DEL ERROR DE INTERPOLACIÓN. ... 46
1.8.1 RAÍCES DE CHEBYSHEV CON DERIVE 6... 48
C CAAPPÍÍTTUULLOO 22....................................................................................................................................................................................................................................................................................................4499 SOLUCIÓN DE ECUACIONES NO LINEALES ... 49
2.1 AISLAMIENTO DE RAICES. ... 49
2.2 APROXIMACIÓN GRÁFICA A LA SOLUCIÓN DE UNA ECUACIÓN. ... 50
2.3 MÉTODOS CERRADOS. ... 51
2.3.1 MÉTODO DE BISECCIÓN. ... 51
2.3.1.1 MÉTODO DE BISECCIÓN UTILIZANDO DERIVE 6 ... 55
2.3.2 MÉTODO DE FALSA POSICIÓN, DE LAS CUERDAS O REGULA FALSI. ... 56
2.4 MÉTODOS ABIERTOS. ... 59
2.4.1 MÉTODO DE NEWTON - RAPHSON O DE LAS TANGENTES. ... 60
2.4.1.1 MÉTODO DE NEWTON-RAPHSON CON DERIVE 6. ... 63
2.4.2 MÉTODO DE LAS SECANTES. ... 64
2.4.2.1 MÉTODO DE LAS SECANTES CON DERIVE 6. ... 66
2.4.3 MÉTODO DE ITERACIÓN DE PUNTO FIJO O DE SUSTITUCIONES SUCESIVAS. ... 66
2.4.3.1 MÉTODO DE ITERACIÓN DE PUNTO FIJO CON DERIVE 6. ... 71
C CAAPPÍÍTTUULLOO 33....................................................................................................................................................................................................................................................................................................7722 DIFERENCIACIÓN NUMÉRICA ... 72
3.1 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS. ... 72
3.1.1 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS PROGRESIVAS Y REGRESIVAS. ... 72
3.1.2 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS CENTRALES. ... 78
4 Contenido
3.2 ERROR EN DIFERENCIACIÓN NUMÉRICA. ... 81
3.3 DERIVADAS NUMÉRICAS CON DERIVE 6. ... 83
C CAAPPÍÍTTUULLOO 44....................................................................................................................................................................................................................................................................................................8855 INTEGRACIÓN NUMÉRICA ... 85
4.1 MÉTODO DE LOS RECTÁNGULOS Y DEL PUNTO MEDIO ... 85
4.1.1 MÉTODO DE LOS RECTÁNGULOS Y DEL PUNTO MEDIO CON DERIVE 6. ... 89
4.2 MÉTODO DE LOS TRAPECIOS. ... 89
4.2.1 MÉTODO DE LOS TRAPECIOS CON DERIVE 6. ... 92
4.3 REGLAS DE SIMPSON. ... 92
4.3.1 REGLA DE 1/3 DE SIMPSON. ... 92
4.3.2 REGLA DE 3/8 DE SIMPSON. ... 96
4.3.3 REGLAS DE SIMPSON UTILIZANDO DERIVE 6. ... 97
4.4 FÓRMULAS DE NEWTON – COTES. ... 98
4.5 ERROR EN MÉTODOS DE INTEGRACIÓN. ... 98
4.6 INTEGRACIÓN DE ROMBERG. ... 102
C CAAPPÍÍTTUULLOO 55................................................................................................................................................................................................................................................................................................111100 ECUACIONES DIFERENCIALES ORDINARIAS ... 110
5.1 SOLUCIÓN GENERAL Y PARTICULAR DE UNA ECUACIÓN DIFERENCIAL ... 110
5.2 MÉTODOS DE EULER ... 111
5.2.1 MÉTODOS DE EULER HACIA ADELANTE Y HACIA ATRÁS ... 111
5.2.2 MÉTODO DE EULER MODIFICADO ... 116
5.2.3 ERROR EN LOS MÉTODOS DE EULER ... 118
5.3 MÉTODOS DE TAYLOR ... 122
5.3.1 ERROR EN LOS MÉTODOS DE TAYLOR ... 125
5.4 MÉTODOS DE RUNGE–KUTTA ... 127
5.4.1 MÉTODO DE RUNGE–KUTTA DE TERCER ORDEN ... 127
5.4.2 MÉTODO DE RUNGE–KUTTA DE CUARTO ORDEN ... 129
5.4.3 ERROR EN LOS MÉTODOS DE RUNGE–KUTTA ... 131
5.5 MÉTODOS DE SOLUCIÓN DE EDOs DE PRIMER ORDEN CON DERIVE 6 ... 131
5.6 APLICACIONES ... 133
5.7 SOLUCIÓN DE SISTEMAS DE ECUACIONES DIFERENCIALES ORDINARIAS ... 137
C CAAPPÍÍTTUULLOO 66................................................................................................................................................................................................................................................................................................114422 ALGEBRA LINEAL NUMÉRICA ... 142
6.1 MÉTODO DE ELIMINACIÓN DE GAUSS CON PIVOTEO PARCIAL ... 142
6.2 MÉTODOS ITERATIVOS PARA SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES ... 145
6.2.1 MÉTODO DE JACOBI ... 145
6.2.2 MÉTODO DE GAUSS–SEIDEL ... 147
6.3 MÉTODOS DE JACOBI Y GAUSS–SEIDEL CON DERIVE 6 ... 153
6.4 APLICACIONES ... 153
A APPÉÉNNDDIICCEE AA................................................................................................................................................................................................................................................................................................115599 BREVE INTRODUCCIÓN A DERIVE 6 ... 159
A.1 INSTALACIÓN, INICIO Y BREVE DESCRIPCIÓN DE DERIVE. ... 159
A.2 SIMPLIFICACIÓN Y APROXIMACIÓN ... 160
A.3 SUSTITUCIÓN ... 161
A.4 VECTORES Y MATRICES ... 162
A.5 PROGRAMACIÓN CON DERIVE 6. ... 164
A.5.1 PROGRAMACIÓN FUNCIONAL ... 164
A.5.1.1 PROCESOS ITERATIVOS Y LAS FUNCIONES ITERATES E ITERATE ... 164
A.5.1.2 FUNCIÓN CONDICIONAL IF ... 165
A.5.1.3 FUNCIÓN VECTOR ... 166
5 Contenido
A.5.2 PROGRAMACIÓN PROCEDURAL ... 168
A.5.2.1 FUNCIÓN PROG... 168
A.5.2.2 FUNCIÓN LOOP ... 168
A.6 GENERACIÓN DE UNA UTILIDAD ... 169
A APPÉÉNNDDIICCEE BB................................................................................................................................................................................................................................................................................................117733 SERIES DE TAYLOR ... 173
B.1 SERIES DE TAYLOR Y MACLAURIN. ... 173
B.2 SERIES DE TAYLOR Y MACLAURIN CON RESTO EN FORMA DE LAGRANGE. ... 174
B.3 FORMA ALTERNATIVA PARA LA SERIE DE TAYLOR Y EL RESTO. ... 175
B.4 SERIES DE TAYLOR Y MACLAURIN CON DERIVE 6. ... 175
BIBLIOGRAFÍA Y REFERENCIAS ... 180
BIBLIOGRAFÍA. ... 180
NOTAS Y REFERENCIAS. ... 180 Í
6 Procesos iterativos y errores en Métodos Numéricos
C
C
A
A
P
P
Í
Í
T
T
U
U
L
L
O
O
0
0
P
PR
RO
OC
CE
ES
SO
OS
S
I
IT
TE
ER
RA
AT
TI
IV
VO
OS
S
Y
Y
E
ER
RR
RO
OR
RE
ES
S
E
EN
N
M
MÉ
ÉT
TO
OD
D
OS
O
S
N
NU
UM
MÉ
ÉR
RI
IC
CO
OS
S
Los métodos numéricos al consistir de aproximaciones bastante confiables, pero aproximaciones al fin, incurren en errores propios de lo no exacto. El presente capítulo tiene como objetivo analizar estos errores pues, en base a ellos, se podrá escoger un método y no otro, así como cuantificar la precisión de los resultados que se obtengan en cada uno de los métodos numéricos que se estudien a lo largo del texto.
0.1 PROCESOS ITERATIVOS.
Un proceso iterativo es el uso de una fórmula para generar de forma secuencial valores a partir de uno o más valores iniciales, así entonces…
i 1 i
x f(x ) i 0,1,2,3...
El siguiente ejemplo aclarará este concepto...
E
Ejjeemmpplloo 00..11
Determinar los primeros cuatro valores numéricos que se obtengan mediante un proceso iterativo para sen(x )
f(x) e 2 , a partir de x0 = 3 como valor de inicio.
El proceso iterativo va a generarse mediante: sen(x )i
i 1 x e 2 con i = 0,1,2,…, es decir sen(x )0 1 x e 2 sen(x )1 2 x e 2 sen(x )2 3 x e 2…
serán los sucesivos valores a obtenerse.
Los cálculos indicados se resumen en la siguiente tabla…
Los valores pedidos son: 0.848436, 1.52775, 1.63177 y 1.63143.
Cada nuevo valor obtenido se denomina iteración, y la función f(x) que se utilizó en los cálculos se conoce co-mo fórmula de iteración o iterativa.
E
Ejjeemmpplloo 00..22
Genere un proceso iterativo para la fórmula cos(x) 1 , empezando con x0 = 0, hasta obtener un resultado
con 3 cifras decimales de precisión.
El proceso iterativo se va a generar mediante: xi 1 cos(x ) 1i , y en base a él se obtiene la siguiente ta-bla…
i xi f(xi)
0 x0 = 3 (valor inicial) esen(3) 2 0.848436
1 x1 = 0.848436 esen( 0.848436 )21.52775 Primera iteración 2 x2 = 1.52775 esen( 1.52775 )21.63177 Segunda iteración 3 x3 = 1.63177 esen( 1.63177 )21.63143 Tercera iteración 4 x4 = 1.63143 Cuarta iteración
7 Procesos iterativos y errores en Métodos Numéricos i xi f(xi) 0 0 cos(0) 1 1.41421 1 1.41421 cos(1.41421) 1 1.07515 2 1.07515 cos(1.07515) 1 1.21474 3 1.21474 cos(1.21474) 1 1.16128 4 1.16128 cos(1.16128) 1 1.18244 5 1.18244 cos(1.18244) 1 1.17417 6 1.17417 cos(1.17417) 1 1.17742 7 1.17742 cos(1.17742) 1 1.17614 8 1.17614 cos(1.17614) 1 1.17664 9 1.17664
La respuesta con tres cifras decimales de precisión es 1.176.
Los procesos iterativos tienen dos características importantes que vale la pena resaltar, estas son: (a) Conver-gencia, y (b) Velocidad de convergencia.
Se dice que un proceso iterativo es convergente cuando la secuencia de iteraciones tiende a un valor definido al incrementarse hacia el infinito el número de las mismas; por otro lado la velocidad de convergencia se mide por el número de iteraciones con el cual se logra un valor con cierto nivel de precisión(número de cifras decimales repetidas), así entonces a mayor número de iteraciones menor velocidad de convergencia y viceversa.
E
Ejjeemmpplloo 00..33
Determine si el proceso iterativo para 2
1 f(x)
(x 1) , iniciando con x0 = 1, converge o no. El proceso iterativo es i 1 2 i 1 x
(1 x ) . Las 20 primeras iteraciones para este proceso son…
i 0 1 2 3 4 5 6 7 xi 1 0.25 0.64 0.37180 0.531394 0.426409 0.491487 0.449532 i 8 9 10 11 12 13 14 xi 0.475931 0.459058 0.469737 0.462936 0.467250 0.464506 0.466249 i 15 16 17 18 19 20 xi 0.465141 0.465845 0.465398 0.465682 0.465501 0.465616
La tendencia del proceso muestra que las iteraciones tienden a un valor determinado, el cual a tres cifras deci-males repetidas es 0.465, por lo que el proceso es convergente.
E
Ejjeemmpplloo 00..44
Determine si el proceso iterativo para f(x) (x 1) 2, iniciando con x
8 Procesos iterativos y errores en Métodos Numéricos El proceso iterativo 2
i 1 i
x (x 1) , genera la siguiente tabla con las 8 primeras iteraciones…
i 0 1 2 3 4 5 6 7
xi 2 1 0 1 0 1 0 1
las iteraciones alternan su valor entre 0 y 1, no pudiendo establecerse un valor determinado; ésta se denomina una divergencia alternante.
El análisis de la velocidad de convergencia es necesario también realizarlo en base a los resultados numéricos obtenidos, como en el siguiente ejemplo…
E
Ejjeemmpplloo 00..55
De los procesos iterativos para 2 1 f(x) x 1 y y 1 f(y)
e 1 determinar cuál es el más rápidamente conver-gente, si ambos inician con x0 = 1.
Las procesos iterativas son: i 1 2 1 1 x x 1 y i 1 yi 1 y
e 1, con ellos se obtiene para las 10 primeras iteracio-nes… i 0 1 2 3 4 5 6 xi 1 0.5 0.8 0.609756 0.728968 0.652100 0.701061 i 7 8 9 10 xi 0.670472 0.689878 0.677538 0.685374 i 0 1 2 3 4 5 6 yi 1 0.268941 0.433167 0.393370 0.402906 0.400614 0.401165 i 7 8 9 10 yi 0.401033 0.401064 0.401057 0.401058
el segundo proceso iterativo tiene mayor velocidad de convergencia, porque al mismo número de iteraciones que el primero logra un resultado con mayor número de cifras decimales repetidas(exactas).
0.2 ERRORESEN MÉTODOS NUMÉRICOS.
Los métodos numéricos tienen como base principal de su manejo el análisis de los errores, pues al usar méto-dos numéricos su inexactitud lleva a la pregunta ¿con cuanta exactitud se ha obtenido la respuesta? Planteada la interrogante, aquí se inicia el estudio del error en al análisis numérico…
El error absoluto entre dos valores, de manera general, se puede cuantificar por la relación:
e x X
donde e representa el error absoluto, x el valor exacto y X el valor aproximado. Esta formulación es algo incom-pleta, pues no considera el orden de magnitud de la variable cuyo error se evalúa. A continuación un ejemplo demuestra la importancia de relacionar el error absoluto con la magnitud exacta de la variable medida…
9 Procesos iterativos y errores en Métodos Numéricos
E
Ejjeemmpplloo 00..66
En la medición de la longitud de un perno y un eje, se han obtenido los valores aproximados de 18 cm. y 278 cm. pero según los planos de construcción sus medidas exactas deberían ser 20 cm. y 280 cm. ¿Cuál es el error más significativo, del perno o del eje?
Los errores absolutos cometidos en su fabricación son...
eje
e 280 278 2 cm eperno 20 18 2 cm
Así, según los valores obtenidos para el error absoluto, ambos casos producen errores de igual magnitud. Sin embargo, intuitivamente se infiere que ello no es cierto, pues al dividir las dos expresiones para su valor exacto, con el objeto de relacionarlas con la magnitud de lo medido, y multiplicarlas por 100(para obtener un valor por-centual de error), se tiene...
eje 280 278 E 100 280 0.714% perno 20 18 E 100 20 10%
resultados que muestran que el error cometido en la construcción del eje es menos significativo. El error relativo porcentual E, se puede escribir como...
x X
E 100
x
este error pone en evidencia su verdadera magnitud en relación a lo medido.
Como principio fundamental, en el resultado de cualquier método numérico se debe tomar en cuenta que
e tol o E tol , donde tol representa un valor positivo muy pequeño considerado como valor de toleran-cia. Si bien se ha utilizado en las fórmulas (0.2) y (0.3) los términos valor exacto y aproximado, muchos méto-dos numéricos utilizan procesos iterativos en los cuales x se substituye por xi+1 que representa la iteración
ac-tual y X se substituye por xi que representa la iteración anterior. En estos procesos entonces las expresiones
(0.2) y (0.3) se transforman en... i 1 i a i 1 i a i 1 x x e x x E 100% x
donde el subíndice a en las fórmulas aclara que se trata de un valor de error aproximado. Un método numérico se detiene cuando el error absoluto o relativo porcentual (o aproximados para procesos iterativos) no superan el valor tol, de tolerancia fijado previamente, es decir...
x X e x X tol E 100 tol x i 1 i a i 1 i a i 1 x x
e x x tol E 100 tol para procesos iterat
x ivos
Los errores más significativos, presentes en el análisis numérico pueden clasificarse bajo uno de estos tipos:
Errores de redondeo. Errores de truncamiento. Errores de toma de datos.
Los errores de toma de datos dependen del manejo de la obtención de datos requeridos para un procedimiento
(0.3)
(0.4)
(0.5) (0.6)
10 Procesos iterativos y errores en Métodos Numéricos
numérico determinado y en todo caso son en la mayoría de las veces inevitables y muy difíciles de cuantificar. En la siguiente sección se analizará los errores de redondeo, posponiéndose el análisis de los errores de trun-camiento para los métodos numéricos donde éste sea aplicable.
0.2.1 ERRORESDE REDONDEO Y NÚMEROS DE PUNTO FLOTANTE
Los errores de redondeo son los producidos por la limitada capacidad del computador para representar las ci-fras tanto enteras como decimales de un número real. Al no poder trabajar con la infinita cantidad de cici-fras ente-ras así como con la también infinita cantidad de decimales que tiene un número real, entonces es necesario re-emplazar el conjunto infinito de los números reales con un conjunto finito de números enteros y decimales, pro-duciéndose entonces los errores por redondeo.
A diferencia de nosotros, los seres humanos, las computadoras utilizan para la representación numérica el sis-tema de numeración de base dos o binario, en el cual un número está representado por los dígitos 0 y 1. Éstos, al igual que en el sistema decimal, tienen un valor posicional que permite expresar una cantidad cualquiera, así por ejemplo el número 1011 será distinto del número 1101, pues los dígitos a pesar de ser los mismos ( tres unos y un cero) se encuentran en diferente posición. Un número binario en notación base 10 o decimal se pue-de expresar como:
n n 1 1 0
r 2 r 2 ... r 2 r 2 donde r es 0 ó 1.
Así el numero 1011, en base binaria, equivale a... 3 2 1 0
1 2 0 2 1 2 1 2 11 , en base decimal y el número 1101, en base binaria, equivale a...
3 2 1 0
1 2 1 2 0 2 1 2 13 , en base decimal
Ahora bien, un número real se puede expresar en la computadora en la forma denominada número depunto flo-tante, la cual se puede expresar genéricamente como...
exp
m b
donde m representa la mantisa o parte fraccionaria, b la base en la cual se representa el número y exp el expo-nente. De esta forma, el número 236.789 se puede representar como 0.236789103 en punto flotante. Una
for-ma for-matemática más explícita de la expresión (0.8) se puede escribir como...
m exp 1 2 k b s (.d d ...d ) b
donde s representa el signo (0 para +y 1 para ); di , i = 1,2,...,k son los k dígitos en base b(por ejemplo 0 y 1
para base 2) y exp el exponente. La expresión (.d d ...d )1 2 k b corresponde a...
1 2 k
1 2 k b 1 2 k
d d d
(.d d ...d ) ...
b b b
y da la magnitud de la mantisa. Si ésta se representa siempre con d1 0, se dice entonces que se halla en
for-ma norfor-malizada. Así por ejemplo el número 1 0.047619...
21 representado en punto flotante a 4 cifras
deci-males es 0.0476100 y representado en punto flotante normalizado a 4 cifras decimales es 0.4761101,
ganándose de esta forma una cifra decimal más. El número k de dígitos de base b que se emplean en la repre-sentación de un número en punto flotante es llamada precisión; la precisión simple utiliza k = 6 ó 7 dígitos, la
(0.7)
(0.8)
(0.9)
11 Procesos iterativos y errores en Métodos Numéricos
precisión doble k = 13 ó 14 dígitos y la precisión extendida k = 19 ó 20 dígitos, todas en base 10. Lamenta-blemente resulta imposible que la mantisa contenga todos los dígitos necesarios para representar con exactitud un número de punto flotante, siendo necesario utilizar una precisión determinada, de acuerdo a la exactitud de-seada para el resultado de un problema en particular. El siguiente ejemplo muestra la representación finita en números de punto flotante en base 2(como trabaja la computadora) para una computadora ideal simple y su equivalencia de representación en base 10(como entiende el ser humano)…
E
Ejjeemmpplloo 00..77
Determinar el conjunto de números de punto flotante que podría representar una computadora hipotética que almacena en memoria la información usando un conjunto de 7 bits(llamado usualmente longitud total). Emplear el primer bit para el signo de la mantisa, los siguientes tres bits para el signo y la magnitud del exponente y los tres restantes para la magnitud de la mantisa.
Cualquier computadora representa la información mediante el uso de bits(0 ó 1), por lo que de acuerdo a lo in-dicado la estructura de un número en punto flotante en la computadora hipotética de 7 bits sería como lo mues-tra la gráfica…
Fig. 0.1 Representación de un número de punto flotante en una computadora hipotética
matemáticamente se pueden escribir como…
exp
1 2 3 2
(.d d d ) 2
si en esta computadora hipotética(lo que ocurre generalmente en las computadoras reales) se escribe siempre en forma normalizada d1 0, por lo que d2, y d3 = 0 ó 1 y exp = –(11)2 = –(3)10, –(10)2 = –(2)10, –(01)2 = – (1)10, (00)2 = (0)10, +(01)2 = +(1)10, +(10)2 = +(2)10, +(11)2 = +(3)10.
Las magnitudes de mantisa posibles entonces son:
1 2 2 3 2 3 10 1 0 0 1 (.100) 1 2 0 2 0 2 (0.5) 2 2 2 2 1 2 2 2 3 3 10 1 0 1 5 (.101) 1 2 0 2 1 2 (0.625) 2 2 2 8 1 2 3 2 3 2 10 1 1 0 3 (.110) 1 2 1 2 0 2 (0.75) 2 2 2 4 1 2 2 2 3 3 10 1 1 1 7 (.111) 1 2 1 2 1 2 (0.875) 2 2 2 8
Combinando las magnitudes de las mantisas con respectiva base y exponentes se tiene un conjunto de núme-ros de punto flotante mostrados en la siguiente tabla…
21 20 2–1 2–2 2–3 0 1 1 1 1 1 1 signo de la mantisa signo del exponente magnitud del
12 Procesos iterativos y errores en Métodos Numéricos 2 10 (.100) (0.5) (.101)2 (0.625)10 (.110)2 (0.75)10 (.111)2 (0.875)10 e = –(11)2 = –(3)10 3 2 0.0625 (.100) 2 3 2 (.10 0. 1) 2 078125 (.110)2 2 3 0.09375 3 2 (.11 0. 1) 2 109375 e = –(10)2 = –(2)10 2 2 (.100) 2 0.125 (.101) 22 2 0.15625 2 2 0.1875 (.110) 2 2 2 (.111) 2 0.21875 e = –(01)2 = –(1)10 2 1 (.100) 2 0.25 1 2 0.3125 (.101) 2 2 1 (.110) 2 0.375 1 2 0.4375 (.111) 2 e = (000)2= (0)10 2 0 (.100) 2 0.5 (.101) 22 0 0.625 (.110) 22 0 0.75 (.111) 22 0 0.875 e = +(01)2 = +(1)10 2 1 ( 1 .100) 2 (.101) 22 1 1.25 2 1 1. (. 10) 2 5 1 (.111) 22 1 1.75 e = +(10)2 = +(2)10 2 2 ( 2 .100) 2 2 2 2. (. 01) 2 5 1 ( 2 2 3 .110) 2 2 2 3. (. 11) 2 5 1 e = +(11)2 = +(3)10 2 3 ( 4 .100) 2 ( 2 3 5 .101) 2 ( 2 3 6 .110) 2 ( 2 3 7 .111) 2
entonces el conjunto de valores, en base 10, representados por la computadora hipotética del ejercicio es…
0, 0.0625, 0.078125, 0.09375, 0.109375, 0.125, 0.15625, 0.1875, 0.21875, 0.25, 0.3125, 0.375, 0.4375, 0.5, 0.625, 0.75, 0.875, 1, 1.25, 1.5, 1.75, 2, 2.5, 3, 3.5, 4, 5, 6, 7
un total de 57 números que en la computadora hipotética de 7 bits representan a todos los números reales. Un gráfico en la recta real grafica los puntos(en rojo) o números manejados por la computadora hipotética de longitud total 7 bits…
Fig. 0.2 Distribución de números de punto flotante en una computadora
Algunas características de este conjunto finito de números de punto flotante son…
Existe una mayor densidad de puntos en la cercanía a 0, mientras que hacia el infinito(positivo o negativo) ésta disminuye.
Entre el 0 y el número más pequeño(sea positivo o negativo), existe una zona sin puntos denominada zo-na de agujero(ó zona de underflow) como lo muestra la siguiente figura…
Fig. 0.3 Zona de agujero o de underflow
Entre el número más grande(sea positivo o negativo) y el infinito(positivo o negativo) existe una zona sin puntos denominada zona de desbordamiento (ó zona de overflow) como lo muestra la siguiente figura…
Fig. 0.4 Zona de desbordamiento o de overflow
0 0.0625
– 0.0625
Zona de agujero Zona de agujero
0 7
– 7
–
Zona de desbordamiento Zona de desbordamiento
13 Procesos iterativos y errores en Métodos Numéricos
Si se quisiese almacenar el número 0.26 en esta computadora hipotética, éste se representaría como 0.25(el más cercano que posee el conjunto de números de punto flotante de la computadora hipotética) incurriendo en un error absoluto de 0.01, ¡aquí aparece el error por redondeo!. Por otro lado cualquier número que se quiera representar y que caiga en la zona de agujero será representado por la computadora hipotética con el 0, y cual-quier número que rebase el valor máximo(7 ó –7) provocará en la computadora hipotética un mensaje de error de overflow. Más aún es posible que la suma, resta, multiplicación o división de números reales produzca un error de redondeo ¿podría explicarse el porqué?¿píenselo?
Lo analizado anteriormente para una computadora hipotética ocurre con cualquier computadora real de forma tal que al efectuar operaciones entre números de punto flotante con una precisión dada se produce un error de re-dondeo, que como se verá más adelante en algunos casos se hace muy significativo. Existe un intervalo de dis-continuidad entre dos números y que son consecutivos en el conjunto de números representables por la computadora. Para una determinada precisión, el número positivo más pequeño posible, , tal que sumado a 1 produce el siguiente número consecutivo(diferente de 1 para dicha precisión) se denomina el épsilon de la com-putadora y está dado por i
2 , i 1,2,3,...
. entonces el intervalo entre un número real cualquiera y el si-guiente es .
0.2.2 FUENTES DE ERROR POR REDONDEO.
Para visualizar sin confusión las fuentes de error en el redondeo de números de punto flotante se usará siempre la base 10. Los errores por redondeo se presentan en cualquier operación aritmética con números de punto flo-tante, pero se hacen especialmente notables en los siguientes casos:
Adición de un número pequeño a otro grande o resta de un número pequeño de otro grande. Resta de números muy cercanos.
Supóngase que se desea sumar los números 45.238 y 0.00000234 y obtener el resultado a cinco dígitos signi-ficativos de precisión, entonces se procede de la siguiente forma…
2 2 2 10 0.45238 10 0.00000 10 45238 . 0
entonces para una suma, a cinco dígitos de precisión el sumar 45.2389 a 0.00000234, resulta como sumar 45.2389 a 0, es decir se pierden cifras decimales del segundo sumando, para evitar ello es necesario realizar la operación al doble de precisión, es decir, diez dígitos significativos para obtener el valor correcto, así pues…
2 2 2 10 34 0.45238002 10 34 0.00000002 10 4523800000 . 0
El mismo error surge si se resta un número pequeño de otro grande.
Si un método numérico posee varias operaciones de esta clase, es obvio que el error de redondeo se acumulará pudiendo convertirse en un error significativo en el resultado final.
Ahora, se desea restar 3.456789 de 3.456723 y obtener el resultado con cinco cifras significativas de preci-sión, entonces se procederá así...
-1 -1 1 10 0.00000 10 0.34567 10 34567 . 0
14 Procesos iterativos y errores en Métodos Numéricos
es decir, para la computadora el resultado es 0, lo cual obviamente no es así; para evitar las perdida de las ci-fras decimales que dan el valor verdadero, es necesario aumentar la precisión a siete dígitos, obteniéndose en dicho caso... -1 -1 1 10 0.0000066 10 0.3456723 10 3456789 . 0
que da el resultado correcto. Igualmente que en el caso anterior, la acumulación de errores de redondeo de este tipo, puede arrojar una solución poco confiable. Un procedimiento numérico que se enmarca dentro de este último tipo de error es la resolución aproximada por fórmula de una ecuación de segundo grado, como lo mues-tra el siguiente ejemplo…
E
Ejjeemmpplloo 00..88
Resolver la ecuación x21357x 1 0 , con tres dígitos significativos de precisión.
Se procede de la siguiente forma:
2 1 ( 1357) ( 1357) 4(1)(1) 1357 1356.999 x 1356.999 2 2 2 2 ( 1357) ( 1357) 4(1)(1) 1357 1356.999 x 0.000 2 2
el primer resultado es relativamente más correcto, no así el segundo, pues la cercanía de los valores en la resta, produce un error de redondeo que genera un valor erróneo. Este error se puede evitar de dos formas, en este caso, aumentando la precisión o racionalizando la expresión para x2 y con ello eliminar la fuente de error(la resta
de números cercanos). Para este proceso numérico por ejemplo se podría cuantificar el error cometido, toman-do como valor exacto los resultatoman-dos obtenitoman-dos con seis cifras decimales de precisión, es decir...
2 1 ( 1357) ( 1357) 4(1)(1) 1357 1356.998526 x 1356.999263 2 2 2 2 ( 1357) ( 1357) 4(1)(1) 1357 1356.998526 x 0.000737 2 2
por lo tanto, los errores relativos porcentuales para cada resultado son... 1 1356.999263 1356.999 E 100 0.00001% 1356.999263 2 0.000737 0.000 E 100 100% 0.000737
lo que muestra la magnitud del error en el segundo resultado.
0.2.3 CIFRAS DECIMALES Y CIFRAS SIGNIFICATIVAS.
Como se ha visto un número obtenido de una computadora, en la mayoría de los casos, no puede ser expresa-do con todas las cifras decimales para poder afirmar que sea exacto, entonces es necesario trabajar el número con cierta cantidad de cifras decimales, de acuerdo a la precisión establecida. Los números así expresados se
15 Procesos iterativos y errores en Métodos Numéricos
denominan números o valores aproximados(correspondiente a X como se definió en (0.1)), y son de esta mane-ra como se obtienen los resultados en los métodos numéricos.
Cifras decimales son todos los dígitos que se hallan a continuación del punto decimal en un número de punto flotante, así por ejemplo los números 0.03456 y 0.245073 tienen 5 y 6 cifras decimales de precisión respecti-vamente. Si se desea aproximar a 4 y 5 cifras decimales de precisión respectivamente los anteriores números se puede proceder de dos maneras distintas:
(a) Cortar los números a 4 y 5 cifras decimales, ó (b) Redondear los números a 4 y 5 cifras decimales.
Para el primer caso los números se convierten en 0.0345 y 0.24507 y para el segundo caso se transforman en 0.0346 y 0.24507. Para redondear las cifras decimales se tiene en cuenta la siguiente regla: si la última cifra decimal es inferior a 5 se redondea hacia el valor inmediatamente inferior, y si la última cifra decimal es 5 o su-perior a 5 se redondea hacia el valor inmediatamente susu-perior. Dos números aproximados son iguales si al re-dondearse al mismo número de cifras decimales de precisión son idénticos, así por ejemplo 4.30235 y 4.30167 son iguales si se redondean a 3 cifras decimales de precisión, pues dan como resultado 4.302 en ambos casos, pero son diferentes si se redondean a 4 cifras decimales de precisión, pues el primero da 4.3024 y el segundo 4.3017.
Cifras significativas son los dígitos que se hallan a continuación del punto decimal de un número de punto flo-tante en su forma normalizada, así por ejemplo todos los siguientes números tienen 4 cifras significativas, 0.01342 , 25.06, 4321, pues expresados en forma normalizada a 4 cifras decimales de precisión producen 0.1342101, 0.2506102, 0.4321104 respectivamente. La misma regla de redondeo que se utilizo para cifras
decimales se puede aplicar a las cifras significativas y el mismo criterio de igualdad que se empleo para cifras decimales es aplicable a las cifras significativas. En el caso de números enteros que posean acumulación de ce-ros a su derecha el número de cifras significativas puede diferir para un mismo número, así por ejemplo el número 235000 puede tener 3, 4, 5 ó 6 cifras significativas dependiendo de las siguientes formas normalizadas 0.235106, 0.2350106, 0.23500106 y 0.235000106. De forma práctica, se puede afirmar que las cifras
sig-nificativas representan el número de cifras confiables que se pueden utilizar en un número aproximado. Como se vio en la sección 0.2, el principio aplicable a la cuantificación del error relativo porcentual (o porcen-tual aproximado) era E tol ó Ea tol y para el error absoluto(ó absoluto aproximado) e tol ó eatol , pero no se dijo mucho acerca del valor que se fija para tol. Ahora se puede profundizar en dicho principio afir-mando que si tol (0.5x10 )% , entonces el valor o número aproximado(iteración anterior para los métodos 2 k
iterativos) obtenido mediante el método numérico aplicado tiene al menos k cifras significativas correctas con respecto al valor exacto(iteración actual para los métodos iterativos) y si tol (0.5x10 ), entonces el valor o k
número aproximado(iteración anterior para los métodos iterativos) tiene al menos k cifras decimales correctas con respecto al valor exacto(iteración actual para los métodos iterativos). Entonces un criterio de cuantificación del error en los métodos numéricos para detener su proceso de ejecución es...
k x X 2 k
e x X 0.5 10 E 100 (0.5 10 )%
x
para un método numérico en general, y
k i 1 i 2 k a i 1 i a i 1 x x e x x 0.5 10 E 100 (0.5 10 )% x
para un método numérico iterativo.
(0.11)
16 Procesos iterativos y errores en Métodos Numéricos
E
Ejjeemmpplloo 00..99
Para las siguientes parejas de números, determinar con cuantas cifras decimales exactas y con cuantas cifras significativas exactas X aproxima a x. Determinar además el error absoluto y relativo cometido en cada caso. i.) x 2.35678 X 2.3459
ii.) x 5 X 0.45455 11
iii.) x 0.0025365 X 0.0024674
Para este caso x y X coinciden en 1 cifra decimal exacta(3) y en 2 cifras significativas exactas(2 y 3) y...
1 e 2.35678 2.3459 0.01088 0.5 10 0.05 2.35678 2.3459 2 2 E 100 0.46% (0.5 10 )% 0.5% 2.35678
confirman el principio expresado mediante la relación (0.11).
En este caso x y X coinciden en 4 cifras decimales exactas (4,5,4 y 5) y en 4 cifras significativas exactas(4,5,4 y 5) además... 4 e 0.454545... 0.45455 0.000000454 0.5 10 0.00005 0.454545... 0.45455 2 4 E 100 0.001% (0.5 10 )% 0.05% 0.454545...
nuevamente se confirma la relación (0.11).
Aquí x y X coinciden en 3 cifras decimales exactas (0,0 y 2) y en 1 cifra significativa exactas(2) siendo...
3 e 0.0025365 0.0024674 0.0000691 0.5 10 0.0005 0.0025365 0.0024674 2 1 E 100 2.72% (0.5 10 )% 5% 0.0025365
y también se vuelve a verificar la relación (0.11).
E
Ejjeemmpplloo 00..1100
¿En que rango debe hallarse el valor aproximado X, para que se aproxime a x = 0.022156, con 3 cifras signifi-cativas? Por la expresión (0.11)... 0.022156 X 2 3 E 100 (0.5 10 )% 0.05% 0.022156 es decir... 000011078 . 0 100 ) 022156 . 0 )( 05 . 0 ( X 022156 . 0
17 Procesos iterativos y errores en Métodos Numéricos 022167078 . 0 X 022144922 . 0 000011078 . 0 022156 . 0 X 000011078 . 0 022156 . 0
cualquier número dentro de este rango tendrá por lo menos 3 cifras significativas con respecto a x = 0.022156.
E
Ejjeemmpplloo 00..1111
Como resultados de un método numérico iterativo se obtienen los siguientes valores(redondeados a su última cifra decimal)...
i 0 1 2 3 4 5 6
xi 3 2.5 2.4938315715 2.4759527368 2.4753677501 2.4753532325 2.4753532211
Determinar el número de cifras significativas que se obtienen para x4 – x5 y x5 – x6.
Para x4 y x5, se tiene xi+1 = x5 = 2.4753532325 y xi = x4 = 2.4753677501, entonces por la expresión (0.12)...
2 k a 2.4753532325 2.4753677501 E 100 0.5 10 2.4753532325 598475 0.00058648 10 5 . 0 2k
tomando logaritmos en base 10 en cada extremo de la desigualdad...
60 4.93071236 k 598475) 0.00058648 ( log 2 ) 5 . 0 ( log k 598475) 0.00058648 ( log k 2 ) 5 . 0 ( log 598475) 0.00058648 ( log ) 10 5 . 0 ( log 10 10 10 10 10 k 2 10
por lo tanto x4 tiene al menos k = 4 cifras significativas exactas con respecto a x5.
Por otro lado para x5 y x6, se tiene xi+1 = x6 = 2.4753532211 y xi = x5 = 2.4753532325, entonces por la
ex-presión (0.12)... 2 k a 2.4753532211 2.4753532325 E 100 0.5 10 2.4753532211 054890831 0.00000046 10 5 . 0 2k
tomando logaritmos en base 10 en cada extremo de la desigualdad...
71 8.03569424 k 054890831) 0.00000046 ( log 2 ) 5 . 0 ( log k 054890831) 0.00000046 ( log k 2 ) 5 . 0 ( log 054890831) 0.00000046 ( log ) 10 5 . 0 ( log 10 10 10 10 10 k 2 10
por lo tanto x5 tiene al menos k = 8 cifras significativas exactas con respecto a x6.
0.3 PRECISIÓN EN DERIVE 6.
Derive 6 posee tres formas de precisión para trabajar con números en cálculos numéricos u operaciones aritméticas, estas son:
18 Procesos iterativos y errores en Métodos Numéricos
Precisión en modo aproximado. Precisión en modo mixto.
Los tres modos de precisión se pueden obtener mediante la orden Definir/Preferencias de Simplificación... , en cuyo caso aparece el cuadro de diálogo...
En la zona Precisión, del cuadro de diálogo anterior, aparecen las casillas de selección:
Modo: para escoger el modo de precisión (Aproximado = Approximate, Exacto = Exact y Mixto = Mixed), y
Dígitos: para elegir el número de cifras significativas con las cuales van a trabajar los modos Exacto y Mixto (Derive 6 trabaja con 10 cifras significativas por defecto).
Derive 6 almacena internamente todos los números reales como enteros o como un cociente entre enteros, es decir, como fracciones y todas las operaciones realizadas se realizan utilizando aritmética racional.
La precisión en modo exacto significa que Derive 6 trabaja los números irracionales en modo exacto, así por ejemplo para efectos de cálculo aritmético 2 será 2 y no 1.414213... Derive 6 en este caso utiliza mucha más memoria para almacenar los números racionales, los cuales son expresados en forma de cociente entre enteros, así en modo exacto 1.5 se expresa como 3
2 o 2.34657 como
234657
100000; la precisión en modo exacto es la precisión por defecto en Derive 6.
En la precisión en modo aproximado, Derive 6 corta un número de acuerdo al número de cifras significativas in-dicadas en la casilla de selección Dígitos: así entonces los números 2.1354678... , 0.02345676... , 0.0001232597... se expresan en modo aproximado con Dígitos: 5 como 2.1354 , 0.023456 y 0.00012325 res-pectivamente. Nótese que Derive 6 considera el corte para las cifras significativas y no para las cifras decimales y además no utiliza redondeo.
Para la precisión en modo mixto, Derive 6 trata a los números decimales e irracionales de acuerdo a la preci-sión en modo aproximado y a los números expresados como fracciones en precipreci-sión en modo exacto, de esta forma los números 12
13, 4.285679 y 5 serán expresados en modo mixto (con Dígitos: 5) como 12
13, 4.2856 y 2.2360 respectivamente.
19 Procesos iterativos y errores en Métodos Numéricos
aproximado, si se selecciona el número y se hace clic sobre el botón
E
Ejjeemmpplloo 00..1122
Escribir una función en Derive 6, que permita determinar el épsilon de la máquina para una precisión dada. Se definió al épsilon de la máquina como el número más pequeño = 2 i, i = 1,2,3,... tal que 1 + 1. La siguiente función (n), determina un vector en el cual aparecen todos los posibles valores de épsilon (valores que cumplen con 1 + 1), obviamente el más pequeño de ellos será el correcto...
#1: (n) := VECTOR([i,IF(1 + 2^(–i) 1, "posible ", " no es "), IF(1 + 2^(–i) 1, 2^(–i), "***")], i, 1, n)
Para una precisión de modo aproximado con Dígitos: 6, y tomando n = 18, la función produce el vector...
1 p osib le 0.5 2 p osib le 0.25 3 p osib le 0.125 4 p osib le 0.0625 5 p osib le 0.03125 6 p osib le 0.015625 7 p osib le 0.0078125 8 p osib le 0.00390625 9 p osib le (18) 10 p osib le 11 p osib le 0.00195312 0.000976562 0.0004882 12 p osib le 13 p osib le 14 p osib le 15 p osib le 16 no es *** 17 no es *** 18 no es *** 81 0.000244140 0.000122070 0.0000610351 0.0000305175
De los posibles valores de , el más pequeño y el correcto obviamente es 0.0000305175; esto quiere decir que a partir de este valor para la precisión con 6 dígitos cualquier valor mayor sumado a 1 dará como resultado un número diferente de 1.
20 Interpolación Polinómica
C
C
A
A
P
P
Í
Í
T
T
UL
U
LO
O
1
1
I
IN
NT
TE
ER
RP
PO
OL
LA
AC
CI
IÓ
ÓN
N
P
PO
OL
LI
IN
NÓ
ÓM
MI
IC
CA
A
Este capítulo va a estudiar el problema de la interpolación polinómica, que consiste en hallar una depen-dencia funcional de tipo polinómico, entre dos conjuntos de igual número de datos, uno especifica el argumento y el otro su correspondiente función. El objetivo es encontrar cualquier valor de la función dentro del intervalo en que se hallan los valores del argumento, aunque también la interpolación polinómica es básica en posteriores capítulos.
Definición (Interpolación Polinómica). Dado un conjunto de (n + 1) valores, f0, f1, f2, ... ,fn , que representan a
una función y su correspondiente conjunto de (n + 1) valores del argumento x0, x1, x2, ... , xn, tal que: a < x0 <
x1 < x2 < ... < xn < b, existe un único polinomio P(x) de grado n, el cual cumple la condición...
i i
f P(x ) i 0,1,2,...,n Los valores xi, i = 1,2,...,n, se denominan nodos o puntos de interpolación.
Una vez determinado P(x), es posible hallar el valor del mismo para un argumento xr (a< xr < b). Este resultado
es una aproximación a fr.
1.1 INTERPOLACIÓN POLINÓMICA POR EL MÉTODO GENERAL O DE SERIE DE POTENCIAS
El polinomio P(x) se puede expresar mediante un polinomio de grado n, como...
2 n
0 1 2 n
P(x) a a x a x ... a x
donde ai son los coeficientes por determinarse. Aplicando la condición fi = P(xi), a cada punto (xi, fi), se obtiene
el siguiente sistema de ecuaciones...
2 3 n 0 0 1 0 2 0 3 0 n 0 f a a (x ) a (x ) a (x ) ... a (x ) 2 3 n 1 0 1 1 2 1 3 1 n 1 f a a (x ) a (x ) a (x ) ... a (x ) . . 2 3 n n 0 1 n 2 n 3 n n n f a a (x ) a (x ) a (x ) ... a (x )
que expresado matricialmente es...
fXA donde 2 3 n 0 0 0 0 0 0 2 3 n 1 1 1 1 1 1 2 3 n n n n n n n f 1 x x x .. x a f 1 x x x .. x a f X A . . . .. . . f 1 x x x .. x a
Para escribir el polinomio (1.1), debe hallarse A dados f y X. Con ello en mente, se multiplica ambos lados de la ecuación matricial (1.3) por X1, obteniéndose...
1 1 X f X XA entonces… (1.1) (1.2) (1.3)
21 Interpolación Polinómica
1
A X f
expresión que permite calcular A, para escribir P(x).
Se definió al polinomio P(x) como único, esto se puede verificar fácilmente al observar que el determinante de la matriz de coeficientes(conocido usualmente en el Álgebra Lineal como determinante de Vandermonde) del sis-tema de ecuaciones lineales (1.2) es...
i j j i j i n n 3 n 2 n n n 1 3 1 2 1 1 n 0 3 0 2 0 0 x x 0 x x x . x x x 1 . . . . . . x . x x x 1 x . x x x 1
y por lo tanto el conjunto solución a0, a1, ... , an es único y el polinomio P(x) también.
1.1.1 POLINOMIO DE INTERPOLACIÓN POR EL MÉTODO GENERAL CON DERIVE 6.
En Derive 6, por programación funcional, es factible crear un archivo de utilidad para el cálculo del polinomio de interpolación mediante el método general. Las siguientes líneas de programación conforman el mencionado ar-chivo...
#1: Precision := Approximate
#2: “Matriz X, construida a partir del conjunto de datos, d”
#3: X_(d) := VECTOR(VECTOR((d1i)^n, n, 0, DIM(d`) 1), i, 1, DIM(d`)) #4: “Matriz A = X^(–1)f”
#5: A(d) := (X_(d)^(–1))d2
#6: “Polinomio de interpolación por el método general” #7: P_MG(d, x) := A(d)VECTOR(x^(i – 1), i, 1, DIM(d))
E
Ejjeemmpplloo11..11
Dado el conjunto de datos...
Por el método general encontrar los coeficientes del polinomio de interpolación ajustado a dichos valores, se-guidamente determinar f para x = 2.5 y x = 3.2. Utilizar corte a 6 cifras decimales
(a) Se forma la matriz X…
2 2 2 1 1.3 1.3 1 1.3 1.69 X 1 2.7 2.7 1 2.7 7.29 1 3.6 3.6 1 3.6 12.96
(b) Se calcula su matriz inversa, X–1…
-1 1 1.3 1.69 1 0 0 1 1.3 1.69 1 0 0 1 1.3 1.69 1 0 0 X 1 2.7 7.29 0 1 0 0 1.4 5.6 1 1 0 0 1 4 0.714285 0.714285 0 1 3.6 12.96 0 0 1 0 2.3 11.27 1 0 1 0 2.3 11.27 1 0 1 1 1.3 1.69 1 0 0 1 1.3 1.69 1 0 0 0 1 4 0.714285 0.714285 0 0 1 4 0.714285 0.714285 0 0 0 2.07 0.642857 1.642857 1 0 0 1 0.310559 0.79365 0.483091 x 1.3 2.7 3.6 f 3.63 4.18 4.54 (1.4)
22 Interpolación Polinómica 1 1.3 0 0.475155 1.341269 0.816425 1 0 0 3.018633 3.714285 1.695652 0 1 0 1.956521 3.888888 1.932367 0 1 0 1.956521 3.888888 1.932367 0 0 1 0.310559 0.79365 0.483091 0 0 1 0.310559 0.79365 0.483091 -1 3.018633 3.714285 1.695652 X 1.956521 3.888888 1.932367 0.310559 0.79365 0.483091
(c) Los coeficientes del polinomio de interpolación son entonces… 3.018633 3.714285 1.695652 3.63 3.130186 A 1.956521 3.888888 1.932367 4.18 0.380434 0.310559 0.79365 0.483091 4.54 0.003105 finalmente… 2 P(x)3.1301860.380434x0.003105x y, P(2.5)4.100683 P(3.2)4.379378 E Ejjeemmpplloo11..22
Empleando Derive 5, para el conjunto de datos...
x 0 2 5 6 7
f 10 7 0 2 9
Escribir y graficar un polinomio de interpolación de grado 4 mediante el método general. Utilizar una precisión de 10 cifras significativas.
Ejecutando la función P_MG([0, 2, 5, 6, 7; 10, 7, 0, 2, –9], x) el polinomio obtenido es...
4 3 2 P(x) 0.2464285714x 3.411904761x 14.43928571x 15.70238095x 10 Su gráfica es… 2 0 2 4 6 8 40 20 20 1.2 INTERPOLACIÓN LINEAL.
Al elegir dos puntos para efectuar una interpolación, el polinomio de interpolación expresado por el método ge-neral es una función lineal y la interpolación entre dichos puntos se denomina interpolación lineal. Es muy sim-ple deducir la ecuación para este método de interpolación en base a lo desarrollado para el método general,
23 Interpolación Polinómica así…
Sean los puntos xi y xi+1 correspondientes a fi y fi+1, los coeficientes de interpolación a0 y a1, están dados
por... i 0 1 i f a a x fi 1 a0a x1 i 1 de donde despejando a0 y a1... i 1 i 0 i i i 1 i f f a f x x x i 1 i 1 i 1 i f f a x x por lo que... i 1 i i 1 i L i i i 1 i i 1 i f f f f P (x) f x x x x x x
reacomodando los términos la expresión (1.7), se tiene...
i 1 i i i 1 i 1 i L i 1 i i 1 i x f x f f f P (x) x x x x x
que es la fórmula para la interpolación lineal; en ésta los valores xi , xi+1 , fi y fi+1, son datos conocidos, por lo
que la ecuación corresponde a una línea recta…
L i 1 i i i 1 i 1 i i 1 i i 1 i P (x) A B x f x f f f donde A y B x x x x x
1.2.1 INTERPOLACIÓN LINEAL CON DERIVE 6.
En Derive 5, mediante programación funcional, la utilidad expresada por las siguientes líneas de programación permite determinar el polinomio de interpolación lineal para una pareja de puntos, así como para toda un conjun-to de ellos...
#1: Precision := Approximate
#2: “Ecuación de interpolación lineal para parejas de datos consecutivos i e i + 1 de un conjunto de datos, d” #3: [(d1(i+1)d2i – d1id2(i+1))/(d1(i+1) – d1i), (d2(i+1) – d2i)/(d1(i+1) –d1i)] #4: INT_LINEAL(d, i, x) := #31 + (#32)x
E
Ejjeemmpplloo11..33
Para el conjunto de datos dado por...
x 0 2 5 6 7
f 10 7 0 2 9
Calcular el valor de f para x = 3 y x = 6.5 mediante interpolación lineal. Para x = 3… i 0 1 xi 2 3 5 fi 7 ? 0 1 0 0 1 1 0 L 1 0 1 0 x f x f f f (5)(7) (2)(0) 0 7 35 7 P (x) x x x x x x x 5 2 5 2 3 3 (1.5) (1.7) (1.8) (1.9) (1.6)
24 Interpolación Polinómica L 35 7 14 P (3) (3) 4.666666 3 3 3 Para x = 6.5… i 0 1 xi 6 6.5 7 fi 2 ? –9 1 0 0 1 1 0 L 1 0 1 0 x f x f f f (7)(2) (6)( 9) 9 2 P (x) x x 68 11x x x x x 7 6 7 6 L P (3)68 11(6.5) 3.5 E Ejjeemmpplloo11..44
Para el conjunto de datos...
Calcular, utilizando Derive 5, el valor de f para x = 2.5 y x = 4.3 mediante interpolación lineal y compararlos con los valores obtenidos mediante el polinomio de interpolación por el método general. Además graficar el po-linomio de interpolación lineal, el popo-linomio de interpolación obtenido por el método general y los puntos (x, f). Para x = 2.5, utilizando la instrucción INT_LINEAL([1.3, 2.7, 3.6, 5.2; 3.63, 4.18, 4.54, 2.07], 1, x), se obtie-ne…
1
L (x) 0.3928571428x 3.119285714 substituyendo x = 2.5, resulta…
4.101428
Para x = 4.3, mediante la instrucción INT_LINEAL([1.3, 2.7, 3.6, 5.2; 3.63, 4.18, 4.54, 2.07], 3, x), se obtie-ne… 2 L (x) 1.54375x 10.0975 substituyendo x = 4.3, da… 3.459375 La instrucción P_MG([1.3, 2.7, 3.6, 5.2; 3.63, 4.18, 4.54, 2.07], x), genera… 3 2 P(x) 0.2001552795x 1.524285714x 3.204346273x+5.659348447 que substituyendo para x = 2.5 y x = 4.3, da…
4.047842236 para x 2.5 4.150956517 para x 4.3
Los valores calculados por interpolación lineal y el método general se comparan en la siguiente tabla…
x 1.3 2.7 3.6 5.2
f 3.63 4.18 4.54 2.07
M. General Int. Lineal Error absoluto M. General Int. Lineal Error absoluto
x 2.5 2.5 --- 3.2 3.2 ---
25 Interpolación Polinómica Graficando… 0 1 2 3 4 5 6 2 4 6
2.5 4.31.3 POLINOMIO DE INTERPOLACIÓN DE LAGRANGE.
A pesar de que el polinomio de interpolación es único como se explico al final de la sección 1.1, es conveniente estudiar un método más fácil de determinarlo sin tener que resolver el sistema f = XA. Éste se halla de una ma-nera más directa y sencilla, mediante el método denominado de Lagrange.
Definición (Polinomio básico de Lagrange o función de forma). Sea un conjunto de (n + 1) nodos de interpola-ción x1,x2,...,xn, entonces el polinomio Li(x), llamado polinomio básico de Lagrange o función de forma se define
por... n ,1,2,..., 0 i , ) 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) L n i j 0 j i j j n i 1 i i 1 i i 1 i 0 i n 1 i 1 i 1 0 i
Nótese que el polinomio básico de Lagrange no contiene el término (x – xi) en el numerador, ni el término (xi –
xi) en el denominador, éste último por obvias razones. Resulta evidente que Li(x) es un polinomio de grado n y
que... 0 ) x (x L 1 ) (x L i j i i i
Teorema. Sea un conjunto de (n + 1) puntos (x0,y0) , (x1,y1),..., (xn, yn), entonces el polinomio de interpolación
para dicho conjunto de datos se puede escribir como...
n 0 0 1 1 n n i i i 0 P(x) f L (x) fL (x) ... f L (x) fL (x)
llamado polinomio de interpolación de Lagrange.
Es sencillo comprobar que el polinomio de interpolación de Lagrange cumple la definición de interpolación poli-nomial, pues la propiedad (1.10) de los polinomios básicos de Lagrange así lo permite.
E
Ejjeemmpplloo11..55
Para el conjunto de datos...
(1.10)
P(x)
L1(x)