Introduccion a Los Metodos Numericos Con Derive 6

March 30, 2017 | Author: Pato Rivera | Category: N/A
Share Embed Donate


Short Description

Download Introduccion a Los Metodos Numericos Con Derive 6...

Description

INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS CON DERIVE 6 Primera Edición

Jaime Echeverría Profesor de Álgebra Lineal y Métodos Numéricos Departamento de Ciencias Exactas – Escuela Politécnica del Ejército.

2 Prólogo

PRÓLOGO

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 programació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 “aproximaciones” 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 dado 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 problemas 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 importancia dentro del estudio de las ecuaciones diferenciales, tema este último que es uno de los puntos culminantes del Análisis Numérico 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 profesor 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] Quito, Marzo 2010

3 Contenido

CONTENIDO PRÓLOGO ........................................................................................................................................................... 2 CONTENIDO ........................................................................................................................................................ 3 CAPÍTULO

0 .................................................................................................................................................... 6

PROCESOS 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 CAPÍTULO

1 .................................................................................................................................................. 20

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 CAPÍTULO

2 .................................................................................................................................................. 49

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 CAPÍTULO

3 .................................................................................................................................................. 72

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 3.1.3 DERIVADAS DE ORDEN SUPERIOR. ................................................................................................79

4 Contenido 3.2 ERROR EN DIFERENCIACIÓN NUMÉRICA. .............................................................................................81 3.3 DERIVADAS NUMÉRICAS CON DERIVE 6................................................................................................83 CAPÍTULO

4 .................................................................................................................................................. 85

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 CAPÍTULO

5 ................................................................................................................................................ 110

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 CAPÍTULO

6 ................................................................................................................................................ 142

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 APÉNDICE

A................................................................................................................................................ 159

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 A.5.1.4 SUMATORIA Y PRODUCTO ITERADO – FUNCIONES SUM Y PRODUCT ...............................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 APÉNDICE

B................................................................................................................................................ 173

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 ÍNDICE ALFABÉTICO...................................................................................................................................... 181

6 Procesos iterativos y errores en Métodos Numéricos

CAPÍTULO PROCESOS ITERATIVOS Y ERRORES EN MÉTODOS NUMÉRICOS

0

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…

(0.1)

x i1  f(x i )

i  0,1,2,3...

El siguiente ejemplo aclarará este concepto... Ejemplo 0.1 Determinar los primeros cuatro valores numéricos que se obtengan mediante un proceso iterativo para

f(x)  esen(x )  2 , a partir de x0 = 3 como valor de inicio. El proceso iterativo va a generarse mediante: x i1  esen( xi )  2 con i = 0,1,2,…, es decir x 1  e sen( x 0 )  2

x 2  esen( x1 )  2

x 3  e sen( x 2 )  2 …

serán los sucesivos valores a obtenerse. Los cálculos indicados se resumen en la siguiente tabla… i

xi

0

x0 = 3 (valor inicial)

f(xi) e

sen(3)

 2  0.848436

sen( 0.848436 )

1

x1 =  0.848436

e

2

x2 = 1.52775

e

3

x3 = 1.63177

e

4

x4 = 1.63143

sen( 1.52775 ) sen( 1.63177 )

 2  1.52775

Primera iteración

 2  1.63177

Segunda iteración

 2  1.63143

Tercera iteración Cuarta iteración

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 como fórmula de iteración o iterativa. Ejemplo 0.2 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: x bla…

i 1

 cos(x )  1 , y en base a él se obtiene la siguiente tai

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) Convergencia, 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. Ejemplo 0.3 Determine si el proceso iterativo para f(x) 

El proceso iterativo es x i 1 

1 , iniciando con x0 = 1, converge o no. (x  1)2

1 . Las 20 primeras iteraciones para este proceso son… (1 x i )2

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 decimales repetidas es 0.465, por lo que el proceso es convergente. Ejemplo 0.4 Determine si el proceso iterativo para f(x)  (x  1)2 , iniciando con x0 = 2, converge o no.

8 Procesos iterativos y errores en Métodos Numéricos El proceso iterativo x i 1  (x i  1)2 , 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… Ejemplo 0.5 De los procesos iterativos para f(x) 

1 1 y f(y)  y determinar cuál es el más rápidamente convere 1 x 1 2

gente, si ambos inician con x0 = 1. Las procesos iterativas son: x i 1 

1 1 y y i 1  y , con ellos se obtiene para las 10 primeras iteraciox12  1 e i 1

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 ERRORES EN 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étodos 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:

(0.2)

e  xX

donde e representa el error absoluto, x el valor exacto y X el valor aproximado. Esta formulación es algo incompleta, 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 Ejemplo 0.6 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... eeje  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 porcentual de error), se tiene... Eeje 

280  278 100  0.714% 280

Eperno 

20  18 100  10% 20

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...

(0.3)

E

xX 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étodos numéricos utilizan procesos iterativos en los cuales x se substituye por xi+1 que representa la iteración actual 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...

(0.4)

ea  x i 1  x i

Ea 

x i 1  x i 100% x i 1

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...

(0.5)

e  x  X  tol ea  x i 1  x i  tol

(0.6)

Ea 

E

xX 100  tol x

x i 1  x i 100  tol x i 1

para procesos iterativos

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

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 truncamiento para los métodos numéricos donde éste sea aplicable.

0.2.1 ERRORES DE REDONDEO Y NÚMEROS DE PUNTO FLOTANTE Los errores de redondeo son los producidos por la limitada capacidad del computador para representar las cifras tanto enteras como decimales de un número real. Al no poder trabajar con la infinita cantidad de cifras enteras así como con la también infinita cantidad de decimales que tiene un número real, entonces es necesario reemplazar el conjunto infinito de los números reales con un conjunto finito de números enteros y decimales, produciéndose entonces los errores por redondeo. A diferencia de nosotros, los seres humanos, las computadoras utilizan para la representación numérica el sistema 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 puede expresar como:

(0.7)

r  2n  r  2n1  ...  r  21  r  20

donde r es 0 ó 1. Así el numero 1011, en base binaria, equivale a... 1 23  0  22  1 21  1 20  11 , en base decimal

y el número 1101, en base binaria, equivale a... 1 23  1 22  0  21  1 20  13 , en base decimal

Ahora bien, un número real se puede expresar en la computadora en la forma denominada número de punto flotante, la cual se puede expresar genéricamente como...

(0.8)

m  bexp

donde m representa la mantisa o parte fraccionaria, b la base en la cual se representa el número y exp el exponente. De esta forma, el número 236.789 se puede representar como 0.236789103 en punto flotante. Una forma matemática más explícita de la expresión (0.8) se puede escribir como...

(0.9)

s  (.d1d2 ...dk )b   bexp    m

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 (.d1d2 ...dk )b corresponde a...

(0.10)

(.d1d2 ...dk )b 

d1 1

b



d2 b

2

 ... 

dk bk

y da la magnitud de la mantisa. Si ésta se representa siempre con d1  0, se dice entonces que se halla en for1  0.047619... representado en punto flotante a 4 cifras deci21 males es 0.0476100 y representado en punto flotante normalizado a 4 cifras decimales es 0.4761101, 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 representación de un número en punto flotante es llamada precisión; la precisión simple utiliza k = 6 ó 7 dígitos, la

ma normalizada. Así por ejemplo el número

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. Lamentablemente 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 deseada 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)… Ejemplo 0.7 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 indicado la estructura de un número en punto flotante en la computadora hipotética de 7 bits sería como lo muestra la gráfica…

signo del exponente 0

1

21 1

20 1

2–1 1

2–2 1

2–3 1

signo de la magnitud del magnitud de la exponente mantisa mantisa Fig. 0.1 Representación de un número de punto flotante en una computadora hipotética

matemáticamente se pueden escribir como… (.d1d2 d3 )2  2exp

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: (.100)2 

1 0 0 1  2  3  1 2 1  0  2 2  0  2 3   (0.5)10 2 2 2 2

(.101)2 

1 0 1 5    1 2 1  0  2 2  1 2 3   (0.625)10 2 22 23 8

(.110)2 

1 1 0 3  2  3  1 2 1  1 2 2  0  2 3   (0.75)10 2 2 4 2

(.111)2 

1 1 1 7  2  3  1 2 1  1 2 2  1 2 3   (0.875)10 2 2 8 2

Combinando las magnitudes de las mantisas con respectiva base y exponentes se tiene un conjunto de números de punto flotante mostrados en la siguiente tabla…

12 Procesos iterativos y errores en Métodos Numéricos

e = –(11)2 = –(3)10 e = –(10)2 = –(2)10 e = –(01)2 = –(1)10 e = (000)2 = (0)10 e = +(01)2 = +(1)10 e = +(10)2 = +(2)10 e = +(11)2 = +(3)10

(.100)2  (0.5)10

(.101)2  (0.625)10

(.110)2  (0.75)10

(.111)2  (0.875)10

(.100)2  2 3 

(.101)2  2 3 

(.110)2  2 3 

(.111)2  2 3 

0.0625 (.100)2  2 2 

0.078125 (.101)2  2 2 

0.09375 (.110)2  2 2 

0.109375 (.111)2  2 2 

0.125 (.100)2  2 1 

0.15625 (.101)2  2 1 

0.1875 (.110)2  2 1 

0.21875 (.111)2  2 1 

0.25 (.100)2  2 0 

0.3125 (.101)2  2 0 

0.375 (.110)2  2 0 

0.4375 (.111)2  2 0 

0.5 (.100)2  21 

0.625 (.101)2  21 

0.75 (.110)2  21 

0.875 (.111)2  21 

1 (.100)2  22 

1.25 (.101)2  22 

1.5 (.110)2  22 

1.75 (.111)2  22 

2 (.100)2  23 

2.5 (.101)2  23 

3 (.110)2  23 

3.5 (.111)2  23 

4

5

6

7

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 zona de agujero(ó zona de underflow) como lo muestra la siguiente figura…

– 0.0625

0.0625

0 Zona de agujero

Zona de agujero

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…

–

–7

0

Zona de desbordamiento Fig. 0.4 Zona de desbordamiento o de overflow

7



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 cualquier 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 redondeo, que como se verá más adelante en algunos casos se hace muy significativo. Existe un intervalo de discontinuidad 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 computadora y está dado por   2 i , i  1,2,3,... . entonces el intervalo entre un número real cualquiera y el siguiente 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 flotante, 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 significativos de precisión, entonces se procede de la siguiente forma… 0.45238  10 2  0.00000  10 2 0.45238  10 2

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… 0.4523800000  10 2  0.00000002 34  10 2 0.45238002 34  10 2

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 precisión, entonces se procederá así... 0.34567  10 1  0.34567  10 -1 0.00000  10 -1

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 cifras decimales que dan el valor verdadero, es necesario aumentar la precisión a siete dígitos, obteniéndose en dicho caso... 0.3456789  10 1  0.3456723  10 -1 0.0000066  10 -1

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 muestra el siguiente ejemplo… Ejemplo 0.8 Resolver la ecuación x 2  1357x  1  0 , con tres dígitos significativos de precisión. Se procede de la siguiente forma:

x1 

(1357)  (1357)2  4(1)(1) 1357  1356.999   1356.999 2 2

x2 

(1357)  (1357)2  4(1)(1) 1357  1356.999   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, tomando como valor exacto los resultados obtenidos con seis cifras decimales de precisión, es decir... x1 

(1357)  (1357)2  4(1)(1) 1357  1356.998526   1356.999263 2 2

x2 

(1357)  (1357)2  4(1)(1) 1357  1356.998526   0.000737 2 2

por lo tanto, los errores relativos porcentuales para cada resultado son...

E1 

1356.999263  1356.999 100  0.00001% 1356.999263 E2 

0.000737  0.000 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 expresado 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 manera 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 respectivamente. 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 superior a 5 se redondea hacia el valor inmediatamente superior. Dos números aproximados son iguales si al redondearse 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 flotante 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.1342101, 0.2506102, 0.4321104 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 ceros 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.235106, 0.2350106, 0.23500106 y 0.235000106. De forma práctica, se puede afirmar que las cifras significativas 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 porcentual aproximado) era E  tol ó Ea  tol y para el error absoluto(ó absoluto aproximado) e  tol ó ea  tol , pero no se dijo mucho acerca del valor que se fija para tol. Ahora se puede profundizar en dicho principio afirmando que si tol  (0.5x102 k )% , entonces el valor o número aproximado(iteración anterior para los métodos 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 k ) , entonces el valor o 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...

(0.11)

e  x  X  0.5  10 k

E

xX 100  (0.5  102 k )% x

Ea 

x i 1  x i 100  (0.5  102 k )% x i 1

para un método numérico en general, y

(0.12)

ea  x i 1  x i  0.5  10 k

para un método numérico iterativo.

16 Procesos iterativos y errores en Métodos Numéricos Ejemplo 0.9 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 ii.) x 

5 11

X  2.3459

X  0.45455

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... e  2.35678  2.3459  0.01088  0.5  10 1  0.05 E

2.35678  2.3459 100  0.46%  (0.5  102  2 )%  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... e  0.454545...  0.45455  0.000000454  0.5  10 4  0.00005 E

0.454545...  0.45455 100  0.001%  (0.5  102  4 )%  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... e  0.0025365  0.0024674  0.0000691  0.5  10 3  0.0005 E

0.0025365  0.0024674 100  2.72%  (0.5  102 1)%  5% 0.0025365

y también se vuelve a verificar la relación (0.11). Ejemplo 0.10 ¿En que rango debe hallarse el valor aproximado X, para que se aproxime a x = 0.022156, con 3 cifras significativas? Por la expresión (0.11)... E

0.022156  X 100  (0.5  102  3 )%  0.05% 0.022156

es decir... 0.022156  X 

(0.05)(0.022156 )  0.000011078 100

de donde resolviendo la desigualdad, se tiene...

17 Procesos iterativos y errores en Métodos Numéricos 0.022156  0.000011078  X  0.022156  0.000011078 0.022144922  X  0.022167078

cualquier número dentro de este rango tendrá por lo menos 3 cifras significativas con respecto a x = 0.022156. Ejemplo 0.11 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)... Ea 

2.4753532325  2.4753677501 100  0.5  102 k 2.4753532325

0.5  10 2 k  0.00058648 598475

tomando logaritmos en base 10 en cada extremo de la desigualdad... log10 (0.5  10 2 k )  log10 (0.00058648 598475) log10 (0.5)  2  k  log10 (0.00058648 598475) k  log10 (0.5)  2  log10 (0.00058648 598475) k  4.93071236 60

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 expresión (0.12)... Ea 

2.4753532211 2.4753532325 100  0.5  102 k 2.4753532211

0.5  10 2 k  0.00000046 054890831

tomando logaritmos en base 10 en cada extremo de la desigualdad... log10 (0.5  10 2 k )  log10 (0.00000046 054890831) log10 (0.5)  2  k  log10 (0.00000046 054890831) k  log10 (0.5)  2  log10 (0.00000046 054890831) k  8.03569424 71

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: 

Precisión en modo exacto.

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

234657 3 o 2.34657 como ; la precisión en modo exacto 100000 2

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 indicadas 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 respectivamente. 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 precisión en modo aproximado y a los números expresados como fracciones en precisión en modo exacto, de esta forma los números

12 , 4.285679 y 13

5 serán expresados en modo mixto (con Dígitos: 5) como

12 , 4.2856 13

y 2.2360 respectivamente. A pesar de encontrarse elegida la opción de precisión en modo exacto, se puede expresar el resultado en modo

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 Ejemplo 0.12 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 2  3 4  5 6 7  8 9  (18)   10  11  12 13 14  15 16  17 18

p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  p osib le  no es  no es  no es 

   0.125   0.0625  0.03125   0.015625 0.0078125   0.00390625  0.00195312   0.000976562  0.0004882 81   0.000244140  0.000122070  0.0000610351  0.0000305175   ***  ***  ***  0.5 0.25

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

CAPÍTULO INTERPOLACIÓN POLINÓMICA

1

Este capítulo va a estudiar el problema de la interpolación polinómica, que consiste en hallar una dependencia 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... fi  P(x i )

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...

(1.1)

P(x)  a0  a1x  a2 x 2  ...  an x n

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... f0  a0  a1(x 0 )  a2 (x 0 )2  a3 (x 0 )3  ...  an(x 0 )n f1  a0  a1(x1)  a2 (x1)2  a3 (x1)3  ...  an(x1)n . . fn  a0  a1(x n )  a2 (x n )2  a3 (x n )3  ...  an(x n )n

(1.2)

que expresado matricialmente es...

(1.3)

donde

f0    f f   1 .    fn 

f  XA 1 x 0 x 0 2  1 x1 x12 X . . .  2 1 x x  n n

x 03 x13 . x n3

.. x 0n   .. x1n  .. .   .. x nn 

a0    a A   1  .    an 

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 X1, obteniéndose... X 1f  X 1XA

entonces…

21 Interpolación Polinómica

(1.4)

A  X1f 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 sistema de ecuaciones lineales (1.2) es... 1 x0

x0

2

x0

3

. x0

n

1 x1 . .

x1 .

2

x1 .

3

. x1 . .

1 xn

xn

2

xn

3

n

. xn



 x

i

 xj  0

xi  xj

i j

n

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 archivo... #1: Precision := Approximate #2: “Matriz X, construida a partir del conjunto de datos, d” #3: X_(d) := VECTOR(VECTOR((d1i)^n, n, 0, DIM(d`)  1), i, 1, DIM(d`)) #4: “Matriz A = X^(–1)f” #5: A(d) := (X_(d)^(–1))d2 #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))

Ejemplo 1.1 Dado el conjunto de datos... x

1.3

2.7

3.6

f

3.63

4.18

4.54

Por el método general encontrar los coeficientes del polinomio de interpolación ajustado a dichos valores, seguidamente determinar f para x = 2.5 y x = 3.2. Utilizar corte a 6 cifras decimales (a) Se forma la matriz X… 1 1.3 1.32  1 1.3 1.69    X  1 2.7 2.72   1 2.7 7.29  1 3.6 3.62  1 3.6 12.96   

(b) Se calcula su matriz inversa, X–1… 1 0 0 1 1.3 1.69 1 0 0   1 1.3 1.69 1 0 0   1 1.3 1.69 X-1  1 2.7 7.29 0 1 0   0 1.4 5.6 1 1 0   0 1 4 0.714285 0.714285 0  0 1 1 1 3.6 12.96 0 0 1 0 2.3 11.27 1 0 1 0 2.3 11.27

1 0 0   1 1.3 1.69 1 0 0  1 1.3 1.69    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

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 

 3.018633 3.714285 1.695652  X   1.956521 3.888888 1.932367  0.310559 0.79365 0.483091  -1

(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… P(x)  3.130186  0.380434x  0.003105x 2 y, P(2.5)  4.100683 P(3.2)  4.379378

Ejemplo 1.2 Empleando Derive 5, para el conjunto de datos... x

0

2

5

6

f

10

7

0

2

7 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... P(x)  0.2464285714x 4  3.411904761x 3  14.43928571x 2  15.70238095x  10

Su gráfica es… 20

2

0

2

4

6

8

P(x) 20

40

1.2 INTERPOLACIÓN LINEAL. Al elegir dos puntos para efectuar una interpolación, el polinomio de interpolación expresado por el método general es una función lineal y la interpolación entre dichos puntos se denomina interpolación lineal. Es muy simple 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... fi  a0  a1x i

(1.5)

fi 1  a0  a1x i 1

de donde despejando a0 y a1... a0  fi 

(1.6)

fi 1  fi xi x i 1  x i

fi 1  fi x i 1  x i

a1 

por lo que... PL (x)  fi 

(1.7)

fi 1  fi f f x i  i 1 i x x i 1  x i x i 1  x i

reacomodando los términos la expresión (1.7), se tiene...  x f  x i fi 1   fi 1  fi  PL (x)   i 1 i  x  x i 1  x i   x i 1  x i 

(1.8)

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… PL (x)  A  Bx

(1.9)

 x f  x i fi 1  A   i 1 i   x i 1  x i 

donde

 f f  B   i 1 i   x i 1  x i 

y

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 conjunto 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: [(d1(i+1)d2i – d1id2(i+1))/(d1(i+1) – d1i), (d2(i+1) – d2i)/(d1(i+1) –d1i)] #4: INT_LINEAL(d, i, x) := #31 + (#32)x

Ejemplo 1.3 Para el conjunto de datos dado por... x

0

2

5

6

f

10

7

0

2

7 9

Calcular el valor de f para x = 3 y x = 6.5 mediante interpolación lineal. Para x = 3… i

0

xi

2

3

5

fi

7

?

0

1

 x f  x 0 f1   f1  f0  35 7  (5)(7)  (2)(0)   0  7  PL (x)   1 0 x   x  x     52 3 3   52  x1  x 0   x1  x 0 

24 Interpolación Polinómica

PL (3) 

35 7 14  (3)   4.666666 3 3 3

Para x = 6.5… i

0

xi

6

6.5

7

fi

2

?

–9

 x f  x 0 f1   f1  f0 PL (x)   1 0   x1  x 0   x1  x 0 PL (3)  68  11(6.5)  3.5

1

  (7)(2)  (6)(9)   9  2  x      7  6  x  68  11x 76     

Ejemplo 1.4 Para el conjunto de datos... x

1.3

2.7

3.6

5.2

f

3.63

4.18

4.54

2.07

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 polinomio de interpolación lineal, el polinomio 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 obtiene… L1(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 obtiene… L 2 (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…

P(x)  0.2001552795x 3  1.524285714x 2  3.204346273x+5.659348447 que substituyendo para x = 2.5 y x = 4.3, da… 4.047842236 4.150956517

para x  2.5 para x  4.3

Los valores calculados por interpolación lineal y el método general se comparan en la siguiente tabla… M. General

Int. Lineal

Error absoluto

M. General

Int. Lineal

Error absoluto

x

2.5

2.5

------

3.2

3.2

-----

f

4.047842

4.101428

0.053585

4.150956

3.459375

0.691581

25 Interpolación Polinómica Graficando… 6 2.5

4.3

4

L2(x)



P(x)

L1(x) 2

0

1

2

3

4

5

6

1.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 manera 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 interpolación x1,x2,...,xn, entonces el polinomio Li(x), llamado polinomio básico de Lagrange o función de forma se define por... L i (x) 

(x  x 0 )(x x1)    (x  xi  1)(x xi  1)    (x  xn )  (xi  x 0 )(xi  x1)    (xi  xi  1)(xi  xi  1)    (xi  xn )

n

(x  x j )

 (x  x ), j0 ji

i

i  0,1,2,..., n

j

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...

L i (x i )  1

(1.10)

L i (x j  x i )  0 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

P(x)  f0L 0 (x)  fL 1 1(x)  ...  fnLn (x)   fL i i (x) i 0

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 polinomial, pues la propiedad (1.10) de los polinomios básicos de Lagrange así lo permite. Ejemplo 1.5 Para el conjunto de datos...

26 Interpolación Polinómica i

0

1

2

3

4

5

x

x0

x1

x2

X3

x4

x5

f

f0

f1

f2

f3

f4

f5

Determinar el polinomio de interpolación de Lagrange. Los polinomios básicos de Lagrange o funciones de forma se escriben como... L 0 (x) 

( x  x 1 )( x  x 2 )( x  x 3 )( x  x 4 )( x  x 5 ) ( x 0  x 1 )( x 0  x 2 )( x 0  x 3 )( x 0  x 4 )( x 0  x 5 )

L 1 (x) 

( x  x 0 )( x  x 2 )( x  x 3 )( x  x 4 )( x  x 5 ) ( x 1  x 0 )( x 1  x 2 )( x 1  x 3 )( x 1  x 4 )( x 1  x 5 )

L 2 (x) 

( x  x 0 )( x  x 1 )( x  x 3 )( x  x 4 )( x  x 5 ) ( x 2  x 0 )( x 2  x 1 )( x 2  x 3 )( x 2  x 4 )( x 2  x 5 )

L 3 (x) 

( x  x 0 )( x  x 1 )( x  x 2 )( x  x 4 )( x  x 5 ) ( x 3  x 0 )( x 3  x 1 )( x 3  x 2 )( x 3  x 4 )( x 3  x 5 )

L 4 (x) 

( x  x 0 )( x  x 1 )( x  x 2 )( x  x 3 )( x  x 5 ) ( x 4  x 0 )( x 4  x 1 )( x 4  x 2 )( x 4  x 3 )( x 4  x 5 )

L 5 (x) 

( x  x 0 )( x  x 1 )( x  x 2 )( x  x 3 )( x  x 4 ) ( x 5  x 0 )( x 5  x 1 )( x 5  x 2 )( x 5  x 3 )( x 5  x 4 )

y el polinomio de interpolación de Lagrange es... P(x) 

(x  x1)(x  x 2 )(x  x 3 )(x  x 4 )(x  x 5 ) (x 0  x1)(x 0  x 2 )(x 0  x 3 )(x 0  x 4 )(x 0  x 5 )

(x  x 0 )(x  x1)(x  x 3 )(x  x 4 )(x  x 5 )

f2 

(x 2  x 0 )(x 2  x1)(x 2  x 3 )(x 2  x 4 )(x 2  x 5 ) (x  x 0 )(x  x1)(x  x 2 )(x  x 3 )(x  x 5 ) (x 4  x 0 )(x 4  x1)(x 4  x 2 )(x 4  x 3 )(x 4  x 5 )

f4 

f0 

(x  x 0 )(x  x 2 )(x  x 3 )(x  x 4 )(x  x 5 ) (x1  x 0 )(x1  x 2 )(x1  x 3 )(x1  x 4 )(x1  x 5 )

(x  x 0 )(x  x1)(x  x 2 )(x  x 4 )(x  x 5 ) (x 3  x 0 )(x 3  x1)(x 3  x 2 )(x 3  x 4 )(x 3  x 5 ) (x  x 0 )(x  x1)(x  x 2 )(x  x 3 )(x  x 4 ) (x 5  x 0 )(x 5  x1)(x 5  x 2 )(x 5  x 3 )(x 5  x 4 )

f1 

f3  f5

es fácil notar que el orden del polinomio es n = 5. Ejemplo 1.6 Encontrar el polinomio de interpolación mediante el método de Lagrange, para el siguiente conjunto de datos: x

0

1

3

7

9

y

–2

–1

0

5

–3

L0 (x) 

(x  1)(x  3)(x  7)(x  9) (x  1)(x  3)(x  7)(x  9)  (0  1)(0  3)(0  7)(0  9) 189

L1(x) 

(x  0)(x  3)(x  7)(x  9) (x  0)(x  3)(x  7)(x  9)  (1 0)(1 3)(1 7)(1 9) 96

L2 (x) 

(x  0)(x  1)(x  7)(x  9) (x  0)(x  1)(x  7)(x  9)  (3  0)(3  1)(3  7)(3  9) 144

L3 (x) 

(x  0)(x  1)(x  3)(x  9) (x  0)(x  1)(x  3)(x  9)  (7  0)(7  1)(7  3)(7  9) 336

27 Interpolación Polinómica

L4 (x) 

(x  0)(x  1)(x  3)(x  7) (x  0)(x  1)(x  3)(x  7)  (9  0)(9  1)(9  3)(9  7) 864

entonces, (x  1)(x  3)(x  7)(x  9) (x  0)(x  3)(x  7)(x  9) (x  0)(x  1)(x  7)(x  9) (2)  (1)  (0)  189 96 144 (x  0)(x  1)(x  3)(x  9) (x  0)(x  1)(x  3)(x  7) (5)  (3) 336 864 2(x  1)(x  3)(x  7)(x  9) 5 x(x  1)(x  3)(x  9) x(x  3)(x  7)(x  9) P(x)     189 96 336 3 x(x  1)(x  3)(x  7)  864 P(x) 

1.3.1 POLINOMIO DE INTERPOLACIÓN DE LAGRANGE CON DERIVE 6. En Derive 5 las siguientes líneas de programación permiten determinar el polinomio de interpolación de Lagrange para una serie de datos... #1: Precision := Approximate #2: “Función de forma j–ésima” #3: FUNC_FORMA_J(d, j, x) := PRODUCT(IF(i  j,(x – d1i)/(d1j – d1i),1), i, 1, DIM(d`)) #4: “Todas las funciones de forma para el conjunto de datos” #5: FUNC_FORMA(d, x) := VECTOR(FUNC_FORMA_J(d, j, x),j,1,DIM(d`)) #6: “Polinomio de interpolación de Lagrange” #7: P_LAG(d, x) := FUNC_FORMA(d, x)d2

Ejemplo 1.7 En la siguiente tabla se dan los valores de y  x redondeados hasta cuatro cifras decimales, para argumentos desde 1 a 1.3 con pasos de 0.05... x

1

1.05

1.1

1.15

1.2

1.25

1.3

f

1

1.0247

1.0488

1.0724

1.0954

1.1180

1.1402

Con Derive 5, hallar el polinomio de interpolación de Lagrange, y calcular el valor de f para argumentos desde 1 a 1.3 con pasos de 0.025. Utilizar precisión de 6 dígitos. La orden P_LAG([1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3; 1, 1.0247, 1.0488, 1.0724, 1.0954, 1.1180, 1.1402], x) genera el polinomio… 88.8887x6  613.332x 5  1760.22x 4  2689.53x3  2307.67x2  1054.81x  199.896

Para evaluar el polinomio de interpolación de Lagrange dentro del conjunto de datos pedidos, se introducen las siguientes líneas, dentro de la utilidad que contiene la función P_LAG(d, x), y luego se aplica la nueva función P_LAG_(d, in, fin, )... #8: “Generación de los nodos de interpolación” #9: X_(in, fin, ) := VECTOR(i, i, in, fin, ) #10: “Polinomio de Lagrange para el conjunto de nodos anterior” #11: P_LAG_(d, in, fin, ) := [X_(in, fin, ), VECTOR(P_LAG(d, (X_(in, fin, ))i), i, 1, DIM(X_(in, fin, )))]`

La nueva orden P_LAG_([1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3; 1, 1.0247, 1.0488, 1.0724, 1.0954, 1.1180, 1.1402], 1, 1.3, 0.025) genera el vector…

28 Interpolación Polinómica  1 1.025   1.05  1.075  1.1  1.125  1.15  1.175   1.2 1.225   1.25 1.275   1.3

1  1.01247  1.0247   1.03680  1.0488   1.06067  1.0724   1.08396   1.0954  1.10673   1.118  1.12919   1.1402 

En la columna 1 se muestran los valores desde 1 hasta 1.3 en pasos de 0.025, y la columna 2, los correspondientes valores del polinomio de interpolación de Lagrange.

1.4 DIFERENCIAS DIVIDIDAS. Definición (Diferencias divididas). Sea un conjunto de (n + 1) nodos de interpolación xi para i = 0,1,2,...,n, y considérese además sus correspondientes valores para la función dados por f(xi) con i = 0,1,2,...,n, entonces la relación...

f[x i ,x i 1,x i  2 ,...,x i n ] 

f[x i 1,x i  2 ,...,x i n ]  f[x i ,x i 1,x i  2 ,...,x i (n1) ] x i n  x i

se conoce como la diferencia dividida de n ésimo orden. Esta definición es bastante genérica, por lo que es necesario analizarla con mayor profundidad. Las siguientes expresiones desarrollan en detalle la notación indicial de la definición anterior… La diferencia dividida de orden 0, para el punto xi es… f[xi ]  f(xi )

i  0,1,2,...,n

por lo tanto, las (n + 1) diferencias divididas de orden 0 para el conjunto de (n +1) puntos (x0, f(x0)), (x1, f(x1)), (x2, f(x2)),…, (xn, f(xn)) son… f[x 0 ]  f(x 0 )

f[x1 ]  f(x1)

f[x 2 ]  f(x 2 ) . . . f[xn ]  f(xn )

La diferencia dividida de orden 1 para los puntos xi y xi+1 es… f[xi ,xi1] 

f[xi+1]  f[xi ] xi1  x1



f(xi+1)  f(xi ) xi1  xi

i  0,1,2,...,n

por lo que las n diferencias divididas de orden 1 se pueden expresar como...

f[x 0 ,x1] 

f(x1)  f(x 0 ) x1  x 0

f[x1,x 2 ] 

f(x 2 )  f(x1) x 2  x1

. . . f[xn1,xn ] 

La diferencia dividida de orden 2, para los puntos xi, xi+1 y xi+2 se escribirá...

f(xn )  f(xn1) xn  xn1

29 Interpolación Polinómica f[xi+1,xi2 ]  f[xi ,xi1]

f[xi ,xi1,xi 2 ] 

xi 2  xi

i  0,1,2,...,n

entonces las (n – 1) diferencias divididas de orden 2 serán... f[x 0 ,x1,x 2 ] 

f[x1,x 2 ]  f[x 0 ,x1]

f[xn 2 ,xn1,xn ] 

x2  x0

f[x1,x 2 ,x 3 ] 

f[x 2 ,x 3 ]  f[x1,x 2 ] x 3  x1

...

f[xn1,xn ]  f[xn2 ,xn1] xn  xn  2

en consecuencia la única diferencia dividida de orden n para los puntos xi, xi+1, xi+2 ,…, xi+n se escribirá de acuerdo a la definición dada. Es importante resaltar que la notación indicial de las diferencias divididas, es una nomenclatura nemónica que ayuda a recordar fácilmente la correcta expresión para una diferencia dividida de cualquier orden. Los siguientes ejemplos aclaran la definición de diferencias divididas. Ejemplo 1.8 Escribir mediante notación indicial todas las diferencias divididas para el conjunto de puntos (x0, f(x0)), (x1, f(x1)), (x2, f(x2)), (x3, f(x3)) y (x4, f(x4)). Considérese la siguiente simplificación de nomenclatura… f[xi ,xi1,xi 2 ,...,xin ]  fi,i1,i 2,...,in

entonces, la siguiente tabla resume las diferencias pedidas… Nodo / Orden

0

1

2

3

4

x0

f0 = f(x0)

f0,1

f0,1,2

f0,1,2,3

f0,1,2,3,4

x1

f1 = f(x1)

f1,2

f1,2,3

f1,2,3,4

x2

f2 = f(x2)

f2,3

f2,3,4

x3

f3 = f(x3)

f3,4

x4

f4 = f(x4)

Si bien la notación puede ser confusa, el siguiente ejemplo numérico muestra cuan sencillo es el cálculo de las diferencias divididas. Ejemplo 1.9 Determinar todas las diferencias divididas para el siguiente conjunto de datos… i

0

1

2

3

x

0

1

2

3

f

10

8

2

8

La correspondiente tabla de diferencias divididas es...

30 Interpolación Polinómica

i

xi

fi

fi, i+1

fi, i+1, i+2

fi, i+1, i+2, i+3

0

0

10

8  10  2 1 0

6  (2)  2 20

2  (2) 0 30

1

1

8

28  6 2 1

10  (6)  2 3 1

2

2

2

8  2  10 32

3

3

8

Este procedimiento de cálculo se puede extender para un conjunto de cualquier número de datos. Algunas características importantes de las diferencias divididas son... 

A medida que aumenta el orden de una diferencia, su número disminuye en uno; así, en la tabla de diferencias para un conjunto de 8 datos por ejemplo, existirán: 7 diferencias de primer orden, 6 de segundo orden, 5 de tercer orden, 4 de cuarto orden, 3 de quinto orden, 2 de sexto orden y 1 de séptimo orden.



La resta del último y primero subíndices representa el orden de la diferencia.



Si los datos (xi, fi) se toman de un polinomio p(x) de orden m, la columna para la diferencia de orden m se convierte en una constante y la columna para la diferencia de orden (m + 1) se anula; ésta característica permite reconocer el orden del polinomio del cual se extrajeron los datos, en base a una tabla de diferencias, así en el último ejemplo se puede decir que los datos xi y fi provienen de un polinomio de segundo grado, pues la columna correspondiente a la diferencia de segundo orden da una constante (– 2) y la columna de la diferencia de tercer orden se anula.

Cuando entre los nodos de interpolación existe una distancia idéntica h ( h  x i1  x i , i =0,1,2,…,n), entonces las diferencias divididas se pueden expresar como...

(1.11)

f[x i ,x i 1, x i  2 ,...,x i n ] 

nfi n!(hn )

i  0,1,2,...,n

donde  n fi es la denominada diferencia finita hacia adelante o diferencia finita progresiva de orden n, cuya estructura se va a detallar y ejemplificar a continuación. La diferencia finita progresiva(llamada usualmente diferencia progresiva) de orden 0 es…  0 fi  f(x i )

i  0,1,2,...,n

La diferencia progresiva de orden 1 es… fi   0 fi 1   0 fi  f(x i+1)  f(x i )

i  0,1,2,...,n

La diferencia progresiva de orden 2 se escribirá...  2 fi  fi 1  fi

i  0,1,2,...,n

entonces la diferencia progresiva de orden n se expresa como…

31 Interpolación Polinómica nfi  n1fi 1  n1fi

i  0,1,2,...,n

Si se tienen nodos equiespaciados se pueden utilizar las diferencias progresivas mediante el segundo miembro de la expresión (1.11), para calcular de una manera más simple las diferencias divididas. Ejemplo 1.10 Escribir mediante notación indicial todas las diferencias progresivas para el conjunto de puntos equiespaciados (x0, f(x0)), (x1, f(x1)), (x2, f(x2)), (x3, f(x3)) y (x4, f(x4)). La siguiente tabla resume las diferencias pedidas…

f1 = f(x1)

x2

f2 = f(x2)

x3

f3 = f(x3)

x4

f4 = f(x4)

f(x1 )  f ( x0 )  f 0  0 f2  0 f1  f(x 2 )  f(x1)  f1  0 f3  0 f2 

f1  f 0   2 f 0

 2 f1   2 f0   3 f0

f2  f1  2 f1

 2 f2   2 f1   3 f1

i f 4 Δ

x1

 0 f1   0 f 0 

i f 3 Δ

f0 = f(x0)

i f 2 Δ

fi Δ

i f 0 Δ

x0

 3 f1   3 f0   4 f0

f3  f2  2 f2

f(x 3 )  f(x 2 )  f2  0 f4  0 f3  f(x 4 )  f(x 3 )  f3

Ejemplo 1.11 Determinar todas las diferencias progresivas para el siguiente conjunto de datos… i

0

1

2

3

x

3

5

7

9

f(x)

10

8

2

8

La correspondiente tabla de diferencias finitas progresivas es... xi

0

3

2

4  2  6

5  (6)  11

1

5

–4

1  (4)  5

8  5  13

2

7

1

7  1  8

3

9

7

i f 3 Δ

i f 2 Δ

fi Δ

i f 0 Δ

i

13  11  24

Como se observa, el cálculo de las diferencias finitas progresivas es aún más simple que el de las diferencias finitas divididas, lo que las hace más útiles, aunque es condición indispensable para emplearlas el tener nodos equiespaciados. El exponente que poseen el símbolo  de las diferencias finitas progresivas es nada más una indicación de su orden; además al igual que las diferencias finitas divididas su número disminuye en 1 al

32 Interpolación Polinómica aumentar el orden y presentan la misma característica mencionada anteriormente para datos tomados de un polinomio.

1.5 POLINOMIO DE INTERPOLACIÓN DE NEWTON. Teorema. Para un conjunto de (n + 1) puntos (x0, f0), (x1, f1),..., (xn, fn), el polinomio de interpolación de Newton esta dado por... P( x )  f0  f0,1 ( x  x 0 )  f0,1,2 ( x  x 0 )( x  x 1 )  ...  f0,1,2,...,n ( x  x 0 )(x  x 1 )    ( x  x n 1 )

Es indispensable comprobar que la expresión anterior es correcta, para lo cual considérese que el polinomio de interpolación de Newton se puede expresar genéricamente como... P( x )   0   1 ( x  x 0 )   2 ( x  x 0 )( x  x 1 )  ...   n ( x  x 0 )( x  x 1 )    ( x  x n 1 )

donde los coeficientes 0,1,2,...,n deben determinarse. A fin de encontrar dichos coeficientes se va a utilizar la definición de la interpolación polinomial según el cual debe cumplirse que... P(x 0 )  f0 P(x 1)  f1

P(x 2 )  f2

. . P(x n )  fn entonces... P(x 0 )   0  f0 P(x 1)   0   1(x 1  x 0 )  f1 P(x 2 )   0   1(x 2  x 0 )   2 (x 2  x 0 )(x 2  x 1)  f2

P(x n )   0   1(x n  x 0 )   2 (x n  x 0 )(x n  x 1)  ...   n (x n  x 0 )(x n  x 1)    (x n  x n1)  fn

de las anteriores expresiones es notorio que los coeficientes 0,1,2,...,n se pueden calcular de forma recursiva, pues conocido 0 = f0, se halla 1 y a partir de éste y 0 se encuentra 2, procediendo consecutivamente de esta forma hasta hallar todos los coeficientes, de forma tal que se obtiene...  0  f(x 0 )  f0

1 

f1  f0 x1  x 0

 f0,1

33 Interpolación Polinómica

f2  f0  2 

x1  x 0

(x 2  x 0 ) 

(x 2  x 0 )(x 2  x 1) 



f1  f0

(f2  f0 )(x 1  x 0 )  (f1  f0 )(x 2  x 0 ) (x 2  x 0 )(x 2  x 1)(x 1  x 0 )

(f2  f1  f1  f0 )(x 1  x 0 )  (f1  f0 )(x 2  x 1  x 1  x 0 ) (x 2  x 0 )(x 2  x 1)(x 1  x 0 )



(f2  f1)(x 1  x 0 )  (f1  f0 )(x 1  x 0 )  (f1  f0 )(x 2  x 1)  (f1  f0 )(x 1  x 0 ) (x 2  x 0 )(x 2  x 1)(x 1  x 0 ) (f2  f1)(x 1  x 0 )





(f2  f1)(x 1  x 0 )  (f1  f0 )(x 2  x 1) (x 2  x 0 )(x 2  x 1)(x 1  x 0 ) (f2  f1) 

(x 2  x 1)





(x 2  x 1)(x 1  x 0 )





(f1  f0 )(x 2  x 1) (x 2  x 1)(x 1  x 0 )

(x 2  x 0 )(x 2  x 1)(x 1  x 0 )



(x 2  x 1)(x 1  x 0 ) (f1  f0 ) (x 1  x 0 )

(x 2  x 0 )



f1,2  f0,1 (x 2  x 0 )

 f0,1,2

. .  n  f0,1,2,...,n

la complejidad de cálculo para n, no permite expresar explícitamente este coeficiente, pero no es necesario, pues se infiere fácilmente que si  0  f0 ,  1  f0,1 ,  2  f0,1,2 entonces  n  f0,1,2,...,n . Así el polinomio de interpolación de Newton es...

P( x )  f0  f0,1 ( x  x 0 )  f0,1,2 ( x  x 0 )( x  x 1 )  ...  f0,1,2,...,n ( x  x 0 )(x  x 1 )    ( x  x n 1 ) Los polinomios de interpolación de Newton salvan algunas dificultades que son propias de los métodos de interpolación vistos anteriormente, especialmente del polinomio de interpolación de Lagrange. Entre sus características favorables se pueden mencionar: 

La cantidad de cálculos necesarios para una interpolación es menor que en los métodos anteriores, y este hecho se hace más notorio a medida que el orden del polinomio interpolador aumenta.



La interpolación de un punto, fuera del intervalo de interpolación, no requiere del reinicio de todos los cálculos nuevamente, sino que se puede utilizar lo ya hecho; cosa igual sucede si se aumentan o disminuyen el número de datos.



La evaluación del error es más fácil.

El polinomio de interpolación de Newton de la manera más general se escribe como... P(x)  fn  fn,n1(x  xi )  fn,n1,n 2 (x  xn )(x  xn1)  ...  fn,n1,n 2,...,m (x  xn )(x  xn1)    (x  xm 1)

(1.12)

donde P(x) es de grado (m – n) e interpola al conjunto de nodos xi, ubicados entre xn y xm (0  n  m). Es importante recalcar que los nodos para este polinomio podrán ser equiespaciados o no. Ejemplo 1.12 Para el siguiente conjunto de datos...

34 Interpolación Polinómica i

0

1

2

3

4

5

x

x0

x1

x2

x3

x4

x5

f

f0

f1

f2

f3

f4

f5

generar los polinomios de interpolación de Newton para: a) i = 0,1,2,3,4 ; b) i =1,2.3,4,5 ; c) i = 2,3,4 ; d) i = 3,4,5 ; e) i = 4,5 La tabla de diferencias finitas divididas para el conjunto de datos es... x0

f0

f0,1 

x1

f1

f1,2 

x2

f2

f2,3 

x3

f3

f3,4 

x4

f4

f4,5 

x5

f5

f0,1,2,3,4,5 

f1  f0

f0,1,2 

x1  x 0

f2  f1

f1,2,3 

x 2  x1 f3  f2 x3  x2

f4  f3 x4  x3

f2,3,4 

f3,4,5 

f1,2  f0,1 x2  x0 f2,3  f1.2 x 3  x1 f3,4  f2.3 x4  x2

f0,1,2,3  f1,2,3,4  f2,3,4,5 

f1,2,3  f0,1,2 x 3  x0 f2,3,4  f1,2,3 x 4  x1

f0,1,2,3,4  f1,2,3,4,5 

f1,2,3,4  f0,1,2,3 x4  x0 f2,3,4,5  f1,2,3,4 x 5  x1

f3,4,5  f2,3,4 x5  x2

f4,5  f3.4 x5  x3

f5  f4 x5  x4

f1,2,3,4,5  f0,1,2,3,4 x5  x0

y los polinomios interpoladores son... a)

P( x )  f0  f0,1 ( x  x 0 )  f0,1,2 ( x  x 0 )( x  x 1 )  f0,1,2,3 ( x  x 0 )( x  x 1 )( x  x 2 )  f0,1,2,3,4 ( x  x 0 )( x  x 1 ) ( x  x 2 )( x  x 3 ) P( x )  f0 

f1,2  f0,1 f1,2,3  f0,1,2 f1  f0 (x  x 0 )  ( x  x 0 )( x  x 1 )  ( x  x 0 )( x  x 1 )( x  x 2 )  (x 1  x 0 ) (x 2  x 0 ) (x 3  x 0 )

f1,2,3,4  f0,1,2,3 (x 4  x 0 )

( x  x 0 )( x  x 1 )( x  x 2 )( x  x 3 )

b) P( x )  f1  f1,2 ( x  x 1 )  f1,2,3 ( x  x 1 )( x  x 2 )  f1,2,3,4 ( x  x 1 )( x  x 2 )( x  x 3 )  f1,2,3,4,5 ( x  x 1 )( x  x 2 ) ( x  x 3 )( x  x 4 ) P( x )  f1 

f2,3  f1,2 f2,3,4  f1,2,3 f2  f1 (x  x 1 )  ( x  x 1 )( x  x 2 )  ( x  x 1 )( x  x 2 )( x  x 3 )  (x 2  x 1 ) (x 3  x 1 ) (x 4  x 1 )

f2,3,4,5  f1,2,3,4 (x 5  x 1 )

c)

( x  x 1 )( x  x 2 )( x  x 3 )( x  x 4 )

35 Interpolación Polinómica

P( x )  f2  f2,3 ( x  x 2 )  f2,3,4 ( x  x 2 )( x  x 3 ) P( x )  f2 

f3,4  f2,3 f3  f2 (x  x 2 )  ( x  x 2 )( x  x 3 ) (x 3  x 2 ) (x 4  x 2 )

d) P( x )  f3  f3,4 ( x  x 3 )  f3,4,5 ( x  x 3 )( x  x 4 ) P( x )  f3 

f4,5  f3,4 f4  f3 (x  x 3 )  ( x  x 3 )( x  x 4 ) (x 4  x 3 ) (x 5  x 3 )

e)

P( x )  f4  f4,5 ( x  x 4 ) P( x )  f4 

f5  f4 (x  x 4 ) (x 5  x 4 )

Ejemplo 1.13 En base a la siguiente tabla... i x f

0 0.15 0.1494

1 0.5 0.4794

2 0.75 0.6816

3 0.8 0.7174

4 0.95 0.8134

5 1.3 0.9636

Hallar el valor de f para x = 0.32, x = 1.12 y x = 0.63 utilizando un polinomio de interpolación de Newton con diferencias divididas ajustado a: a.) i = 0, 1, 2, 3, 4, 5; b.) i = 2, 3, 4, 5; c.) i = 1, 2, 3. Usar corte a 4 cifras significativas. Se genera la tabla de diferencias divididas… i

xi

fi

fI[1] [1]

2 fi 

0

0.15

0.1494

0.4794  0.1494  0.9428 0.5  0.15

0.8088  0.9428  0.2233 0.75  0.15

1

0.5

0.4794

0.6816  0.4794  0.8088 0.75  0.5

0.716  0.8088  0.3093 0.8  0.5

2

0.75

0.6816

0.7174  0.6816  0.716 0.8  0.75

0.64  0.716  0.38 0.95  0.75

3

0.8

0.7174

0.8134  0.7174  0.64 0.95  0.8

0.4291  0.64  0.4218 1.3  0.8

4

0.95

0.8134

0.9636  0.8134  0.4291 1.3  0.95

5

1.3

0.9636 3 fi 

0.3093  0.2233  0.1323 0.8  0.15

4 fi 

5 fi 

0.1571  0.1323  0.031 0.95  0.15

0.1013  0.031  0.115 1.3  0.15

36 Interpolación Polinómica 0.38  0.3093  0.1571 0.95  0.5

0.076  0.1571  0.1013 1.3  0.5

0.4218  0.38  0.076 1.3  0.75

y los polinomios de interpolación de Newton son... a.) P(x)  0.1494  0.9428(x  0.15)  0.2233(x  0.15)(x  0.5)  0.1323(x  0.15)(x  0.5)(x  0.75)  1 0.031(x  0.15)(x  0.5)(x  0.75)(x  0.8)  0.115(x  0.15)(x  0.5)(x  0.75)(x  0.8)(x  0.95) P(0.32)  0.3154 1 P(0.63)  0.5889 1 P(1.12)  0.8993 1

b.) P2 (x)  0.6816  0.716(x  0.75)  0.38(x  0.75)(x  0.8)  0.076(x  0.75)(x  0.8)(x  0.95) P2 (1.12)  0.9

c.) P3 (x)  0.4794  0.8088(x  0.5)  0.3093(x  0.5)(x  0.75)

P3 (0.63)  0.5893

Ejemplo 1.14 Para la siguiente tabla de datos: x f(x)

– 0.2 0.7028

0 0.13534

0.1 – 0.14943

0.5 – 1.1518

0.7 – 1.4845

halle un polinomio de interpolación de segundo y otro de tercer grado que permitan obtener de forma aproximada f(0.2). Utilice diferencias divididas. La tabla de diferencias divididas es… xi – 0.2 0 0.1 0.5 0.7

fi 0.7028 0.13534 – 0.14943 – 1.1518 – 1.4845

fi[1] – 2.8373 – 2.8477 – 2.5059 – 1.6635

fi[2] – 0.0347 0.6836 1.4040

fi[3] 1.0260 1.0293

fi[4] 0.0036

Un polinomio de segundo grado que interpole a x = 0.2 es… P(x)  0.14943  2.5059(x  0.1)  1.4040(x  0.1)(x  0.5)

y uno de tercer grado es… P(x)  0.13534  2.8477x  0.6836x(x  0.1)  1.0293x(x  0.1)(x  0.5)

la expresión para el polinomio de interpolación de Newton con nodos exclusivamente equiespaciados, de distancia h, utilizando (1.11), se transforma en...

37 Interpolación Polinómica

(1.13)

P(x)  f0 

f0 2 f0 n f0 (x  x 0 )  (x x )(x x ) ...     (x  x 0 )( x  x 1 )    (x  x n 1 ) 0 1 h 2! (h 2 ) n! (h n )

o de forma general, para un conjunto de puntos ubicados entre xn y xm (0  n  m), en un polinomio de grado (m – n) dado por...

(1.14)

P(x)  fn 

fn  2 fn mn fn (x  xn )  (x  xn )(x  xn1)  ...  (x  xn )(x  xn1)    (x  xm1) 2 h 2!(h ) (m  n)!(hmn )

denominado polinomio de interpolación de Newton con diferencias progresivas o polinomio de interpolación de Newton–Gregory. Ejemplo 1.15 En base a la siguiente tabla... i x f

0 0.1 0.15

1 0.3 0.44

2 0.5 0.63

3 0.7 0.73

4 0.9 0.84

5 1.1 0.96

6 1.3 0.99

Encontrar el valor de f para x = 1, x = 0.45 y x = 0.12 mediante un polinomio de interpolación de Newton– Gregory ajustado a: a.) todos los datos; b.) i = 3, 4, 5, 6. Usar redondeo a 7 cifras significativas. Se genera la tabla de diferencias progresivas…

fi

2 f i

3 f i

i 0

xi 0.1

fi 0.15

0.44  0.15  0.29

0.19  0.29  0.10

0.09  (0.10)  0.01

1

0.3

0.44

0.63  0.44  0.19

0.10  0.19  0.09

0.01  (0.09)  0.10

2

0.5

0.63

0.73  0.63  0.10

0.11 0.10  0.01

0.01 0.01  0

3

0.7

0.73

0.84  0.73  0.11

0.12  0.11  0.01

0.09  0.01  0.10

4

0.9

0.84

0.96  0.84  0.12

0.03  0.12  0.09

5

1.1

0.96

0.99  0.96  0.03

6

1.3

0.99

4 f i

5 f i

6 f i

0.10  0.01  0.09

0.10  0.09  0.19

0  (0.19)  0.19

0  0.10  0.10

0.10  (0.10)  0

0.10  0  0.10

los polinomios de interpolación de Newton son entonces... a.) h = 0.3 – 0.1 = 0.5 – 0.3 = 0.7 – 0.5 = 0.9 – 0.7 = 1.1 – 0.9 = 1.3 – 1.1 = 0.2 0.29 0.10 0.01 P(x) (x  0.1)  (x  0.1)(x  0.3)  (x  0.1)(x  0.3)(x  0.5)   0.15  1 0.2 2!(0.2)2 3!(0.2)3 0.09 0.19 (x  0.1)(x  0.3)(x  0.5)(x  0.7)  (x  0.1)(x  0.3)(x  0.5)(x  0.7)(x  0.9)  4 4!(0.2) 5!(0.2)5 0.19 (x  0.1)(x  0.3)(x  0.5)(x  0.7)(x  0.9)(x  1.1) 6!(0.2)6

38 Interpolación Polinómica  0.15  1.45(x  0.1)  1.25(x  0.1)(x  0.3)  0.2083333(x  0.1)(x  0.3)(x  0.5)  P(x) 1 2.34375(x  0.1)(x  0.3)(x  0.5)(x  0.7)  4.947917(x  0.1)(x  0.3)(x  0.5)(x  0.7)(x  0.9)  4.123264(x  0.1)(x  0.3)(x  0.5)(x  0.7)(x  0.9)(x  1.1) P(1 1 )  0.9039550

 0.5951189 P(0.45) 1  0.1763624 P(0.12) 1

b.) P2 (x)  0.73 

0.11 0.01 0.10 (x  0.7)  (x  0.7)(x  0.9)  (x  0.7)(x  0.9)(x  1.1) 2 0.2 2!(0.2) 3!(0.2)3

P2 (x)  0.73  0.55(x  0.7)  0.125(x  0.7)(x  0.9)  2.083333(x  0.7)(x  0.9)(x  1.1) P2 (1)  0.905

1.5.1 POLINOMIO DE INTERPOLACIÓN DE NEWTON CON DERIVE 6. Las siguientes líneas de programación[2] en Derive 6 presentan una utilidad para generar un polinomio de interpolación de Newton por diferencias divididas... #1: Precision := Approximate #2: “Generación de la tabla de diferencias divididas y progresivas para el conjunto de datos, d” #3: DD(x, f, k) := VECTOR((f(i + 1) – fi)/(f(i + k) – xi), i, 1, DIM(x) – k) #4: DD_(x, f) := ITERATES(DD(x, r, DIM(x) + 1 – DIM(r)), r, f, DIM(x) –1) #5: DD_BLANCOS(x, f) := VECTOR(APPEND((DD_(x, f))k, VECTOR("***", i, 1, k – 1)), k, 2, DIM(x)) #6: TABLA_DD(d) := APPEND(d, DD_BLANCOS(d1, d2)) #7: “Polinomio de interpolación de Newton por diferencias divididas #8: PN1_DD(d, n, m, x) := VECTOR(PRODUCT(x – (TABLA_DD(d))i1, i, n, j), j, n, m – 1) #9: PN2_DD(d, n, m, x) := (TABLA_DD(d))[3, ..., 2 + m – n]n #10: PN_DD(d, n, m, x) := (TABLA_DD(d))n2 + PN1_DD(d, n, m, x)PN2_DD(d, n, m, x)

Ejemplo 1.16 Resolver el ejercicio 1.12 empleando Derive 6 con una precisión de 7 dígitos. Derive 6 produce los siguientes resultados… a.) La orden PN_DD([0.15, 0.5, 0.75, 0.8, 0.95, 1.3; 0.1494, 0.4794, 0.6816, 0.7174, 0.8134, 0.9636], 1, 6, x), produce el polinomio… 0.1152921x 5  0.3942649x 4  0.3711869x 3  0.3333666x 2  1.090123x  0.007679653

sustituyendo x = 0.32, x = 0.63 y x = 1.12 se tiene respectivamente… 0.3154386 0.5889323 0.8993745

b.) La orden PN_DD([0.15, 0.5, 0.75, 0.8, 0.95, 1.3; 0.1494, 0.4794, 0.6816, 0.7174, 0.8134, 0.9636], 3, 6, x), genera el polinomio… 0.075844131x 3  0.1903895x 2  1.147812x  0.04016882

sustituyendo x = 1.12, resulta…

0.9 c.) La orden PN_DD([0.15, 0.5, 0.75, 0.8, 0.95, 1.3; 0.1494, 0.4794, 0.6816, 0.7174, 0.8134, 0.9636], 2, 4, x), produce el polinomio…

39 Interpolación Polinómica 0.3093333x 2  1.195466x  0.04099999

sustituyendo x = 0.63 se tiene… 0.5893692

1.6 ERROR EN POLINOMIOS DE INTERPOLACIÓN. Si una función conocida f(x), se desea aproximar mediante un polinomio de interpolación P(x), surge un error e(x) entre la función y el polinomio interpolador, el cual se define como... e(x)  f(x)  P(x)

(1.15)

donde f(x) es la función de donde se extraen los datos (xi, fi) para la interpolación. En raras ocasiones es conocida f(x), por lo cual es necesaria alguna forma alternativa de calcular o estimar el error de un polinomio de interpolación. Teorema(Error en un polinomio de interpolación). Sea f(x) una función continua y derivable, hasta el orden (n + 1) por lo menos, entonces para un  cualquiera dentro del intervalo de interpolación [x0, xn], el error e(x) se puede expresar como...

e(x)  f(x)  P(x) 

f (n 1) () (n  1)!

n

 (x - x ), i

i 0

En la fórmula para el error, si f(x) es un polinomio de grado n o menor, f(n+1)() se anula y en ese caso el error es 0; si esta no es la situación, la ecuación para el error es difícil evaluarla ya que es desconocido el valor exacto de , no obstante, cuando la (n + 1) ésima derivada esta acotada, es decir… f (n 1) ()  M

donde M  0

el error estimado o aproximado, eap(x) es entonces... n

e(x)  f(x)  P(x)   (x  x i )

(1.16)

i 0

M  eap (x) (n  1)!

fórmula válida para cualquier valor de x que se encuentre entre x0 y xn. Esta ecuación permite obtener la cota máxima para el error. La forma de distribución y la magnitud del error depende de los siguientes factores:  Distribución de los nudos de interpolación.  Tamaño del intervalo de interpolación, [x0, xn].  Número de nodos de interpolación (u orden del polinomio de interpolación). Si los nodos de interpolación están igualmente espaciados, el error tiende a distribuirse de forma tal que su magnitud es pequeña en los alrededores del centro del intervalo pero crece de forma rápida al acercarse a los extremos del mismo, hecho conocido con el nombre de fenómeno de Runge. La distribución de los nodos de interpolación puede ser optimizada utilizando la interpolación con puntos de Chebyshev, método que distribuye la magnitud del error de una manera más uniforme a lo largo del intervalo de interpolación, reduciendo los valores máximos del error en los extremos. Ejemplo 1.17

40 Interpolación Polinómica Estudiar el comportamiento del error en un polinomio de interpolación, que resulte de la aproximación de la función f(x) = cos(x2+1) desde 0 hasta 1 en distancias de 0.1. Emplear corte a 6 cifras significativas Para empezar el estudio es necesario contar con la tabla de datos, la cual es... x f

0.540302

x f

0.1 0.531860

0.8 – 0.0691484

0.2 0.506220

0.9 – 0.236929

0.3 0.462485

0.4 0.399339

0.5 0.315322

0.6 0.209238

0.7 0.0807084

1 – 0.416146

Es necesario entonces contar con el objeto de análisis, el polinomio de interpolación. A través de la orden de Derive 6 P_LAG([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1; 0.540302, 0.531860, 0.506220, 0.462485, 0.399339, 0.315322, 0.209238, 0.0807084, –0.0691484, –0.236929, –0.416146], x), se obtiene... P(x): 0.00557236x10  0.0137833x 9  0.0531327x 8  0.03436911x7  0.163270x6  0.00970102x 5  0.267578x 4  0.000411552x 3  0.841435x 2  0.00000124909x  0.540302

por lo tanto la expresión para el error es... e(x): cos(x 2  1)  0.00557236x10  0.0137833x 9  0.0531327x 8  0.03436911x7  0.163270x6  0.00970102x 5  0.267578x 4  0.000411552x 3  0.841435x 2  0.00000124909x  0.5403029

Para visualizar el efecto del error es necesario graficarlo conjuntamente con el polinomio de interpolación, así… fenómeno de Runge (1108)e(x)

f(x) 1

0 Centro del intervalo

Del gráfico se pueden observar las siguientes características: 

El error oscila.



El fenómeno de Runge es evidente en los extremos del intervalo de interpolación.



El error en los nodos de interpolación es nulo.

41 Interpolación Polinómica Seguidamente, se estimará la cota máxima de error... Con ayuda de Derive 6, es posible calcular el valor absoluto de la onceava derivada de f(x) como… f(11)(x)  128x 3 (16x 8  3960x 4  17325)sen(x 2  1)  3520x(16x 8  504x 4  189)cos(x 2  1)

se grafica dicha expresión para determinar su cota máxima M…

M=

f(11)

por lo tanto... e(x)  f(x)  P(x)  x(x  0.1)(x  0.2)(x  0.3)(x  0.4)(x  0.5)(x  0.6)(x  0.7)(x  0.8)(x  0.9) (x  1)

1246577  eap (x) (11)!

e(x)  0.0312293 x(x  0.1)(x  0.2)(x  0.3)(x  0.4)(x  0.5)(x  0.6)(x  0.7)(x  0.8)(x  0.9) (x  1)  eap (x)

finalmente se traza la grafica para el error aproximado eap(x)...

42 Interpolación Polinómica concluyéndose que e(x)  0.000000130106. De manera general, al disminuir el tamaño del intervalo de interpolación, también disminuye la magnitud del error, y obviamente al aumentar el tamaño del intervalo también aumentará la magnitud del error, pudiendo ésta inclusive superar al valor del polinomio interpolador. Finalmente, si el tamaño del intervalo de interpolación permanece fijo y se incrementa el número de puntos de interpolación a partir de un número pequeño de ellos, el valor máximo del error tiende a disminuir hasta un cierto número de nodos, a partir del cual si se incrementa éste el error máximo puede comenzar a crecer, por lo que se deduce que el aumentar el número de nodos de interpolación no garantiza el incremento en la precisión, pues se presenta un fenómeno de oscilación que hace crecer el valor del error a tal punto que en conjunto con la acumulación de errores de redondeo puede superar inclusive al valor del polinomio. Ejemplo 1.18 Aproximar por interpolación polinomial la función f(x) 

x en el intervalo [–1, 4], con los siguientes con1 x 4

juntos de nodos de interpolación: i.{–1, –0.5, 0.5, 2, 4}, ii.{–1, –0.5, 0, 0.5, 1, 2, 3, 4} iii.{–1, –0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4} Analizar el comportamiento del error. Las tablas de datos (xi, fi) para cada conjunto de nodos de interpolación son… x f

–1 0.5

–0.5 0.94117

0.5 0.94117

2 0.058823

4 0.0038910

x f

–1 0.5

–0.5 0.94117

0 0

0.5 0.94117

1 0.5

2 0.058823

3 0.012195

4 0.0038910

x f

–1 0.5

–0.5 0.94117

0 0

0.5 0.94117

1 0.5

1.5 0.16494

2 0.058823

2.5 0.024960

x f

3 0.012195

3.5 0.0066197

4 0.0038910

Con dichos datos los polinomios de interpolación Pi(x), Pii(x) y Piii(x) se escriben... P(x):  0.093842x 4  0.44678x 3  0.024147x 2  1.0528x  0.011902 i Pii (x): 0.016189x7  0.13833x6  0.30932x 5  0.17292x 4  0.99613x 3  0.034584x 2  1.1706x

Piii (x): 0.00557236x10  0.0137833x 9  0.0531327x 8  0.03436911x7  0.163270x6  0.00970102x 5  0.267578x 4  0.000411552x 3  0.841435x 2  0.00000124909x  0.540302

es necesario entonces efectuar las gráficas de los polinomios de interpolación para obtener una idea general de lo que sucede al aumentar el número de puntos de interpolación…

43 Interpolación Polinómica

Pi(x) Pii(x) f(x) Piii(x)

oscilación polinómica

es evidente observar como al crecer el número de puntos de interpolación se mejora la aproximación de los polinomios a la función, excepto en el intervalo [–1, –0.5] donde se presenta una oscilación polinómica. Las expresiones para los errores son... ei (x):

x 1 x 4

 0.267578x 4  0.000411552x 3  0.841435x 2  0.00000124909x 

0.540302

Pii (x): 0.03436911x7  0.163270x6  0.00970102x 5  0.267578x 4  0.000411552x 3 0.841435x 2  0.00000124909x  0.540302 Piii (x): 0.00557236x10  0.0137833x 9  0.0531327x 8  0.03436911x7  0.163270x6  0.00970102x 5  0.267578x 4  0.000411552x 3  0.841435x 2  0.00000124909x  0.540302

y sus gráficas son… ei (x) eii (x) eiii (x)

44 Interpolación Polinómica La gráfica confirma que el error disminuye a medida que el número de puntos de interpolación aumenta, excepto en el intervalo donde se presenta la oscilación polinómica. Aún así, el error presente en los extremos es superior al resto del intervalo de interpolación. Un caso más crítico de oscilación polinómica lo muestra el siguiente ejemplo… Ejemplo 1.19 Aproximar por interpolación polinomial la función f(x) 

1 en el intervalo [–5, 5], con los siguientes con1 x 2

juntos de puntos de interpolación: i. {–5, –4, –1, 2, 4, 5}, ii. {–5, –4, –1, 0, 2, 3, 4, 5} Analizar el comportamiento del error. Sus tablas de datos (xi, fi) son… x f

–5 0.038461

–4 0.058823

–1 0.5

2 0.2

4 0.058823

5 0.038461

x f

–5 0.038461

–4 0.058823

–1 0.5

0 0

2 0.2

3 0.1

4 0.058823

5 0.038461

y sus correspondientes polinomios de interpolación… P(x):  0.00022624x 5  0.00090498x 4  0.0092760x 3  0.039367x 2  i 0.090498x  0.45701 Pii (x): 0.00022624x7  0.00090498x6  0.0092760x 5  0.039367x 4  0.090498x 3 0.45701x 2  1

las gráficas de f(x) y los polinomios de interpolación anteriormente calculados, son…

f(x)

oscilación polinómica Pi(x)

Pii(x) oscilación polinómica

45 Interpolación Polinómica éstas muestran una gran influencia de oscilación polinómica en los extremos del intervalo de interpolación lo que hará nada confiables los datos interpolados en estos intervalos. Los errores de interpolación para estos polinomios serán… ei (x):

1 1 x 2

 0.00022624x 5  0.00090498x 4  0.0092760x 3  0.039367x 2 

0.090498x  0.45701 eii (x):

1 1 x 2

 0.00022624x7  0.00090498x6  0.0092760x 5  0.039367x 4  0.090498x 3

0.45701x 2  1

y sus gráficas versus f(x) es… eii (x)

f(x)

ei (x)

resulta evidente que el error supera a f(x) en algunas regiones del intervalo de interpolación; esto confirma que el aumentar el número de puntos de interpolación no siempre incrementa la precisión.

1.7 ERROR EN LOS POLINOMIOS DE INTERPOLACIÓN DE NEWTON. Para los polinomios de interpolación de Newton existe una forma alternativa y más sencilla de expresar el error, la cual la define el siguiente teorema... Teorema. Sea f(x) una función continua y derivable hasta el orden (n + 1) inclusive, entonces para un polinomio de interpolación de Newton, el error e(x) se puede expresar como...

e(x)  f(x)  P(x)  fx 0 , x 1 ,..., x n , x 

n

 (x - x ) i

i0

para un valor arbitrario x  x0,x1,...,xn, siendo f[x0,x1,...,xn, x] la (n + 1) ésima diferencia finita dividida. Si se toma un valor fijo xn + 1 como por ejemplo un punto adicional de la tabla de datos, entonces la anterior expresión se convierte en la relación aproximada...

(1.17)

e(x)  fx 0 , x 1 ,..., x n , x n 1 

n

 (x - x )  f i

i 0

0,1,2,...,n,n 1

( x  x 0 )( x  x 1 )    ( x  x n )

46 Interpolación Polinómica denominada regla del término siguiente, que muestra como el error aproximado de interpolación para un polinomio de Newton por diferencias divididas está dado por el término (n + 1) ésimo del desarrollo de grado n. Si bien la expresión (2.17) es válida para las diferencias divididas, se la puede también escribir en función de diferencias progresivas como...

(1.18)

e(x) 

n 1 f0 (n  1)! h n 1

( x  x 0 )( x  x 1 )    ( x  x n )

Para las expresiones (1.17) y (1.18) se podría utilizar como punto adicional xn+1, ya sea un valor posterior a xn o un anterior a x0, con el cual se construye las diferencias divididas o progresivas que requieren dichas fórmulas.

1.8 INTERPOLACIÓN CON RAÍCES O PUNTOS DE CHEBYSHEV. MINIMIZACIÓN DEL ERROR DE INTERPOLACIÓN. En los métodos de interpolación revisados hasta aquí, el error se reparte de forma tal que toma valores máximos cerca de los extremos del intervalo de interpolación; este comportamiento puede ser modificado si se escogen los nodos de interpolación de manera que el error se distribuya uniformemente a lo largo de dicho intervalo. Además, en este caso el error disminuirá considerablemente con respecto a los valores obtenidos en los métodos vistos hasta ahora, lográndose con ello una minimización del error. La minimización y repartición uniforme del error a lo largo del intervalo de interpolación se logra al tomar como puntos de interpolación las raíces del denominado polinomio de Chebyshev. Los polinomios de Chebyshev, Tn(x) (donde n = 0,1,2,3,...) cuyo dominio de definición es [ 1,1], están dados por la fórmula: Tn ( x)  cos(n  arccos( x))

n  0,1,2,3,...

De esta definición, se puede establecer una fórmula recurrente para los polinomios de Chebyshev, así... para n = 0,

T0 ( x )  cos(0  arccos( x ))  1

para n = 1,

T1 ( x)  cos(1 arccos( x))  x

de la identidad trigonométrica... cos( A) cos(B) 

1 cos( A  B)  cos( A  B) 2

con A = n, B = 1 y  = arccos(x), se obtiene... cos(n  arccos( x)) cos(arccos( x))  cos((n  1) arccos( X ))

1 cos((n  1) arccos( x))  2

rescribiendo la ecuación... cos((n  1) arccos( x ))  2 cos(n  arccos( x )) cos(arccos( x ))  cos((n  1) arccos(X))  2 cos(n  arccos( x))x  cos((n  1) arccos(X))

pero, Tn+1(x)=cos((n+1)arccos(x)) y Tn 1(x)=cos((n 1)arccos(x)), entonces… Tn 1 ( x )  2xTn ( x)  Tn 1 ( x )

fórmula recurrente que permite calcular el termino (n+1)ésimo en función de los términos nésimo y

47 Interpolación Polinómica (n1)ésimo. En base a ésta fórmula se pueden definir los polinomios de Chebyshev, de la siguiente manera... T0 ( x)  1 T1 ( x)  x T2 ( x)  2x( x )  1  2x 2  1 T3 ( x)  2x(2x 2  1)  x  4 x 3  3 x .

.

.

.

.

.

.

.

Tn1 ( x)  2xTn ( x )  Tn1 ( x)

se puede notar además que debido a la función coseno, –1  Tn(x)  1, por lo que los polinomios de Chebyshev se encuentran “encerrados” dentro de un cuadrado de coordenadas x =  1 e y =  1. En Derive 6, existe la utilidad ORTH_POL.MTH contenida dentro del directorio MATH, que posee la función CHEBYCHEV_T(n, x), la cual calcula el nésimo polinomio de Chebyshev. Así por ejemplo... CHEBYCHEV _ T(1, x)  x CHEBYCHEV _ T(2, x)  2x 2  1 CHEBYCHEV _ T(3, x)  4x 3  3x CHEBYCHEV _ T(4, x)  8x 4  8x 2  1 CHEBYCHEV _ T(5, x)  16x 5  20x 3  5x

Graficando estos polinomios se tiene…

Pero nos interesa de los polinomios de Chebyshev sus soluciones, pues éstas constituyen los nodos de interpolación que distribuyen uniformemente el error y lo minimizan, entonces seguidamente se hallarán las raíces o puntos de Chebyshev. Considérese... Tn ( x )  0

es decir,

cos(n  arccos( x))  0

de donde...

 2i  1  arccos( x)     2n  2 

i  0,1,2,..., n

48 Interpolación Polinómica

o sea...

 2i  1   x i  cos    2n  2  

i  0,1,2,..., n

que es la fórmula para las raíces de Chebyshev en el intervalo [ 1,1]. Sin embargo rara vez, coincidirá el intervalo de las raíces con el intervalo de interpolación, por lo que es necesario acomodar la anterior fórmula para que funcione dentro de cualquier intervalo [x0, xn]. Para lograr esto, considérese el siguiente cambio de variable... z

donde,

z  x0

si

x  1

z  xn

si

x 1

despejando x, se tiene... x 

(x n  x 0 )x  (x n  x 0 ) 2

2z  (x n  x 0 ) (x n  x 0 )

y reemplazando en la fórmula para las raíces... 2z i  (x n  x 0 ) (x n  x 0 )

 2i  1    cos     2n  2  

es decir... zi 

  2i  1   1    b  a  (b  a) cos  2   2n  2   

i  0,1,2,..., n

que son las raíces de Chebyshev que se encuentran dentro del intervalo [x0, xn].

1.8.1 RAÍCES DE CHEBYSHEV CON DERIVE 6. Es posible automatizar con Derive 6 el cálculo de las raíces zi de Chebyshev y los puntos de interpolación evaluados para una función f(x) en dichas raíces, mediante las siguientes líneas de programación... #1: Precision := Approximate #2: F(x) := #3: RAICES_CHEBYSHEV(x0, xn, n) := VECTOR([i, (1/2)((xn – x0)COS(((2i + 2)/(2n + 2))) + xn + x0)], i, 0, n) #4: DATOS(x0, xn, n) := VECTOR([RAICES_CHEBYSHEV(x0, xn, n)i2,F(RAICES_CHEBYSHEV(x0, xn, n)i2)], i, 1, n + 1)

49 Solución de ecuaciones no lineales

CAPÍTULO SOLUCIÓN DE ECUACIONES NO LINEALES

2

Las ecuaciones no lineales, en su mayoría, no poseen métodos exactos de obtención de raíces y en caso de que éstos existan, muchas veces su proceso resulta de trámite muy engorroso. El objetivo del presente capítulo es exponer al lector los principales métodos de solución de ecuaciones no lineales, que mediante una automatización por computadora, resultan una alternativa muy eficaz. Matemáticamente el problema lo establece el siguiente teorema... Definición (Raíz de una ecuación). Sea y = f(x) una función dada, y sea xr un número real o complejo, entonces si f(xr) = 0, entonces se dice que xr es una raíz o solución de f(x) = 0.

2.1 AISLAMIENTO DE RAICES. El primer paso a darse para poder aplicar los métodos numéricos del presente capítulo es aislar el intervalo de tal manera que exista una sola y única raíz. Analíticamente, se puede proceder a determinar dicho intervalo, aunque en muchas ocasiones es necesario ayudarse de una aproximación gráfica. De forma matemática el aislamiento de una raíz se fundamenta en el siguiente teorema… Teorema (Teorema de Bolzano). Sea y = f(x) una función continua en el intervalo [a, c]. Si f(a)f(c) < 0, entonces existe al menos un punto xr, tal que f(xr) = 0. La interpretación geométrica del teorema de Bolzano se muestra en el siguiente gráfico...

Fig. 2.1: Teorema de Bolzano

Aunque el teorema anterior establece la condición necesaria para la existencia de por lo menos una raíz, deja abierta la posibilidad de que exista más de una. Para descartar tal posibilidad y encontrar un intervalo que contenga una y solo una raíz, es indispensable considerar el siguiente teorema... Teorema (Existencia de una única raíz). Sea y = f(x) una función continua y derivable en el intervalo [a, c] con f(a)f(c) < 0. Si el signo de f(x) permanece constante en [a, c], entonces existe una única raíz o solución de f(x)

50 Solución de ecuaciones no lineales = 0 en dicho intervalo. Debido a que y = f(x) es continua y derivable en [a, c], se puede aplicar el teorema de Bolzano con lo que se asegura la existencia de al menos una raíz. Por otro lado, dado que existe f(x) y que tiene un valor constante, entonces se garantiza que f(x) sea estrictamente creciente o decreciente en [a, c], lo que impide que la curva pueda cortar al eje de las abscisas en más de un punto, permitiendo de esta forma la existencia de una sola y única raíz.

2.2 APROXIMACIÓN GRÁFICA A LA SOLUCIÓN DE UNA ECUACIÓN. Antes de utilizar un algoritmo numérico para encontrar la raíz de una ecuación es necesario previamente encontrar un primer intervalo de aproximación o una ó más aproximaciones a la raíz. Este proceso de “primera aproximación” se lo puede lograr a partir del grafico de la curva cuya raíz se busca. En Derive 6 el proceso de graficación es muy simple, para ello… Paso 1: Se escribe la función en la forma y = f(x). Paso 2: Se hace clic sobre la orden Window/New 2D–plot Window y luego sobre el icono Paso 3: Entonces aparece la ventana de gráficos, que tiene el siguiente aspecto...

Paso 4: En dicha ventana se hace clic sobre la orden Insert/Plot (ó F4) y la gráfica automáticamente se dibuja. Ejemplo 2.1 Graficar mediante Derive 6 la función y = sen(x) + e-cos(x), y descubrir un intervalo donde exista raíz. Se escribe y resalta la ecuación...

seguidamente se efectúa el proceso anteriormente indicado y se obtiene...

51 Solución de ecuaciones no lineales

Del gráfico se puede observar claramente que hay un intervalo de existencia de la raíz en [4, 5].

2.3 MÉTODOS CERRADOS. Estos métodos de solución de ecuaciones no lineales encuentran una aproximación(valor cercano) a la raíz, mediante procesos iterativos, partiendo de un intervalo cerrado el cual es reducido a otro, siempre dentro del anterior, que contenga la raíz en una vecindad tan pequeña como se desee.

2.3.1 MÉTODO DE BISECCIÓN. Este es el método más simple, seguro y sólido, aunque no el más rápido, para hallar la raíz de una ecuación no lineal. Para poder determinar la raíz de la ecuación es previamente necesario encontrar por aproximación gráfica o aislamiento numérico el intervalo de ubicación de la misma. A continuación se describe el método... Supóngase que en el intervalo entre x = a y x = c, expresado [a, c], existe una sola raíz, como se muestra en el siguiente gráfico...

52 Solución de ecuaciones no lineales

y f(x)

Fig. 2.2: Método de bisección

raíz

f(c)  0

a

x c

f(a) < 0

El método se fundamenta en el hecho de que existe una raíz en el intervalo [a, c], siempre y cuando los signos de y = f(x) en los dos extremos del mismo sean contrarios, o bien que f(a) ó f(c) se anulen, es decir f(a)f(c)  0. El primer paso para utilizar este método consiste en bisecar o dividir por la mitad el intervalo [a, c], a saber [a, b] y [b, c] donde b es el punto medio dado por b 

(a  c ) . Luego de verificar los signos de f(a)f(b) y 2

f(b)f(c) se ubica la mitad del intervalo que contiene la raíz. De esta manera, si f(a)f(b)  0, el intervalo [a, b] contiene la raíz, caso contrario el intervalo [b, c] será el que la contenga. Encontrado el nuevo intervalo que contiene la raíz se biseca de nuevo el mismo y se repite el proceso para hallar el nuevo intervalo que contiene la raíz. Si se repite secuencialmente el proceso anterior, el intervalo de la raíz se vuelve cada vez más pequeño, pudiéndose detener el proceso cuando la raíz (punto medio en cada bisección) se encuentre dentro de una tolerancia tol prefijada. Luego de haber realizado el proceso n veces el tamaño del intervalo tiene el tamaño (c  a) inicial 2 n

n

. La tolerancia tol entonces debe cumplir entonces con la desigualdad

(c  a)inicial  tol , ó 2n

ln((c  a)inicial )  ln(tol) ln(2)

Ejemplo 2.2 Encontrar las raíces de la ecuación f(x) = sen(x2  2x) que se ubiquen en el intervalo [1, ], utilizando el método de bisección con una tolerancia de tol = 0.001. Redondear los cálculos a 6 cifras decimales. Se procede a generar una tabla para aislar las posibles raíces contenidas en el intervalo [1, ]... i

xi

f(xi)

1

1

– 0.841471

2

1.5

– 0.681631

3

2

0

53 Solución de ecuaciones no lineales 4

2.5

0.948985

5

3

0.141120

6

3.141593

– 0.430301

De la tabla se puede observar que una raíz se encuentra en x = 2 y la otra en el intervalo [3, ], pues en el se produce un cambio en f(x) de positivo a negativo. Entonces se procederá a la búsqueda de esta última raíz... i

a

b

c

f(a)

f(b)

f(c)

1

3

3.070796

3.141593

0.141120

– 0.146079

– 0.430301

2

3

3.035398

3.070796

0.141120

– 0.001252

– 0.146079

3

3

3.017699

3.035398

0.141120

0.070421

– 0.001252

4

3.017699

3.026549

3.035398

0.070421

0.034685

– 0.001252

5

3.026549

3.030974

3.035398

0.034685

0.016736

– 0.001252

6

3.030974

3.033186

3.035398

0.016736

0.007747

– 0.001252

7

3.033186

3.034292

3.035398

0.007747

0.003249

– 0.001252

8

3.034292

3.034845

3.035398

0.003249

0.000998

– 0.001252

i

1

2

3

4

5

6

7

8

Error absoluto

---

0.035398

0.017699

0.008850

0.004425

0.002212

0.001106

0.000553

Por lo tanto, la raíz para el intervalo [3, ] es x = 3.033186 por error relativo y x = 3.034845 por error absoluto. Ejemplo 2.3 Hallar una raíz de la ecuación f(x) = x4  3x3 + 3x – 1, utilizando el método de bisección con una tolerancia de tol = 0.001. Emplear redondeo a 6 cifras decimales. Como no se da en el problema un intervalo donde encontrar la raíz, se procede entonces a graficar la función para aislar un intervalo de búsqueda de la raíz...

2

f ( x)

1

0

1

2

3

2

x

Se puede entonces tomar varias alternativas para intervalos de búsqueda, tomemos el intervalo [2, 3], y en él se afinará el aislamiento de la posible raíz, mediante la siguiente tabla... i

xi

f(xi)

1

2

–3

2

2.2

– 2.918400

54 Solución de ecuaciones no lineales 3

2.4

– 2.094400

4

2.6

– 0.230400

5

2.8

3.009600

6

3

8

por lo que la raíz se halla en el intervalo [2.6, 2.8]. La tabla de búsqueda de dicha raíz es... i

a

b

c

f(a)

f(b)

f(c)

1

2.6

2.7

2.8

– 0.230400

1.195100

3.009600

2

2.6

2.65

2.7

– 0.230400

0.436631

1.195100

3

2.6

2.625

2.65

– 0.230400

0.092041

0.436631

4

2.6

2.6125

2.625

– 0.230400

– 0.071904

0.092041

5

2.6125

2.61875

2.625

– 0.071904

0.009382

0.092041

6

2.6125

2.615625

2.61875

– 0.071904

– 0.031432

0.009382

7

2.615625

2.617188

2.61875

– 0.031432

– 0.011062

0.009382

8

2.617188

2.617969

2.61875

– 0.011062

– 0.000851

0.009382

i

1

2

3

4

5

6

7

8

Error absoluto

---

0.05

0.025

0.0125

0.00625

0.003125

0.001563

0.000781

Entonces la raíz para el intervalo [2.6, 2.8] es x = 2.617188 por error relativo y x = 2.617969 por error absoluto. Ejemplo 2.4 Utilice el método de bisección para hallar la raíz de la ecuación x  tan(x) , contenida en el intervalo [4, 5], con hasta 2 cifras decimales de precisión. Se escribe la ecuación en la forma f(x) = 0, de donde f(x)  x  tan(x)  0 . Se procede entonces al aislamiento de las posibles raíces… x

f(x)

4

4  tan(4)  2.842179

4.1

4.1 tan(4.1)  2.676474

4.2

4.2  tan(4.2)  2.422220

4.3

4.3  tan(4.3)  2.014152

4.4

4.4  tan(4.4)  1.303676

4.5

4.5  tan(4.5)  0.137332

4.6

4.6  tan(4.6)  4.260175

4.7

4.7  tan(4.7)  76.012763

4.8

4.8  tan(4.8)  16.184871

4.9

4.9  tan(4.9)  10.167493

5

5  tan(5)  8.380515

El primer cambio de signo entre 4.4 y 4.5 corresponde a la presencia de la raíz, mientras que el segundo cam-

55 Solución de ecuaciones no lineales

bio, entre 4.7 y 4.8, se presenta en la asíntota x 

3 y no corresponde a la presencia de una raíz. 2

Por lo tanto el intervalo de búsqueda de la raíz es [4.4, 4.5] i

a

b

c

f(a)

f(b)

f(c)

1

4.4

4.45

4.5

+

0.726731



2

4.45

4.475

4.5

+

0.341933



3

4.475

4.4875

4.5

+

0.116078



4

4.4875

4.49375

4.5

+

– 0.006887



5

4.4875

4.490625

4.49375

+

0.055491



6

4.490625

4.492188

4.49375

+

0.02451



7

4.492188

4.492969

4.49375

+

0.008875



i

1

2

3

4

5

6

7

Error absoluto

---

0.025

0.0125

0.00625

0.003125

0.001563

0.000781

La raíz pedida es 4.492969. Comprobemos la no existencia de raíz en el intervalo [4.7, 4.8]: i

a

b

c

f(a)

f(b)

f(c)

1

4.7

4.75

4.8

– 76.012763

31.325414

16.184871

2

4.7

4.725

4.75

– 76.012763

84.016526

31.325414

3

4.7

4.7125

4.725

– 76.012763

9012.129732

84.016526

4

4.7

4.70625

4.7125

– 76.012763

– 158.185203

9012.129732

5

4.70625

4.709375

4.7125

– 158.185203

– 327.076783

9012.129732

6

4.709375

4.710938

4.7125

– 327.076783

– 684.477771

9012.129732

7

4.710938

4.711719

4.7125

– 684.477771

– 1487.869069

9012.129732

i

1

2

3

4

5

6

7

Error absoluto

---

0.025

0.0125

0.00625

0.003125

0.001563

0.000781

Si bien se puede observar que el error disminuye como en la búsqueda del intervalo [4.4, 4.5], el valor de f(b) en lugar de acercarse a cero crece (ya sea con valores negativos o positivos), lo que demuestra que el acercamiento al posible punto raíz no es más que un acercamiento al punto correspondiente a una asíntota.

2.3.1.1 MÉTODO DE BISECCIÓN UTILIZANDO DERIVE 6 Aislamiento de las raíces Las instrucciones siguientes permiten en Derive 6 generar un rastreo de los intervalos posibles donde se pueden hallar las raíces... #1: F(x) := #2: AISL(in, fin, p) := VECTOR([x, SIGN(F(x))], x, in, fin, p)

Método de Bisección Un programa en Derive 6 utilizando programación funcional para hallar la raíz de una ecuación por el método de bisección utilizando el número de iteraciones n como criterio de paro, está dado por las siguientes instrucciones...

56 Solución de ecuaciones no lineales #1: F(x) := #2: BIS_AUX1(in, fin) := IF(F(in)F((in+fin)/2) 0, in := r, fin := r), i :+ 1))

2.3.2 MÉTODO DE FALSA POSICIÓN, DE LAS CUERDAS O REGULA FALSI. Este método efectúa una aproximación a la raíz, mediante interpolación lineal, la que genera una cuerda, de ahí su nombre extendido de método de las cuerdas. Considérese una función f(x) en el intervalo [a, c], en el cual existe una raíz, es decir f(a)f(c)  0; entre los puntos extremos [a, f(a)] y [c, f(c)] se efectúa una interpolación lineal generando una cuerda AC, como lo muestra el siguiente gráfico...

y C

f(c)  0

Fig. 2.3: Método de falsa posición

a

b

x c

A f(a) < 0

f(b) < 0

raíz

f(x)

Dicha cuerda corta al eje x en el punto b, éste es la primera aproximación a la raíz exacta; por este punto se traza una recta vertical hasta cortar la función f(x), es decir hasta generar el punto [b, f(b)]. Gracias a este punto la curva queda cortada en dos segmentos uno de los cuales contendrá la raíz. Supóngase que el segmento entre los puntos [b, f(b)] y [c, f(c)] (como se observa en el gráfico), contiene la raíz, entonces este segmento de curva se vuelve a aproximar mediante interpolación lineal repitiendo el proceso explicado anteriormente; así se hallará una segunda aproximación a la raíz. Este procedimiento se repite un número n de veces hasta que la diferencia entre la n–ésima y la (n – 1)–ésima aproximaciones no superen una tolerancia prefijada tol. De lo explicado se puede comprobar que el proceso es casi exactamente idéntico al método anterior, excepto por la forma de determinar el punto intermedio b, que deja de ser una monótona bisección. El siguiente paso es determinar la

57 Solución de ecuaciones no lineales fórmula para el punto intermedio b. Considérese para ello los triángulos Aab y Ccb mostrados claramente en el gráfico anterior; estos triángulos son semejantes entonces se puede establecer la relación... f( c ) cb   f( a ) b  a

despejando de ésta b, se tiene...

b

af(c)  cf(a) f( c )  f( a )

expresión que constituye la formula general para la aproximación a la raíz mediante el método de la falsa posición. La desventaja de este método es que pueden aparecer extremos fijos, en donde uno de los extremos de las iteraciones no se mueve del punto original, por lo que las sucesivas aproximaciones a la raíz, convergen a la raíz exacta solamente por un extremo. Los extremos fijos hacen más lenta la convergencia, especialmente cuando el intervalo inicial es muy grande o cuando la función se desvía de manera significativa de la línea recta generada en la interpolación lineal. Ejemplo 2.5 Determinar las raíces de la ecuación f( x)  e  x  cos( x) que se ubiquen en el intervalo [0,2], utilizando el 3

método de la falsa posición con una tolerancia de 0.001. Se procede a generar una tabla para aislar las posibles raíces contenidas en el intervalo... i

xi

f(xi)

1

0

0

2

0.2

0.0119652

3

0.4

0.0169439

4

0.6

– 0.0196003

5

0.8

– 0.0974110

6

1

– 0.172422

7

1.2

– 0.184718

8

1.4

– 0.105654

9

1.6

0.0458384

10

1.8

0.230134

11

2

0.416482

De la tabla se puede observar que una raíz se encuentra en x = 0 y otras dos posibles raíces se hallan en los intervalos [0.4, 0.6] y [1.4, 1.6] Búsqueda de la raíz en el primer intervalo... i

a

b

c

f(a)

f(b)

f(c)

1

0.4

0.492731

0.6

0.0169439

0.00620691

– 0.0196003

2

0.492731

0.518530

0.6

0.00620691

0.00131492

– 0.0196003

3

0.518530

0.523651

0.6

0.00131492

0.000243068

– 0.0196003

4

0.523651

0.524586

0.6

0.000243068

0.0000438128

– 0.0196003

58 Solución de ecuaciones no lineales i

1

2

3

4

Error absoluto

---

0.092569

0.005121

0.000935

Ahora la raíz en el segundo intervalo... i

a

b

c

f(a)

f(b)

f(c)

1

1.4

1.53948

1.6

– 0.105654

– 0.00528296

0.0458384

2

1.53948

1.54573

1.6

– 0.00528296

– 0.000171186

0.0458384

3

1.54573

1.54593

1.6

– 0.000171186

– 0.00000673644

0.0458384

i

1

2

3

--0.00625 0.0002 Error absoluto Las raíces son entonces x = 0.524586 y x = 1.54593.

Ejemplo 2.6 Encuentre la raíz de f(x) = sen(x) – x + 1 que se sabe está en 1 < x < 3, mediante el método de falsa posición. Utilice una tolerancia de 0.0001. Se procede a generar una tabla para aislar la raíz contenidas en el intervalo dado... i

xi

f(xi)

1

1

0.841470

2

1.2

0.732039

3

1.4

0.585449

4

1.6

0.399573

5

1.8

0.173847

6

2

– 0.0907025

7

2.2

– 0.391503

8

2.4

– 0.724536

9

2.6

– 1.08449

10

2.8

– 1.46501

11

3

– 1.85887

Entonces la raíz buscada se encuentra en el intervalo [1.8, 2], hallémosla... i

a

b

c

f(a)

f(b)

f(c)

1

1.8

1.93142

2

0.173847

0.00425689

– 0.0907025

2

1.93142

1.93449

2

0.00425689

0.0000991965

– 0.0907025

3

1.93449

1.93456

2

0.0000991965

0.00000452348

– 0.0907025

i

1

2

3

Error absoluto

---

0.00307

0.00007

La raíz es x = 1.93456. Ejemplo 2.7 Mediante el método de falsa posición encuentre una raíz de f(x)  x 3  x  1 , con hasta 3 cifras decimales de precisión.

59 Solución de ecuaciones no lineales

1

2

4

2

f (x)

1

0.5

0

0.5

1

1.5

2

2

x

Del gráfico es fácil observar que la raíz se halla en el intervalo [1, 1.5]. i

a

b

c

f(a)

f(b)

f(c)

1

1

1.266667

1.5

–1

– 0.234369

0.875

2

1.266667

1.315962

1.5

– 0.234369

– 0.037037

0.875

3

1.315962

1.323436

1.5

– 0.037037

– 0.005461

0.875

4

1.323436

1.324531

1.5

– 0.005461

– 0.000797

0.875

5

1.324531

1.324691

1.5

– 0.000797

– 0.000115

0.875

i

1

2

3

4

5

Error absoluto

---

0.049295

0.007474

0.001095

0.000160

La raíz pedida es 1.324691. CARACTERÍSTICAS DE LOS MÉTODOS CERRADOS ESTUDIADOS: El siguiente cuadro muestra una serie de características que pueden servir para elegir uno de los métodos estudiados de acuerdo al contexto del problema... Método de bisección

Método de falsa posición

El método siempre halla la raíz, si ella se encuentra en El método siempre halla la raíz, si ella se encuentra en el el intervalo de búsqueda utilizado. intervalo de búsqueda utilizado. El método puede determinar una singularidad de la fun- El método puede determinar una singularidad de la función como raíz de la ecuación , por lo que es necesario ción como raíz de la ecuación , por lo que es necesario verificar que f(b) converja a 0.

verificar que f(b) converja a 0.

El método, en general, es lento en su convergencia hacia la raíz. Este problema se puede minimizar si se afina lo más posible el intervalo de búsqueda de la raíz, antes de proceder a utilizar el método.

El método tiene una convergencia más rápida que el método de bisección, siempre y cuando la función lineal que interpola a f(x) y ésta sean muy próximos entre sí; pero en general este método no es más rápido que el de bisección, porque genera la aparición de un extremo fijo que detiene su convergencia.

El método tiene una convergencia lineal

El método tiene una convergencia lineal, aunque en algunos casos, especialmente aquellos en los que la interpolación lineal es muy cercana a la curva f(x), presenta una convergencia mayor a la lineal.

2.4 MÉTODOS ABIERTOS. Los métodos abiertos de solución de ecuaciones no lineales hallan una aproximación a la raíz, mediante procesos iterativos, partiendo de una o más aproximaciones iniciales a la raíz. Sus valores obtenidos a partir de estas

60 Solución de ecuaciones no lineales aproximaciones iniciales no se restringen a un intervalo cerrado como en los métodos anteriores, ello da el nombre de “abiertos” a estos métodos.

2.4.1 MÉTODO DE NEWTON - RAPHSON O DE LAS TANGENTES. Este método constituye uno de los más utilizados y basa su algoritmo en la aproximación a la raíz mediante la tangente a la curva en un punto inicial de búsqueda. Sea f(x) una función que contenga una raíz, como lo muestra el siguiente gráfico...

y Fig. 2.4: Método de Newton – Raphson A

B

x X2

X1

X0

f(x)

Se estima entonces un punto inicial de búsqueda, por ejemplo x0 y se traza la tangente a f(x) que pase por el punto (x0, f(x0));dicha tangente corta al eje x en el punto x1, que es la primera aproximación a la raíz exacta. Ahora se toma como estimación de búsqueda al punto x1 y se vuelve a repetir el procedimiento para encontrar las siguientes aproximaciones x2, x3, ..., xn; el proceso se detendrá cuando la distancia entre dos aproximaciones sucesivas xn-1 y xn no superen una tolerancia prefijada tol. Existe una fórmula general para la aproximación n– ésima (xn) a la raíz exacta, ésta se deducirá a continuación. Considérese el triángulo Ax2x0 del gráfico anterior; por trigonometría se puede establecer... x1  x 0  x 2  x1 

f( x o ) f ´ (x 0 ) f( x 1 ) f´ (x1)

ne... xn1  xn 

tan(Ax 1x 0 )  f ´ ( x 0 ) 

Ax 0 f( x o ) , de donde...  x 0  x1 x 0  x1

para el triángulo Bx2x1 se puede establecer bajo la misma deducción que... y como el procedimiento genera triángulos de la misma especie, de manera general se tie-

f(xn ) f´ (xn )

n  0,1,2,3,... Ésta es la fórmula general para la n–ésima aproximación a la raíz

exacta. Si bien el método es muy sencillo de aplicar, el método tiene dos inconvenientes: el cálculo de la prime-

61 Solución de ecuaciones no lineales ra derivada puede ser algo complicado y se requiere una buena estimación inicial, de otro modo, la solución iterativa puede divergir o converger a una solución irrelevante; por otro lado, la velocidad de convergencia hacia la raíz exacta del método es alta, en comparación a los métodos cerrados. Ejemplo 2.8 Determinar las raíces de la ecuación f( x )  x 5  sen( x) que se ubiquen en el intervalo [–1,1], utilizando el método de las tangentes con una tolerancia de 0.00001. Graficando f(x)... 5

f( x)

1

0

1

5 x

Es muy fácil notar que posee una raíz en x = 0, y que las dos restantes se hallan en los intervalos [–1,0] y [0,1]. La fórmula iterativa que se aplicará para este problema es x i 1  x i 

f(x i ) x i5  sen(x i )  xi  f (x i ) 5x i4  cos(x i )

La primera raíz se halla muy cerca de –1, por lo que esta puede ser una buena aproximación a la primera raíz, entonces el proceso iterativo es... i

xi

f(xi)

f’(xi)

0

–1

– 0.1585290151

4.459697694

1

– 0.9644529683

– 0.01272220908

3.756210276

2

– 0.9610659883

– 0.0001072614342

3.692980193

3

– 0.9610369436

– 0.000000007766774559

3.692440754

4

– 0.9610369414

– 0.0000000003571252802

3.692440713

i

1

2

3

4

5

Error absoluto

---

0.0355470

0.00338697

0.0000290447

0.00000000219958

La segunda raíz se encuentra en cambio cerca de 1, por lo que este valor será una buena aproximación a dicha raíz, así entonces... i

xi

f(xi)

f’(xi)

0

1

0.1585290151

4.459697694

1

0.9644529683

0.01272220908

3.756210276

2

0.9610659883

0.0001072614342

3.692980193

62 Solución de ecuaciones no lineales 3

0.9610369436

0.000000007766774559

3.692440754

4

0.9610369414

0.0000000003571252802

3.692440713

i

1

2

3

4

5

Error absoluto

---

0.0355470

0.00338697

0.0000290447

0.00000000219958

Las raíces son entonces x = – 0.9610369414 y x = 0.9610369414. Ejemplo 2.9 Hallar una raíz de la ecuación f(x) = cot(x) + 3x, en el intervalo [0,4] utilizando el método de las tangentes con una tolerancia de 0.00001. Graficando la función…

aproximación inicial

3

10

f ( x)

0

2

4

asíntota 10

x

se observa una raíz en el intervalo [2,4]. Se tomará un punto muy cercano a la raíz, x = 3, como aproximación inicial. La fórmula iterativa que se aplica a este problema es x i 1  x i 

f(x i ) cot(x i )  3x i  xi  1 f (x i ) 3 sen2 (x i )

Por lo tanto... i

xi

f(xi)

f’(xi)

0

3

1.984747448

– 47.21376835

1

3.042037471

– 0.8853610661

– 98.22960122

2

3.033024291

– 0.07549562518

– 82.17270712

3

3.032105547

– 0.0006539986341

– 80.75487484

4

3.032097448

– 0.00000001634703654

– 80.74253467

i

1

2

3

4

5

Error absoluto

---

0.0420374

0.00901318

0.000918744

0.000008099

entonces la raíz pedida es x = 3.032097448. Ejemplo 2.10 Encuentre la raíz de f(x)  e x 1  5x 3 con hasta 4 cifras decimales de precisión. ¿Cuántas iteraciones requerirá el método de bisección para lograr la misma precisión?

63 Solución de ecuaciones no lineales

El punto más adecuado para empezar el procedimiento es x = 1, así… i

xi

f(xi)

f’(xi)

0

1

–4

– 14

1

0.7142857142

– 1.070680141

– 6.901583931

2

0.5591502914

– 0.2305996222

– 4.046246315

3

0.5021592917

– 0.02529061192

– 3.174617562

4

0.4941927850

– 0.0004562793948

– 3.060379018

5

0.4940436925

– 0.0000001578965366

– 3.058258837

6

0.4940436408

0.0000000002120244336

– 3.058258102

i

0

1

2

3

4

Error absoluto

---

0.285714286

0.155135423

0.056991000

0.007966507

i

5

6

Error absoluto

0.000149093

0.000000672

La raíz exacta a cuatro cifras decimales es 0.4940 El método de bisección en el intervalo [0, 1] requiere de… ln((c  a)inicial )  ln(tol) ln(2) ln(1 0)  ln(0.00001) n  16.6  17 ln(2) es decir 17 o más iteraciones. n

2.4.1.1 MÉTODO DE NEWTON-RAPHSON CON DERIVE 6. Las siguientes líneas de programación en Derive 6 mediante programación funcional constituyen el método de las tangentes para el cálculo de la raíz de una ecuación, utilizando el número de iteraciones n como criterio de paro... #1: F(x) := #2: APROX(in, n) := ITERATES(v – F(v)/F'(v), v, in, n) #3: NEWTON(in, n) := [“raiz”, “error” ; (APROX(in, n))n, ABS((APROX(in, n))n – (APROX(in, n))(n – 1))]

en cambio las siguientes líneas constituyen la programación procedural en Derive 6 para el cálculo de la raíz de una ecuación mediante el método de Newton – Raphson, utilizando el número de iteraciones n como criterio de paro...

64 Solución de ecuaciones no lineales #1: F(x) := #2: NEWTON_(in, n) := PROG(i := 1, r := in, LOOP(r_ := r – F(r)/F’(r), t := ABS(r_ – r), IF(i = n, RETURN [“raíz”, “error”; r_, t]), r := r_, i :+ 1))

2.4.2 MÉTODO DE LAS SECANTES. Este método es una variante del anterior, pues la aproximación a la raíz se la efectúa mediante secantes a la curva, en lugar de tangentes. Para construir la secante son necesarios dos puntos iniciales de búsqueda, y como se verá no es necesario el cálculo de la derivada, particularidad que simplifica los cálculos y hace de este método más fácil de utilizar que el anterior. Sea f(x) una función que contenga una raíz, como lo muestra el gráfico siguiente... Fig. 2.5: Método de las secantes

Se estiman entonces como puntos iniciales de búsqueda, x0 y x1, seguidamente por dichos puntos se traza una secante a f(x) que pase por los puntos (x0, f(x0)) y (x1, f(x1)); dicha secante corta al eje x en el punto x2, que es la primera aproximación a la raíz exacta. Ahora se toma como estimaciones de búsqueda a los puntos x1 y x2 y se vuelve a repetir el procedimiento para encontrar las siguientes aproximaciones x3, x4, ..., xn; el proceso se detendrá cuando la distancia entre dos aproximaciones sucesivas xn-1 y xn no superen una tolerancia prefijada tol. Existe una fórmula general para la aproximación n–ésima (xn) a la raíz exacta, ésta se deducirá a continuación. Considérese el triángulo Ax2x0 que contiene en su interior al triángulo semejante Bx2x1, por semejanza se puede establecer que...

Ax 0 Bx 1



f( x 0 ) x 0  x 2 x f( x )  x 1f( x 0 ) , de donde... x 2  0 1 para la pareja de trián f( x 1 ) x1  x 2 f( x 1 )  f( x 0 )

gulos Bx3x1 y Cx3x2 se puede establecer bajo la misma deducción que... x 3 

x 1 f( x 2 )  x 2 f( x 1 ) y como el f( x 2 )  f( x 1 )

procedimiento genera parejas de triángulos de la misma especie, de manera general se tiene... xn 2 

xn f(xn1)  xn1f(xn ) f(xn1)  f(xn )

n  0,1,2,3,4... Ésta es la fórmula general para la n–ésima aproximación a la

raíz exacta. El método es muy sencillo de aplicar, pero al igual que el método de las tangentes, su principal problema es que requiere buenas estimaciones iniciales, de otro modo, la solución iterativa puede divergir o con-

65 Solución de ecuaciones no lineales verger a una solución irrelevante. La velocidad de convergencia hacia la raíz exacta de éste método es algo menor que la del método de Newton – Raphson, pero mayor que la de los anteriores. El segundo punto inicial de búsqueda se puede establecer como x1  x 0   donde  es un valor arbitrario muy pequeño, por ejemplo podría ser  = 0.1 Ejemplo 2.11 Determinar las raíces de la ecuación f( x)  x 2  e x  5sen( x ) que se ubiquen en el intervalo [0, 3], utilizando el método de las secantes con una tolerancia de 0.0001. De una exploración gráfica... 5

f ( x)

1

0

1

2

3

5 x

se observa que en el intervalo pedido existen dos raíces ubicadas en [0, 1] y [2, 3]. La fórmula iterativa que se aplicará para este problema es... xn 2 

xn ( xn12  exn1  sen(xn1))  xn1( xn2  exn  sen(xn )) ( xn12  exn1  sen(xn1))  ( xn2  exn  sen(xn ))

Tomándose como aproximaciones iniciales x0 = 0 y x1 = 0.1, se genera la siguiente tabla... i

xi

f(xi)

0

0

1

1

0.1

0.5568494498

2

0.2256569465

0.02322391412

3

0.2311256618

0.0006856431217

4

0.2312920271

0.0000009698230056

5

0.2312922627

0.0000000002522049249

i

1

2

3

4

5

6

Error absoluto

---

0.1

0.125656

0.00563508

0.000166365

0.000000235600

En el intervalo [2, 3], para las aproximaciones iniciales x0 = 2 y x1 = 2.1, la tabla para el proceso iterativo es...

66 Solución de ecuaciones no lineales i

xi

f(xi)

0

2

– 1.171719571

1

2.1

– 0.7697572352

2

2.291499840

0.1344009559

3

2.263033846

– 0.01067115809

4

2.265127736

– 0.0001228361095

5

2.265152119

0.0000001128807819

i

1

2

3

4

5

6

Error absoluto

---

0.1

0.191499

0.0284659

0.00209389

0.0000243829

entonces las raíces buscadas son x = 0.2312922627 y x = 2.265152119.

2.4.2.1 MÉTODO DE LAS SECANTES CON DERIVE 6. Las siguientes líneas de programación en Derive 6 constituyen el método de las secantes para el cálculo de la raíz de una ecuación mediante programación funcional y con el número de iteraciones n como criterio de paro... #1: F(x) := #2: APROX(, , n) := ITERATE([v2, (v1F(v2) – v2F(v1))/(F(v2) – F(v1))], v, [,  + ], n – 1) #3: SECANTE(, , n) := [“raíz”, “error” ; (APROX(, , n))2, ABS((APROX(, , n))2 – (APROX(, , n))1)]

2.4.3 MÉTODO DE ITERACIÓN DE PUNTO FIJO O DE SUSTITUCIONES SUCESIVAS. Este método se basa en un proceso iterativo mediante el cual sustituyendo una aproximación inicial n veces en una misma ecuación, se llegará a una aproximación tan cercana como se desee de la raíz verdadera. Supóngase que se tiene la ecuación f(x) = 0, y partiendo de ella se puede despejarla, de manera de escribirla en la forma x = g(x). A partir de ésta ecuación se puede generar un proceso iterativo, empezando con una estimación inicial x0 de la raíz. Así... x1 = g(x0) , x2 = g(x1), x3 = g(x2), .... , xn = g(xn-1). El valor xn será una aproximación más exacta a la raíz.. El proceso iterativo se detendrá cuando la distancia entre dos aproximaciones sucesivas xn-1 y xn no superen una tolerancia prefijada tol. Los sucesivos valores x0, x1, x2,x3, ..., xn si bien, en general, se aproximan a la raíz existe la posibilidad de que también se alejen de ella, es decir de que diverjan. Si se quiere que la sucesión de valores se aproxime a la raíz se debe cumplir que g´( x)  1 para todos los valores de x en la región de búsqueda de la raíz; si esta condición no se cumple el proceso de sustituciones sucesivas divergirá. El método de sustituciones sucesivas y su convergencia o divergencia en base a la condición anteriormente dada, se representa gráficamente, mediante el denominado diagrama de Cobweb, de convergencia ó divergencia o de escalones. La raíz exacta es el punto en el cual x y g(x) se intersecan y el proceso de sustituciones sucesivas tratará de llegar a este punto, cuando exista convergencia.

67 Solución de ecuaciones no lineales

Si 0 < g´(x) < 1, en todos los puntos del intervalo de búsqueda de la raíz, entonces el proceso de sustituciones sucesivas representado en la gráfica anterior muestra una convergencia hacia la raíz. En dicho caso la convergencia es monótona y ocurre por el extremo del intervalo de búsqueda que contenía la aproximación inicial. Si – 1 < g´(x) < 0, en todos los puntos del intervalo de búsqueda de la raíz, entonces el proceso de sustituciones sucesivas representado en la gráfica siguiente muestra también una aproximación hacia la raíz. En este caso la convergencia es oscilante o alternada y ocurre por uno y otro extremo del intervalo de búsqueda que contenía la aproximación inicial. Ambos intervalos de la primera derivada de g(x) analizados anteriormente están contenidos en la condición, g´( x)  1 . Resultará obvio que para valores que no cumplan esta condición se producirá un alejamiento o di-

vergencia de la raíz exacta.

Si g´(x) > 1, en todos los puntos del intervalo de búsqueda de la raíz, entonces el proceso de sustituciones sucesivas representado en la gráfica siguiente muestra una divergencia monótona de la raíz.

68 Solución de ecuaciones no lineales

Si g´(x) < – 1, en todos los puntos del intervalo de búsqueda de la raíz, entonces el proceso de sustituciones sucesivas representado en la gráfica de abajo muestra una también una divergencia de la raíz, pero esta es alternante.

Las siguientes líneas de programación en Derive 6 permiten crear una matriz de puntos que dibujan el diagrama de Cobweb para el método de iteración de punto fijo[3]... #1: COBWEB_AUX(v, g, x, n) := [[v1, 0; v1, v2], VECTOR([vr, v(r + 1); v(r + 1), v(r + 1); v(r + 1), v(r + 2)], r, 1, n – 1)] #2: COBWEB(g, x, in, n) := COBWEB_AUX(ITERATES(g, x, in, n), g, x, n)

Ejemplo 2.12 Determinar la raíz de la ecuación f( x)  x 2  sen( x  1) que se ubica en el intervalo [0, 1], utilizando el método de sustituciones sucesivas con una tolerancia de 0.0001. Primeramente se escribe la ecuación en la forma x = g(x), así x  sen(x  1) ;a continuación se obtiene la primera derivada de g(x) y se grafica g´( x) para ver si cumple la condición g´( x)  1 ...

69 Solución de ecuaciones no lineales 1

1

d

g ( x)

dx

1

0

1

1 x

de la gráfica se observa que la condición g(x)  1 se cumple. Esto se puede verificar realizando el gráfico de Cobweb con x0 = 1...

El cálculo de la raíz entonces es... i

xi

g(xi)

0

1

0.9535708819

1

0.9535708819

0.9631365028

2

0.9631365028

0.9612579363

3

0.9612579363

0.9616306269

4

0.9616306269

0.9615568349

5

0.9615568349

0.9615714513

i

1

2

3

4

5

6

Error absoluto

---

0.0464291

0.0095656

0.00187856

0.000372690

0.000073792

por lo que la raíz pedida es x = 0.9615568349. Ejemplo 2.13 Encuentre la raíz de la ecuación f(x)  x 2  cos(x) contenida en el intervalo [0.5, 1] mediante el método de iteración de punto fijo con 4 cifras decimales de precisión. Se escribe la ecuación en la forma x = g(x)

70 Solución de ecuaciones no lineales x 2  cos(x)  0 x 2  cos(x) x  cos(x)

entonces… g(x)  cos(x)

y g(x) 

 sen(x) 2 cos(x)

una tabla para g(x) , entre 0.5 y 1 produce: xi

g(x i )

0.5

0.25588638369116888504

0.6

0.31076224819089528823

0.7

0.36831273140128669859

0.8

0.42971429180476252213

0.9

0.49676851807340434979

1

0.57238828862337537795

Lo cual demuestra que con este despeje el método va a converger. i

xi

g(xi)

error

1

0.5

0.9367937669

------

2

0.9367937669

0.7696585012

0.4367937669

3

0.7696585012

0.8474363439

0.1671352657

4

0.8474363439

0.8135766709

0.07777784269

5

0.8135766709

0.8287964113

0.03385967299

6

0.8287964113

0.8220483178

0.01521974040

7

0.8220483178

0.8250588816

0.006748093499

8

0.8250588816

0.8237194383

0.003010563799

9

0.8237194383

0.8243161060

0.001339443299

10

0.8243161060

0.8240504594

0.0005966676999

11

0.8240504594

0.8241687585

0.0002656465998

12

0.8241687585

0.8241160826

0.0001182990998

13

0.8241160826

0.8241395391

0.00005267590000

14

0.8241395391

-------

0.00002345650020

La raíz pedida es 0.8241395391; éste resultado se ha logrado luego de 14 iteraciones, demostrando con ello que el método de iteraciones sucesivas es el más lento de los métodos abiertos.

71 Solución de ecuaciones no lineales

2.4.3.1 MÉTODO DE ITERACIÓN DE PUNTO FIJO CON DERIVE 6. Las siguientes líneas de programación en Derive 6 conforman el método de sustituciones sucesivas para el cálculo de la raíz de una ecuación, utilizando programación funcional y el número de iteraciones n como criterio de paro... #1: G(x) := #2: APROX(in, n) := ITERATES(G(x), x, in, n) #3: SUST_SUC(in, n) := [“raíz”, “error” ; (APROX(in, n))n, ABS((APROX(in, n))n – (APROX(in, n))(n – 1))]

CARACTERÍSTICAS DE LOS MÉTODOS ABIERTOS ESTUDIADOS:: El siguiente cuadro muestra una serie de características que pueden servir para elegir uno de los métodos estudiados de acuerdo al contexto del problema... Método de Newton - Raphson

Método de las secantes

El método puede converger o divergir de la El método puede converger o divergir de la raíz buscada raíz buscada Es rápido en su convergencia hacia la raíz, Es rápido en su convergencia hacia la raíz, algo menor que el método de Newton – pues tiene convergencia cuadrática. Raphson, pues tiene convergencia casi cuadrática. Necesita de una sola aproximación inicial a la Necesita de dos aproximaciones iniciales a la raíz, aunque se puede modificar de forma tal raíz. que se requiera una sola aproximación inicial. Una buena aproximación inicial a la raíz debe estar lo más cerca de la misma.

Buenas aproximaciones iniciales a la raíz deben estar lo más cerca de la misma.

Método de iteración de punto fijo El método puede converger o divergir de la raíz buscada Su convergencia será más rápida, cuanto más

g(x) sea próximo a 0. Necesita de una sola aproximación inicial a la raíz. Una buena aproximación inicial a la raíz es aquella para la cual se cumple que g (x 0 )  1

72 Diferenciación numérica

CAPÍTULO DIFERENCIACIÓN NUMÉRICA

3

La derivada de una función en un punto es un procedimiento matemático de suma importancia, dentro de muchas ciencias aplicadas, es por ello que es necesario implementar procedimientos numéricos que agiliten su cálculo, tanto más que este es un requerimiento indispensable en la resolución de ecuaciones diferenciales. En el presente capítulo se estudiarán los métodos para hallar la derivada a partir de un conjunto de datos, en los cuales obviamente irá incluido el punto de cálculo de la derivada.

3.1 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS. Este método consiste en utilizar un conjunto discreto de datos, con el objetivo de generar un polinomio de interpolación y a partir de éste obtener la derivada. Dependiendo de la disposición de los puntos del conjunto de datos con respecto al punto de cálculo de la derivada, se pueden conseguir tres posibilidades que son: 

Aproximación por diferencias progresivas o hacia adelante.



Aproximación por diferencias regresivas o hacia atrás, y



Aproximación por diferencias centrales.

Revisemos cada una de ellas…

3.1.1 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS PROGRESIVAS Y REGRESIVAS. Considérese los siguientes conjuntos de datos:

x 0 , x1 x 1, x 0 

x1  x 0 x 0  x 1

donde x0 es el punto de cálculo de la derivada. El subíndice denota la posición relativa de x. Si se evalúa una función f(x) en dichos conjuntos de datos se tiene…

f(x 0 ),f(x1) f(x 1),f(x 0 ) o de forma abreviada…

f0 ,f1 f1,f0  Entonces con los conjuntos de datos… x0

x1

f0

f1

x–1

x0

f–1

f0

73 Diferenciación numérica Se procederá a hallar los polinomios de interpolación correspondientes mediante el método de Lagrange. Adicionalmente se va a considerar que los puntos están equiespaciados, es decir, hay una distancia h entre ellos ó h  x1  x 0 h  x 0  x 1

.

Para el primer conjunto de datos, los polinomios básicos de Lagrange o funciones de forma se escriben como... L 0 (x) 

(x  x1) (x 0  x1)

L1(x) 

(x  x 0 ) (x1  x 0 )

por lo que el polinomio de interpolación será… p(x) 

(x  x 0 ) (x  x1) f0  f1 (x 0  x1) (x1  x 0 )

derivando esta expresión se tiene..

f  f  dp  1 0 dx  x1  x 0  por lo que…

df dx

(3.1)

 f(x 0 )  f0  x  x0

 f1  f0 

 x1  x 0 



 f1  f0  h

Para el segundo conjunto de datos… L 0 (x) 

(x  x 0 ) (x 1  x 0 )

L1(x) 

(x  x 1) (x 0  x 1)

por lo que el polinomio de interpolación será… p(x) 

(x  x 0 ) (x  x 1) f1  f0 (x 1  x 0 ) (x 0  x 1)

derivando esta expresión se tiene..

f  f  dp  0 1 dx  x 0  x 1  por lo que…

(3.2)

df dx

 f (x 0 )  f0  x  x0

 f0  f1 

 x 0  x 1 



 f0  f1  h

La expresión (3.1) se denomina aproximación por diferencias progresivas o hacia delante, mientras que la expresión (3.2) se llama aproximación por diferencias regresivas o hacia atrás.

74 Diferenciación numérica Ejemplifiquemos el sentido geométrico de estas aproximaciones… Considérese la función f(x)  x 2  1 , y supóngase que se desea calcular de manera aproximada f(1) , entonces… por diferencias progresivas el conjunto que se elegirá es… x

f(x)

1 2

1  1 2

2 2

2 1 5

y por diferencias regresivas… x

f(x)

0 2

0  1 1

1 2

1  1 2

las formulas para aproximación por diferencias progresivas y regresivas corresponden a los valores en x = 1 de las rectas que se obtienen de las tablas, mientras que la derivada exacta es la línea tangente a f(x) en x = 1, esto se muestra en la gráfica siguiente:

f(x)  x 2  1

Tangente a f(x)  x 2  1 Recta para diferencias progresivas y  3x  1

Recta para diferencias regresivas y  x 1

Es obvio que si la distancia h entre los puntos x, disminuye las rectas para las diferencias progresivas y regresivas se aproximarán más a la recta tangente que representa la derivada exacta, por lo que se podría suponer que el error de aproximación se reduce al disminuir dicho valor. Ejemplo 3.1 Determinar la primera derivada de f(x)  esen(x) en x = 0, con h = 0.1 y h = 0.01 mediante aproximación por diferencias progresivas y regresivas. Utilizar 10 cifras significativas. Primeramente se genera ambas tablas de datos tanto para h = 0.1 como h = 0.01, así… a.) h = 0.1 y diferencias progresivas x

0

0.1

f(x)

esen(0)  1

esen(0.1)  1.104986830

75 Diferenciación numérica df dx



1.104986830  1  1.049868299 0.1

x 0

b.) h = 0.1 y diferencias regresivas x

– 0.1

f(x) df dx



e

sen( 0.1)

0

 0.9049881614

e

sen(0)

1

1 0.9049881614   0.9501183859 0.1

x 0

c.) h = 0.01 y diferencias progresivas

df dx

x

0

0.01

f(x)

esen(0)  1

esen(0.01)  1.010049998



1.010049998  1  1.004999800

x 0

0.01

d.) h = 0.01 y diferencias regresivas

df dx

x

– 0.01

0

f(x)

esen(0.01)  0.9900499987

esen(0)  1

 x  00

1 0.9900499987   0.9950001299 0.01

Siendo la derivada exacta 1, entonces el error en cada caso es. a.) e  1 1.049868299  0.049868299 b.) e  1 0.9501183859  0.0498816141 c.) e  1 1.004999800  0.004999800 d.) e  1 0.9950001299  0.0049998701 Como se dijo al disminuir el valor de h, se observa que el error también disminuye. El proceso estudiado para un conjunto de dos datos se puede aplicar a 3 o más datos generándose de dicha forma formulas para diferencias progresivas y regresivas más exactas. Sin embargo al aumentar el número de puntos el procedimiento se hace de trámite engorroso, por lo que vamos a utilizar Derive 5, para facilitar los cálculos… Considérese el conjunto de datos

 x

0

,f0  ,  x1,f1  ,  x 2 ,f2  , separados una distancia h tal que x1  x 0  h y

x 2  x 0  2h , entonces va a generarse el polinomio de interpolación con Derive 5 mediante el proceso siguien-

te: 

Se ingresa la orden InputMode := Word para que admita variables de más de 1 carácter.



Se define el polinomio de interpolación como p(x) : a  x  2  b  x  c .

76 Diferenciación numérica 

Se establece el vector de condiciones de la interpolación [p(x0)=f0, p(x1)=f1, p(x2)=f2], que generará un sistema de ecuaciones.



Se resuelve el sistema obtenido, para las variables a, b y c, mediante la orden SOLVE([p(x0) = f0, p(x1) = f1, p(x2) = f2], [a, b, c]).



Se obtiene entonces el vector solución…



Se substituye en el vector solución x1  x 0  h y x 2  x 0  2h , lográndose simplificar la solución a…



Entonces se reemplaza a, b y c en p(x), obteniéndose…



Se deriva la expresión anterior…



Finalmente se substituye x = x0…

Esta fórmula corresponde a la aproximación por diferencias progresivas con tres puntos y escrita con notación formal se presenta como…

77 Diferenciación numérica df dx

(3.3)

 f(x 0 )  f0   x  x0

3f0  4f1  f2 2h

De forma similar se pueden obtener la aproximación por diferencias regresivas para el conjunto de datos

 x

2

,f2  ,  x 1,f1  ,  x 0 ,f0  con x 1  x 0  h y x 2  x 0  2h , obteniéndose… df dx

(3.4)

 f(x 0 )  f0  x  x0

3f0  4f1  f2 2h

que corresponde a la aproximación por diferencias regresivas con tres puntos. Con estas aproximaciones se disminuye el error como se va a demostrar mediante el siguiente ejemplo… Ejemplo 3.2 Determinar la primera derivada de f(x)  esen(x) en x = 0, con h = 0.1 y h = 0.01 mediante aproximación por diferencias progresivas y regresivas en tres puntos. Utilizar 10 cifras significativas. Primeramente se genera ambas tablas de datos tanto para h = 0.1 como h = 0.01, así… a.) h = 0.1 y diferencias progresivas

f0  

x

0

0.1

0.2

f(x)

esen(0)  1

esen(0.1)  1.104986830

esen(0.2)  1.219778556

3(1)  4(1.104986830)  (1.219778556)  1,00084382 2(0.1)

b.) h = 0.1 y diferencias regresivas x

f(x) f0 

– 0.2 e

sen( 0.2)

– 0.1

 0.8198209380

e

sen( 0.1)

0

 0.9049881614

e

sen(0)

1

3(1)  4(0.9049881614)  (0.8198209380)  0.999341462 2(0.1)

c.) h = 0.01 y diferencias progresivas

f0  

x

0

0.01

0.02

f(x)

e sen(0)  1

e sen(0.01)  1.010049998

e sen(0.02)  1.020199979

3(1)  4(1.010049998)  (1.020199979)  1.00000065 2(0.01)

d.) h = 0.01 y diferencias regresivas x

f(x) f0 

– 0.02 e

sen( 0.02)

 0.9801999802

– 0.01 e

sen( 0.01)

 0.9900499987

3(1)  4(0.9900499987)  (0.9801999802)  0.99999927 2(0.01)

Siendo la derivada exacta 1, entonces el error en cada caso es. a.) e  1 1,00084382  0.00084382

0 e

sen(0)

1

78 Diferenciación numérica b.) e  1 0.999341462  0.000658538 c.) e  1 1.00000065  0.00000065 d.) e  1 0.99999927  0.00000073 Es evidente que al considerar aproximaciones por diferencias en tres puntos el error ha disminuido de forma notoria. La siguiente tabla resume las derivadas aproximadas por diferencias progresivas y regresivas para 2, 3 y 4 puntos Aproximación por diferencias progresivas f0 

2 puntos

f0  

3 puntos

f0  

4 puntos

f1  f0 h

3f0  4f1  f2 2h

11f0  18f1  9f2  2f3 6h

Aproximación por diferencias regresivas f0 

2 puntos f0 

3 puntos f0 

4 puntos

f0  f1 h

3f0  4f1  f2 2h

11f0  18f1  9f2  2f3 6h

3.1.2 DERIVADAS POR APROXIMACIÓN DE DIFERENCIAS CENTRALES. Este método debe su nominación a que el punto donde se determina la primera derivada se halla en el centro de un conjunto discreto de puntos equidistantes. De esta manera solamente se pueden obtener un conjunto de un número impar de puntos, así…

x 1, x 0 ,x1

x 2 , x 1, x 0 , x1,x 2 

3 puntos

5 puntos …

procediendo como en el anterior ítem, se deducen para las aproximaciones por diferencias centrales las siguientes fórmulas… Aproximación por diferencias centrales 3 puntos

f0 

f1  f1 2h

79 Diferenciación numérica

f0 

5 puntos

f2  8f1  8f1  f2 12h

La aproximación por diferencias centrales usualmente produce resultados más exactos que la aproximación por diferencias progresivas o regresivas con el mismo números de puntos, como lo demuestra el siguiente ejemplo… Ejemplo 3.3 Determinar la primera derivada de f(x)  esen(x) en x = 0, con h = 0.1 y h = 0.01 mediante aproximación por diferencias centrales en tres puntos. Utilizar 10 cifras significativas. a.) h = 0.1

f0 

x

– 0.1

0

0.1

f(x)

e sen(0.1)  0.9049881614

e sen(0)  1

e sen(0.1)  1.104986830

(1.104986830)  (0.9049881614)  0.999993343 2(0.1)

b.) h = 0.01 x

f(x) f0  

– 0.01 e

sen( 0.01)

 0.9900499987

0 e

sen(0)

0.01 1

e

sen(0.01)

 1.010049998

(1.010049998)  (0.9900499987)  0.999999965 2(0.01)

Siendo la derivada exacta 1, entonces el error en cada caso es. e  1 0.999993343  0.000006657 e  1 0.999999965  0.000000035

Este resultado es consistente con el hecho de que en un puntos equiespaciados la interpolación polinómica es más exacta en la parte central del intervalo de interpolación y más errónea en los extremos.

3.1.3 DERIVADAS DE ORDEN SUPERIOR. El procedimiento para hallar la segunda derivada o derivadas de orden superior es el mismo empleado en las derivadas de primer orden, con la única salvedad de que si se desea calcular una derivada de orden n es necesario contar con n + 1 puntos. Así entonces, para hallar la segunda derivada es necesario tener tres puntos sea por diferencias hacia delante, hacia atrás o centrales. Con la ayuda de Derive 5, se puede determinar las fórmulas para la segunda derivada, las cuales se expresan en la siguiente tabla: Aproximación por diferencias progresivas 3 puntos

f0 

f0  2f1  f2 h2

80 Diferenciación numérica Aproximación por diferencias regresivas

f0  2f1  f2 h2

f0 

3 puntos

Aproximación por diferencias centrales f0 

3 puntos

f1  2f0  f1 h2

Ejemplo 3.4 Determinar la segunda derivada de f(x)  esen(x) en x = 0, con h = 0.1 mediante aproximación por diferencias progresivas, regresivas y centrales. Utilizar 10 cifras significativas. a.) Diferencias progresivas, h = 0.1 x

f(x)

0 e

sen(0)

0.1 1

e

sen(0.1)

0.2

 1.104986830

e

sen(0.2)

 1.219778556

f0  2f1  f2 h2 (1)  2(1.104986830)  (1.219778556) f01  (0.1)2 f0  0.9804896 f0 

El valor exacto es 1, por lo que… e  1 0.9804896  0.0195104

b.) Diferencias regresivas x

0

– 0.1

– 0.2

f(x)

e sen(0)  1

e sen(0.1)  0.9049881614

e sen(0.2)  0.8198209380

f0  2f1  f2 h2 (1)  2(0.9049881614)  (0.8198209380) f01  (0.1)2 f0  0.98446152 f0 

El valor exacto es 1, por lo que… e  1 0.98446152  0.01553848

el error es similar al obtenido por diferencias progresivas. c.) Diferencias centrales x

f(x)

– 0.1 e

sen( 0.1)

 0.9049881614

0 e

sen(0)

0.1 1

e

sen(0.1)

 1.104986830

81 Diferenciación numérica f0  2f1  f2 h2 (1.104986830)  2(1)  (0.9049881614) f01  (0.1)2 f0  0.99749914 f0 

El valor exacto es 1, por lo que… e  1 0.99749914  0.00250086

el error ha mejorado con respecto a diferencias progresivas y regresivas.

3.2 ERROR EN DIFERENCIACIÓN NUMÉRICA. El error en los métodos de derivación numérica se deduce en base a un análisis por series de Taylor. Se deducirán dos casos en particular, el error en la primera derivada por diferencias progresivas con 2 y 3 puntos; los restantes casos se pueden analizar de una forma similar Considérese la serie de Taylor siguiente… h h2 f(x 0  h)  f(x 0 )  f (x 0 )  f (x 0 )  ... , donde x1  x 0  h 1! 2!

despejando f(x 0 ) …

Primera derivada por diferencias progresivas

f(x 0 ) 

f(x 0  h)  f(x 0 ) f (x 0 )  h  ... h 2

término dominante del error (orden del error)

en forma simplificada se escribe… f1  f0  O(h)  ... h donde h O(h)   f0 2 f0 

lo que demuestra que el error en la primera derivada por diferencias progresivas en dos puntos es de orden h. Ahora considérense las series de Taylor siguientes… h h2 f(x 0  h)  f(x 0 )  f (x 0 )  f (x 0 )  ... , donde x1  x 0  h 1! 2! h h2 f(x 0  h)  f(x 0 )  f (x 0 )  f (x 0 )  ... , donde x1  x 0  h 1! 2!

El siguiente cuadro tabula el orden del error para las diferentes derivadas obtenidas anteriormente… No. de puntos

Aproximación por …

2

diferencias progresivas

Orden de la derivada 1

Orden del error O(h)

82 Diferenciación numérica 3

diferencias progresivas

1

O(h2)

4

diferencias progresivas

1

O(h3)

2

diferencias regresivas

1

O(h)

3

diferencias regresivas

1

O(h2)

4

diferencias regresivas

1

O(h3)

3

diferencias centrales

1

O(h2)

5

diferencias centrales

1

O(h4)

3

diferencias progresivas

2

O(h)

3

diferencias regresivas

2

O(h)

3

diferencias centrales

2

O(h2)

El término O(hn) significa de forma práctica, que el número aproximado de cifras decimales exactas están dadas por el resultado de hn. El siguiente ejemplo aclara este concepto… Ejemplo 3.5 Determinar la primera derivada de f(x)  x x en x = 1.5, con 5 cifras decimales de precisión mediante diferencias progresivas, regresivas y centrales. a.) Diferencias progresivas Para obtener 5 cifras decimales de precisión se utilizará la fórmula para 4 puntos con h = 0.01, pues en ese caso el orden del error(número aproximado de cifras decimales de precisión) es h3  (0.01)3  0.000001 x

1.5

1.51

1.52

1.53

f(x)

1.51.5  1.837117307

1.511.51  1.863181616

1.521.52  1.889740860

1.531.53  1.916804803

11f1.5  18f1.51  9f1.52  2f1.53 6h 11(1.837117307)  18(1.863181616)  9(1.889740860)  2(1.916804803)   f1.5 6(0.01)   2.582009617 f1.5   f1.5

Este valor es confiable en un 100% hasta la quinta cifra decimal, las restantes podrían ser o no ser exactas. Para corroborar esta afirmación se puede comparar con su valor exacto a 10 cifras significativas 2.582004274. b.) Diferencias regresivas Para obtener 5 cifras decimales de precisión se utilizará nuevamente la fórmula para 4 puntos con h = 0.01, pues en ese caso el orden del error(número aproximado de cifras decimales de precisión) es h3  (0.01)3  0.000001 x

1.5

1.49

1.48

1.47

f(x)

1.51.5  1.837117307

1.491.49  1.811538381

1.481.48  1.786435493

1.471.47  1.761799498

83 Diferenciación numérica 11f0  18f1  9f2  2f3 6h 11(1.837117307)  18(1.811538381)  9(1.786435493)  2(1.761799498)   f1.5 6(0.01)   2.581999332 f1.5

  f1.5

e  2.582004274  2.581999332  0.000004942

El valor del error con respecto al valor exacto muestra la confiabilidad en las 5 cifras decimales(al efectuar el redondeo). b.) Diferencias centrales Para obtener 5 cifras decimales de precisión se utilizará la fórmula para 3 puntos con h = 0.001, pues en ese caso el orden del error(número aproximado de cifras decimales de precisión) es h2  (0.001)2  0.000001 x

1.499

1.5

1.501

f(x)

1.4991.499  1.834537728

1.51.5  1.837117307

1.5011.501  1.839701739

f1  f1 2h (1.839701739)  (1.834537728)   f1.5 2(0.001)   2.5820055 f1.5   f1.5

Nuevamente es fácil observar la confiabilidad en las 5 cifras decimales de precisión al compararlas con el valor exacto.

3.3 DERIVADAS NUMÉRICAS CON DERIVE 6. Con la ayuda de la programación funcional de Derive 6 se puede escribir muy fácilmente una utilidad para todas las derivadas numéricas estudiadas anteriormente. Esta utilidad se detalla a continuación… #1: Precision := Approximate #2: f(x) := #3: DDP2(x0, h) := (f(x0 + h) – f(x0))/h #4: DDP3(x0, h) := – (3*f(x0) – 4*f(x0 + h) + f(x0 + 2*h))/(2*h) #5: DDR2(x0, h) := (f(x0) – f(x0 – h))/h #6: DDR3(x0, h) := (3*f(x0) – 4*f(x0 – h) + f(x0 – 2*h))/(2*h) #7: DDC3(x0, h) := (f(x0 + h) – f(x0 – h))/(2*h) #8: DDC5(x0, h) := (f(x0 – 2*h) – 8*f(x0 – h) + 8*f(x0 + h) – f(x0 + 2*h))/(12*h)

DDPn representa la primera derivada por diferencias progresivas en n puntos DDRn representa la primera derivada por diferencias regresivas en n puntos DDCn representa la primera derivada por diferencias centrales en n puntos X0 es el punto en que se calcula la derivada con un tamaño de paso h. Ejemplo 3.6 Determinar la primera derivada de f(x) 

e x en x = 0.2, con 5 cifras decimales de precisión mecos(x)  sen(x)

diante las fórmulas de diferencias progresivas(2 y 3 puntos), regresivas(2 y 3 puntos) y centrales(3 y 5 puntos). Se determina el tamaño de paso en cada caso…

84 Integración numérica No. de

Aproximación por …

puntos

Orden del error

h

2

diferencias progresivas

O(h)

0.000001

3

diferencias progresivas

O(h2)

(0.001)2 = 0.000001

2

diferencias regresivas

O(h)

0.000001

3

diferencias regresivas

O(h2)

(0.001)2 = 0.000001

3

diferencias centrales

O(h2)

(0.001)2 = 0.000001

5

diferencias centrales

O(h4)

(0.01)4 = 0.00000001

Se ingresan entonces las siguientes instrucciones… f(x) :=(ê^(–x))/(cosx – sinx) [DDP2(0.2,0.000001),DDP3(0.2,0.001),DDR2(0.2,0.000001),DDR3(0.2,0.001),DDC3(0.2,0.001),DDC5(0.2,0. 01)] al simplificar se obtiene…

resultados que presentan cinco cifras decimales de precisión en todos los casos, redondeando para DDP3, DDR2 y DDR3.

85 Integración numérica

CAPÍTULO INTEGRACIÓN NUMÉRICA

4

La integración de una función es el proceso inverso a la derivación, pero mientras que la derivada de una función es relativamente fácil de hallar y esta definida para toda función continua, la integral de una función no siempre es sencillo determinarla, pues en un buen número de casos la integral de una función resulta ser una función no elemental. La integración numérica entonces proporciona métodos a través de los cuales es muy simple hallar la integral de una función, considerando el significado geométrico que ella representa; así pues, la integral de una función continua f(x) entre x = a y x = b, es el área bajo la curva f(x) entre x = a y x = b, como lo representa la figura siguiente:

b

 f(x)dx a

a

b

Bajo este enfoque es posible hallar una integral, para una función o un conjunto de datos, como se analizará a continuación.

4.1 MÉTODO DE LOS RECTÁNGULOS Y DEL PUNTO MEDIO El método de los rectángulos consiste en aproximar una función mediante una serie de rectángulos de forma tal que el área calculada para los mismos aproxime al área bajo la función. El siguiente esquema ejemplifica lo mencionado…

86 Integración numérica

Área aproximada por los rectángulos Área bajo la curva f(x)

Al incrementar el número de rectángulos utilizados en la aproximación es evidente que el área total de los mismos es más cercana a la integral, como lo muestra claramente el siguiente gráfico…

Áreas en exceso eliminadas al duplicar el número de rectángulos.

El método de los rectángulos considera entonces una serie de n rectángulos…

f(xn–1) f(xn–2) f(xn–3)

f(x1)

f(x4) f(x3) f(x2)

f(x0)

… x0 x1



x5



xn–3

h h h h h



xn

h h h

n rectángulos

cuyas bases tienen una longitud h( x1  x 0  h , x 2  x1  h , x 3  x 2  h ,…, x n  x n1  h ) y sus alturas son

87 Integración numérica f(x0), f(x1), f(x2),…,f(xn–1) respectivamente. El area total de los rectángulos esta dada por… n 1

Arect  hf(x 0 )  hf(x1)  hf(x 2 )  ...  hf(x n1)  h[f(x 0 )  f(x1)  f(x 2 )  ...  f(x n1)]  h f(x i ) i 0

entonces… xn

n 1

x0

i 0

 f(x)dx h f(x i )  R

(4.1)

fórmula que identifica al método de los rectángulos. Si se considera que x1  x 0  h , x 2  x 0  2h , … , x n  x 0  nh , la expresión (4.1) se simplifica a… xn

n

x0

i 1

 f(x)dx h f  x

(4.2)

0

 (i  1)h  R

expresión alternativa para el método de los rectángulos, útil en la programación del método. Ejemplo 4.1 1

Calcular  esen(x)dx mediante el método de los rectángulos con n = 10. Utilizar 10 cifras significativas. 0

La longitud h de la base de los rectángulos es h 

1 0  0.1 10

i

xi

f(xi)

0

0

1

0 + 0.1 = 0.1

e sen(0.1)  1.104986830

2

0.1 + 0.1 = 0.2

e sen(0.2)  1.219778556

3

0.2 + 0.1 = 0.3

e sen(0.3)  1.343825243

4

0.3 + 0.1 = 0.4

e sen(0.4)  1.476121946

5

0.4 + 0.1 = 0.5

e sen(0.5)  1.615146296

6

0.5 + 0.1 = 0.6

e sen(0.6)  1.758818845

7

0.6 + 0.1 = 0.7

e sen(0.7)  1.904496534

8

0.7 + 0.1 = 0.8

e sen(0.8)  2.049008650

9

0.8 + 0.1 = 0.9

e sen(0.9)  2.188741912

e

sen(0)

1

9

 f(x ) i0 1

e

15.66092481

i

sen(x)

dx (0.1)(15.66092481)=1.566092481=R10

0

El valor exacto de esta integral a 10 cifras significativas es 1.631869608, por lo que el error es… e  1.631869608-1.566092481  0.065777127

Del ejemplo se puede observar que a pesar de utilizar un buen número de rectángulos, apenas se obtuvo dos

88 Integración numérica cifras significativas de precisión, lo que muestra que el método es lento. Una corrección que mejora el método de los rectángulos generando el denominado método del punto medio se va a analizar seguidamente… Si en lugar de generar los rectángulos, formándolos a partir de los puntos extremos(xi, xi+1), se lo hace a partir del punto medio (

x i  x i 1 ), la precisión para un mismo número de rectangulos utilizados mejora 2

significativamente. Para esta disposición de los puntos se tiene…  x  x1   x1  x 2   x n1  x n  Amed  hf  0   hf    ...  hf   2  2     2    x  x1   x1  x 2   n1  x i  x i 1    x n1  x n    h f  0   f   ...  f     h  f   2    i 0  2    2   2 

por lo que… xn

 n1  x i  x i 1     M 2  i0

 f(x)dx h  f 

(4.3)

x0

expresión que define el método del punto medio. Ejemplo 4.2 1

Calcular  esen(x)dx mediante el método del punto medio con n = 10. Utilizar 10 cifras significativas. 0

La longitud h de la base de los rectángulos es h 

1 0  0.1 10

i

xi

x i  x i 1 2

 x  x i 1  f i  2  

0

0

-----

-----

1

0 + 0.1 = 0.1

0  0.1  0.05 2

e sen(0.05)  1.051249197

2

0.1 + 0.1 = 0.2

0.1 0.2  0.15 2

e sen(0.15)  1.161181629

3

0.2 + 0.1 = 0.3

0.2  0.3  0.25 2

e sen(0.25)  1.280696357

4

0.3 + 0.1 = 0.4

0.3  0.4  0.35 2

e sen(0.35)  1.409024762

5

0.4 + 0.1 = 0.5

0.4  0.5  0.45 2

e sen(0.45)  1.544909811

6

0.5 + 0.1 = 0.6

0.5  0.6  0.55 2

e sen(0.55)  1.686553721

7

0.6 + 0.1 = 0.7

0.6  0.7  0.65 2

e sen(0.65)  1.831593596

89 Integración numérica

8

0.7 + 0.1 = 0.8

0.7  0.8  0.75 2

e sen(0.75)  1.977115096

9

0.8 + 0.1 = 0.9

0.8  0.9  0.85 2

e sen(0.85)  2.119712370

10

0.9 + 0.1 = 1

0.9  1  0.95 2

e sen(0.95)  2.255598853

10

 f(x ) i

i0

1

e

16.31763539

sen(x)

dx (0.1)(16.31763539)=1.631763539=M10

0

El valor exacto de esta integral a 10 cifras significativas es 1.631869608, por lo que el error es… e  1.631869608-1.631763539  0.000106069

Como se observa la precisión es ahora mucho mejor que con el método de los rectángulos. Una fórmula algo más util, especialmente en la programación del método del punto medio se obtiene al considerar que x1  x 0  h , x 2  x 0  2h , … , x n  x 0  nh , de donde… h 3h  (2n  1)h     Amed  hf  x 0    hf  x 0   ...  hf  x 0    2 2  2       n  h  3h  (2n  1)h   (2i  1)h     h f  x 0    f  x 0   ...  f  x 0    h  f  x 0     2 2 2 2           i 1 

es decir… xn



n



 f(x)dx h  f  x

(4.4)

x0

i 1

0



(2i  1)h   M 2  

expresión alternativa para el método del punto medio

4.1.1 MÉTODO DE LOS RECTÁNGULOS Y DEL PUNTO MEDIO CON DERIVE 6. Utilizando programación funcional y esencialmente la función SUM, la automatización de éstos dos métodos con Derive 6, es muy simple. Las siguientes líneas definen la programación de ambos métodos en base a las expresiones (4.2) y (4.4)… #1: F(x) := #2: RECT(in, fin, n) := ((fin–in)/n)SUM(F(in+(i–1)((fin–in)/n)),i ,1, n) #3: MED(in, fin, n) := ((fin–in)/n)SUM(F(in+(2i–1)((fin–in)/(2n))),i ,1, n)

4.2 MÉTODO DE LOS TRAPECIOS. Este método sigue un proceso muy similar al utilizado en diferenciación numérica, consistente en aproximar mediante interpolación en este caso una malla de puntos de la función subintegral, para integrar dicho polinomio y obtener una aproximación al valor exacto. Una interpretación geométrica y su correspondiente deducción es más conveniente para este método, dejándose una aplicación de la interpolación a métodos posteriores. Considérese una malla de n intervalos equiespaciados donde se han construido n trapecios rectángulos…

90 Integración numérica

f(xi+1) f(xi)

xi

x1

x0 h



x2

xn–1

h

xn

h

h n trapecios

el área aproximada bajo la curva será la suma de todos los trapecios, así…  f(x )  f(x1)   f(x1)  f(x 2 )   f(x n1)  f(x n )  h Atrap  h  0   h   ...  h    [f(x 0 )  2f(x1)  2 2 2     2   n 1 h  2f(x 2 )  ...  2f(x n1)  f(x n )]  f(x 0 )  f(x n )  2 f(x i ) 2 i 1 

entonces… xn

n 1 h  f(x)dx f(x ) f(x ) 2 f(x i )  T     0 n  x 2 i 1  0

(4.5)

expresión que identifica al método de los trapecios. Ejemplo 4.3 1

Calcular  esen(x)dx mediante el método de los trapecios con n = 10. Utilizar 10 cifras significativas. 0

La longitud h de la base de los trapecios es h 

1 0  0.1 10

i

Xextremos

xintermedios

f(xextremos)

f(xintermedios)

0

0

-----

e sen(0)  1

-----

1

-----

0.1

-----

e sen(0.1)  1.104986830

2

-----

0.2

-----

e sen(0.2)  1.219778556

3

-----

0.3

-----

e sen(0.3)  1.343825243

4

-----

0.4

-----

e sen(0.4)  1.476121946

5

-----

0.5

-----

e sen(0.5)  1.615146296

6

-----

0.6

-----

e sen(0.6)  1.758818845

7

-----

0.7

-----

e sen(0.7)  1.904496534

xi+1

91 Integración numérica 8

-----

0.8

-----

e sen(0.8)  2.049008650

9

-----

0.9

-----

e sen(0.9)  2.188741912

10

1

-----

e sen(1)  2.319776824

-----

3.319776824

14.66092481

 f(x) 1

e

 0.1 dx    3.319776824+2(14.66092481)=1.632081322=T10  2 

sen(x)

0

El valor exacto de esta integral a 10 cifras significativas es 1.631869608, por lo que el error es… e  1.631869608-1.6320813222  0.0002117142

la precisión obtenida es similar a la del método del punto medio. Considérese las dos siguientes disposiciones de puntos x para un mismo intervalo…

h

h

h

h h

h

h

h h

h

h

h

h

h

h

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15

h ...

x2n-1 x2n

2n intervalos

2h x0

2h x2

2h x4

2h x6

2h x8

2h x10

2h x12

2h x14

. . . x2n-2

x2n

n intervalos si sobre dichas mallas descansa una curva f(x) y a la misma se le aplica el método de los trapecios para hallar x 2n

 f(x)dx , se tiene…

x0

Tn 

2h f(x 0 )  f(x 2n )  2(f(x 2 )  f(x 4 )  f(x 6 )  f(x 8 )  ...  f(x 2n 2 )) 2 

T2n 

h f(x 0 )  f(x 2n )  2(f(x1)  f(x 2 )  f(x 3 )  f(x 4 )  ...  f(x 2n1)) 2

para los n intervalos , y para los 2n intervalos

aplicando además el método del punto medio al calcular la integral para la malla de n intervalos se obtiene… Mn  2h f(x1)  f(x 3 )  f(x 5 )  f(x 7 )  f(x 9 )  ...  f(x 2n1)

para los n intervalos

sumando Tn y Mn… Mn  Tn  2h f(x1)  f(x 3 )  f(x 5 )  f(x 7 )  f(x 9 )  ...  f(x 2n1)  h f(x 0 )  f(x 2n )  2f(x 2 )  2f(x 4 )  2f(x 6 )  2f(x 8 )  ...  2f(x 2n 2 )  h f(x 0 )  f(x 2n )  2(f(x1)  f(x 2 )  f(x 3 )  f(x 4 )  f(x 5 )  ...  f(x 2n1))

resultado que corresponde a 2T2n , de donde…

(4.6)

T2n 

Mn  Tn 2

92 Integración numérica esta expresión permite calcular la integral con el método de los trapecios para 2n intervalos en base a hallar únicamente la integral para n intervalos por el método del punto medio y el de los trapecios, método conocido como método de aceleración de la regla de los trapecios. Ejemplo 4.4 1

Calcular  esen(x)dx mediante el método de aceleración de los trapecios con n = 20. Utilizar 10 cifras significa0

tivas. De los ejemplos 4.2 y 4.3 se tiene que… M10 = 1.631763539 , y T10 = 1.632081322 , entonces… T20 

M10  T10 1.631763539+1.632081322   1.6319224305 2 2

Considerando el valor exacto de esta integral a 10 cifras significativas como 1.631869608, el error es… e  1.631869608-1.6319224305  0.0000528225

La aplicación del método de la aceleración produce una mejora en la precisión, en base a resultados calculados. Considerando que x1  x 0  h , x 2  x 0  2h , … , x n1  x 0  (n  1)h , la fórmula del método de los trapecios se puede escribir como… xn

n 1 h     f(x)dx f(x ) f(x ) 2 f  x 0  ih   T  0 n  x 2 i 1  0

(4.7)

4.2.1 MÉTODO DE LOS TRAPECIOS CON DERIVE 6. Empleando programación funcional, la función SUM y la expresión (4.7), la automatización del método de los trapecios es… #1: F(x) := #2: TRAP(in, fin, n) := ((fin–in)/(2n))(F(in)+F(fin)+2SUM(F(in+i((fin–in)/n)),i ,1, n–1))

4.3 REGLAS DE SIMPSON. Las reglas de Simpson, utilizan una interpolación de segundo y tercer grado sobre las cuales se obtienen las respectivas aproximaciones mediante integración. La obtención de éstas fórmulas de forma manual es sumamente largo, pero con la ayuda de Derive 6, el proceso toma pocos segundos.

4.3.1 REGLA DE 1/3 DE SIMPSON. x2

Se desea calcular la integral

 f(x)dx

utilizando un polinomio interpolador de segundo orden p(x) en lugar de

x0

la función subintegral f(x); para ello se debe disponer de tres puntos con los cuales construir p(x) tal como lo muestra el siguiente gráfico...

93 Integración numérica

f(x) p(x)

f(x1) f(x0) f(x2) x0

x1 h

x2 h

entonces… 

Se ingresa la orden InputMode := Word para que admita variables de más de 1 carácter.



Se define el polinomio de interpolación como p(x) : a  x  2  b  x  c .



Se establece el vector de condiciones de la interpolación [p(x0)=f0, p(x1)=f1, p(x2)=f2], que generará un sistema de ecuaciones.



Se resuelve el sistema obtenido, para las variables a, b y c, mediante la orden SOLVE([p(x0) = f0, p(x1) = f1, p(x2) = f2], [a, b, c]).



Se obtiene entonces el vector solución…



Se substituye en el vector solución x1  x 0  h y x 2  x 0  2h , lográndose simplificar la solución a…

94 Integración numérica



Entonces se reemplaza a, b y c en p(x), obteniéndose…



Se integra p(x) entre x0 y x0 + 2h…



y se obtiene finalmente…

es decir… x2

h

 f(x)dx  3 f(x

0

x0

)  4f(x1)  f(x 2 )

que es la expresión para el método de Simpson con aproximación cuadrática o regla de 1/3 de Simpson. Para aproximar con un error menor el área calculada por este método, se puede subdividir a su vez cada intervalo en dos subintervalos y proceder de la misma manera hasta obtener un número n par de intervalos. Aplicando a cada pareja la ecuación anterior se obtiene... xn

h

 f(x)dx  3  f(x

0

)  4f(x1)  f(x 2 )  f(x 2 )  4f(x 3 )  f(x 4 )  ...  f(x n 2 )  4f(x n1)  f(x n )

x0

que simplificando resulta... xn

h

 f(x)dx  3 f(x

x0

0

)  4f(x1)  2f(x 2 )  4f(x 3 )  2f(x 4 )  ...  2f(x n 2 )  4f(x n1)  f(x n )

donde n es par

denominada regla compuesta de 1/3 de Simpson. Esta expresión se puede simplificar como…

(4.8)

xn

h

 f(x)dx  3 f(x

x0

0

k k 1  )  f(x n )  4 f(x 2i 1)  2 f(x 2i ) =S1/3 i 1 i 1 

donde n=2k

95 Integración numérica Ejemplo 4.5 1

Calcular  esen(x)dx mediante el regla de 1/3 de Simpson con n = 10 intervalos. Utilizar 10 cifras significativas. 0

La longitud h de los intervalos es h  i

xi

0

0

1

0.1

2

1 0  0.1 10

f(xextremos)

f(xpares)

f(xno pares)

-----

-----

-----

-----

e sen(0.1)  1.104986830

0.2

-----

e sen(0.2)  1.219778556

3

0.3

-----

-----

4

0.4

-----

e sen(0.4)  1.476121946

-----

5

0.5

-----

-----

e sen(0.5)  1.615146296

6

0.6

-----

e sen(0.6)  1.758818845

-----

7

0.7

-----

-----

e sen(0.7)  1.904496534

8

0.8

-----

e sen(0.8)  2.049008650

-----

9

0.9

-----

-----

e sen(0.9)  2.188741912

10

1

e sen(1)  2.319776824

-----

-----

3.319776824

6.503727998

8.157196817

e

 f(x) 1

e

sen(x)

dx 

0

sen(0)

1

----e

sen(0.3)

 1.343825243

0.1 3 3.319776824+4(8.157196817)+2(6.503727998)=1.631867336=S1/ 10 3 

El valor exacto de esta integral a 10 cifras significativas es 1.631869608, por lo que el error es… e  1.631869608-1.631867336  0.000002272

la precisión es casi el doble que el método de los trapecios, con el mismo número de intervalos. Un método de aceleración para la regla de 1/3 de Simpson es también posible, y su demostración se deja al lector. Se tiene que… S1/2n3 

(4.9)

2Mn  Tn 3

Ejemplo 4.6 1

Calcular

e

sen(x)

dx mediante el método de aceleración de la regla de 1/3 de Simpson con n = 20 intervalos.

0

Utilizar 10 cifras significativas. De los ejemplos 4.2 y 4.3 se tiene que… M10 = 1.631763539 , y T10 = 1.632081322 , entonces…

96 Integración numérica

S1/203 

2M10  T10 2(1.631763539)+1.632081322   1.631869467 3 3

Considerando el valor exacto de esta integral a 10 cifras significativas como 1.631869608, el error es… e  1.631869608-1.631869467  0.000000141

Nuevamente, la aplicación del método de la aceleración produce una mejora en la precisión, en base a resultados calculados.

4.3.2 REGLA DE 3/8 DE SIMPSON. x3

Ahora se desea calcular la integral

 f(x)dx

utilizando un polinomio interpolador de tercer orden p(x) en lugar

x0

de la función subintegral f(x); para ello se debe disponer de cuatro puntos con los cuales construir p(x) tal como lo muestra el siguiente gráfico...

f(x) p(x)

f(x1)

f(x0) x0

f(x2)

x1 h

f(x2) x2

h

x3 h

siguiendo el mismo procedimiento empleado en la regla de 1/3 de Simpson se obtiene… x3

 f(x)dx 

x0

3h f(x 0 )  3f(x1)  3f(x 2 )  f(x 3 ) 8 

expresión que determina el método de Simpson con aproximación cúbica o regla de 3/8. Para aproximar con un error menor el área calculada por este método, se puede subdividir a su vez cada intervalo en tres subintervalos y proceder de la misma manera hasta obtener un número n(multiplo de 3) de intervalos. Aplicando a trio de intervalos la ecuación anterior se obtiene... xn

 f(x)dx 

x0

3h f(x 0 )  3f(x1)  3f(x 2 )  f(x 3 )  f(x 3 )  3f(x 4 )  3f(x 5 )  f(x 6 )  8 

...  f(x n 3 )  3f(x n 2 )  3f(x n1)  f(x n )

n es un valor multiplo de 3

que simplificando resulta... xn

 f(x)dx 

x0

3h  f(x 0 )  3f(x1)  3f(x 2 )  2f(x 3 )  3f(x 4 )  3f(x 5 )  2f(x 6 )  ...  2f(xn 3 )  3f(xn 2 )  3f(xn1)  f(xn ) 8

97 Integración numérica fórmula denominada regla compuesta de 3/8 de Simpson. Esta expresión se puede simplificar como… xn

 f(x)dx 

(4.10)

x0

k k 1 3h   f(x 0 )  f(x n )  3 f(x 3i  2 )  f(x 3i 1)  2 f(x 3i ) =S3/8  8  i 1 i 1 

donde n=3k

Ejemplo 4.7 0.9

e

Calcular

sen(x)

dx mediante el regla de 3/8 de Simpson con n = 9 intervalos. Utilizar 10 cifras significativas.

0

La longitud h de los intervalos es h 

0.9  0  0.1 9

i

xi

f(xextremos)

f(xmúltiplos de 3)

f(xno múltiplos de 3)

0

0

e sen(0)  1

-----

-----

1

0.1

-----

-----

e sen(0.1)  1.104986830

2

0.2

-----

-----

e sen(0.2)  1.219778556

3

0.3

-----

e sen(0.3)  1.343825243

-----

4

0.4

-----

-----

e sen(0.4)  1.476121946

5

0.5

-----

-----

e sen(0.5)  1.615146296

6

0.6

-----

e sen(0.6)  1.758818845

-----

7

0.7

-----

-----

e sen(0.7)  1.904496534

8

0.8

-----

-----

e sen(0.8)  2.049008650

9

0.9

e sen(0.9)  2.188741912

-----

-----

3.188741912

3.102644088

9.369538812

 f(x) 0.9

e

sen(x)

dx 

0

3(0.1) 3.319776824+2(3.102644088)+3(9.369538812)=1.406349244=S93/8 8 

El valor exacto de esta integral a 10 cifras significativas es 1.406354371, por lo que el error es… e  1.406354371-1.406349244  0.000005127

la precisión es similar a la regla de 1/3 de Simpson.

4.3.3 REGLAS DE SIMPSON UTILIZANDO DERIVE 6. Con programación funcional, la función SUM y las expresiones (4.8) y (4.10), modificadas de la siguiente forma… xn

x0 xn

(4.10a)

h

 f(x)dx  3 f(x

(4.8a)

 f(x)dx 

x0

0

k k 1  )  f(x n )  4 f(x 0  (2i  1)h)  2 f(x 0  (2i)h) =S1/3 i 1 i 1 

donde n=2k

k k 1 3h   f(x 0 )  f(x n )  3 f(x 0  (3i  2)h)  f(x 0  (3i  1)h)  2 f(x 0  (3i)h) =S3/8  8  i 1 i 1 

la automatización de los métodos de Simpson es…

donde n=3k

98 Integración numérica #1: F(x) := #2: SIMP13(in, fin, n) := ((fin–in)/(3n))(F(in)+F(fin)+4SUM(F(in+(2i–1)((fin–in)/n)),i ,1 ,n/2) + 2SUM( F(in+(2i)((fin– in)/n)),i ,1 , n/2–1)) #3: SIMP38(in, fin, n) := (3(fin–in)/(8n))(F(in)+F(fin)+3SUM(F(in+(2i–2)((fin–in)/n))+ F(in+(2i–1)((fin–in)/n)),i ,1 ,n/3) + 2SUM( F(in+(2i)((fin–in)/n)),i ,1 , n/3–1))

En base a la expresión (4.9) y los programas para el método del punto medio y de los trapecios, la regla de 1/3 de Simpson se puede automatizar como… #4: SIMP13_(in, fin, n) := (2MED(in, fin, n/2)+ TRAP(in, fin, n/2))/3

4.4 FÓRMULAS DE NEWTON – COTES. Las fórmulas de Newton–Cotes son una generalización de las fórmulas del trapecio y de Simpson, es decir, una aproximación por polinomios interpoladores de cualquier grado para hallar una estimación de las integrales numéricas. El siguiente cuadro resume las fórmulas de Newton–Cotes hasta el orden 5. n

Regla

1

Trapecios

Fórmula x1

h

 f(x)dx  2 f(x

x0 x2

2

h

 f(x)dx  3 f(x

Simpson 1/3

x0 x3

3

 f(x)dx 

Simpson 3/8

x0 x4

4

2h

x0 x5

5h

 f(x)dx  288 19f(x

5

x0

0

)  f(x1)

)  4f(x1)  f(x 2 )

3h f(x 0 )  3f(x1)  3f(x 2 )  f(x 3 ) 8 

 f(x)dx  45 7f(x

Boole

0

0

0

)  32f(x1)  12f(x 2 )  32f(x 3 )  7f(x 4 )

)  75f(x1)  50f(x 2 )  50f(x 3 )  75f(x 4 )  19f(x 5 )

4.5 ERROR EN MÉTODOS DE INTEGRACIÓN. El error de los métodos de integración se deduce en base a un análisis por series de Taylor, cuyo análisis no se va a detallar en este texto. El siguiente cuadro define la expresiones del error para los métodos estudiados anteriormente… Regla

Orden

Error estimado o aproximado e

Rectángulos

O(h)

xn

 f(x)dx  R

n

x0



nh2  , donde  es el valor máximo que to2

ma la primera derivada en el intervalo [xo , xn] de integración, es decir, f '(x)   para [xo , xn].

Punto medio

O(h2)

e

xn

 f(x)dx  Mn 

x0

nh3  , donde  es el valor máximo que 24

toma la segunda derivada en el intervalo [xo , xn] de integración, es

99 Integración numérica decir, f ''(x)   para [xo , xn].

e

 f(x)dx  T

n

x0

O(h2)

Trapecios

xn



nh3  , donde  es el valor máximo que to12

ma la segunda derivada en el intervalo [xo , xn] de integración, es decir, f ''(x)   para [xo , xn]. e

xn

1/ 3  f(x)dx  Sn 

x0

Simpson 1/3

4

O(h )

nh5  , donde  es el valor máximo que 180

toma la cuarta derivada en el intervalo [xo , xn] de integración, es decir, f(4)(x)   para [xo , xn].

e

Simpson 3/8

xn

3/8  f(x)dx  Sn 

x0

O(h4)

nh5  , donde  es el valor máximo que 80

toma la cuarta derivada en el intervalo [xo , xn] de integración, es decir, f(4)(x)   para [xo , xn].

De la tabla se puede observar que los métodos del punto medio y trapecios, así como las reglas de Simpson tienen un error del mismo orden lo que significa que van a producir un número semejante de cifras decimales de precisión. Ejemplo 4.8 1

Calcular  esen(x)dx mediante: 0

a.) Método de los rectángulos con n = 10, b.) Método del punto medio con n = 10. c.) La regla de los trapecios con n = 10. d.) La regla de 1/3 de Simpson con n = 10. e.) La regla de 3/8 de Simpson con n = 9. Utilizar 10 cifras significativas. Además en cada caso estimar los errores, comparándolos con los valores de error exacto. Los ejemplos 4.1, 4.2, 4.3, 4.5 y 4.7 generaron los siguientes resultados… n

Método

Valor aproximado de la integral

Error exacto

10

Rectángulos

1.566092481

0.065777127

10

Punto medio

1.631763539

0.000106069

10

Trapecios

1.632081322

0.0002117142

100 Integración numérica 10

Simpson 1/3

1.631867336

0.000002272

9

Simpson 3/8

1.406349244

0.000005127

Se procederá ahora a la estimación para ello es necesario determinar el máximo valor que toman la primera, segunda y cuarta derivadas de f(x)  esen(x) en el intervalo [0, 1], para ello deduzcamos dichas derivadas y grafiquémoslas en el intervalo mencionado… f(x)  esen(x) cos(x) f(x)  esen(x) cos2 (x)  sen(x) f(4)(x)  esen(x) cos4 (x)  cos2 (x)(6sen(x)  7)  sen(x)  3 

valor máximo 

valor máximo 

101 Integración numérica

valor máximo 

La siguiente tabla calcula los valores de error estimado para cada caso… n

Método

10

Rectángulos

10

Punto medio

10

Trapecios

10

Simpson 1/3

9

Simpson 3/8

Error estimado

Error exacto

nh2 (10)(0.1)2  1.47  0.0735 2 2

0.065777127

nh3 (10)(0.1)3  1.275  0.00053125 24 24

0.000106069

nh3 (10)(0.1)3  1.275  0.0010625 12 12

0.0002117142

eest 

nh5 (10)(0.1)5  5.73  0.0000031833 180 180

0.000002272

eest 

nh5 (9)(0.1)5  5.73  0.00000644625 80 80

0.000005127

eest  eest  eest 

Como se puede verificar en todos los casos eest > eexacto, lo cual demuestra que el error estimado es conservador. Ejemplo 4.9 0.8

Determine el valor de h necesario para calcular

 sen(e )dx , mediante el método de los trapecios con hasta x

0

dos cifras decimales de precisión y calcule el valor de la integral. Para los cálculos considere  = 5.284. nh3   0.001, 12 3

pero

 0.8  n   n  5.284  0.001 12

h

0.8  0 n

102 Integración numérica 0.512 n2 5.284  0.001 12

0.512 5.284  0.001 12n2 n2 

(0.512)(5.284) 12(0.001)

n

(0.512)(5.284)  15.01  15 12(0.001)

h

0.8  0.0533333 15

i

xi

f(xextremos)

0

0

0.84147098

1

0.053333333

0.86979228

2

0.106666667

0.89683556

3

0.16

0.92211469

4

0.213333333

0.94506624

5

0.266666667

0.96504242

6

0.32

0.98130479

7

0.373333333

0.99301922

8

0.426666667

0.99925301

9

0.48

0.99897512

10

0.533333333

0.99106099

11

0.586666667

0.97430344

12

0.64

0.94743192

13

0.693333333

0.90914242

14

0.746666667

0.85814088

15

0.8

0.79320348

 f(x) 0.8

 sen(e )dx  x

0

f(xintermedios)

1,63467447

26,5029659

0.053333333 (1.63467447  26.5029659)  0.750337072 2

El valor exacto es 0.7507863514, lo cual demuestra de la exactitud de por lo menos dos cifras decimales como se pidió.

4.6 INTEGRACIÓN DE ROMBERG. El método de Romberg es un procedimiento para mejorar el resultado de una integral numérica en base a

103 Integración numérica considerar el error cometido, y utilizarlo como fuente para aumentar la precisión. La integral exacta, se puede expresar, para el método de los trapecios, como… b

Iex   f(x)dx  T  e a

donde Iex es el valor exacto de la integral, T es el valor aproximado obtenido mediante la aplicación del método de los trapecios a n intervalos y e es el error exacto cometido. Tanto T como e dependen del valor h, por lo que la anterior expresión se puede reescribir como… Iex  T(h)  e(h)

Si se calcula una misma integral con dos valores diferentes de h, por ejemplo h1 y h2, se tiene… Iex  T(h1)  e(h1)  T(h2 )  e(h2 )

(A)

por otro lado se tiene que el error para el método de los trapecios se puede escribir como… e(h) 

nh3 (b  a)h2   12 12

si se considera que  es un valor constante para el intervalo de integración [a, b], entonces… e(h1) h12  e(h2 ) h22

rearreglando la anterior ecuación… h  e(h1)  e(h2 ) 1   h2 

2

y reemplazando en la expresión (A)… 2

h  T(h1)  e(h2 ) 1   T(h2 )  e(h2 )  h2 

resolviendo para e(h2)… 2

h  e(h2 ) 1   e(h2 )  T(h2 )  T(h1)  h2  T(h2 )  T(h1) T(h1)  T(h2 ) e(h2 )   2 2  h1   h1  1     1  h2   h2 

por lo que… Iex  T(h2 )  e(h2 ) Iex  T(h2 ) 

T(h1)  T(h2 ) h  1  1   h2 

2



h22 T(h1)  h12 T(h2 ) h22  h12

(B)

104 Integración numérica la precisión mediante esta estimación de la integral exacta es mejor que la obtenida aplicando la simple regla de trapecios con n intervalos. Si se considera que h2 

Iex

Iex

h1 ba , donde h1  , entonces se obtiene… 2 n

h12 1 T(h1)  h12 T(h2 ) T(h1)  T(h2 ) 4 4   1 h12 1  h12 4 4 4 1  T(h2 )  T(2h2 )  R1(h2 ) 3 3

Ejemplo 4.10 1

Mejorar la precisión de  esen(x)dx mediante el empleo de h1 = 0.1, h2 = 0.05. Utilizar 10 cifras significativas. 0

Para h1 = 0.1, se tiene n = 10, con h2 = 0.05 , n = 20. Utilizando la función TRAP(in, fin, n), se obtiene… T10 = 1.632081322 T20 = 1.631922431 y… 1

e

sen(x)

dx 

0

4 1 4 1 T(h2 )  T(2h2 )  (1.631922431)  (1.632081322)  1.631869467 3 3 3 3

El valor exacto de esta integral a 10 cifras significativas es 1.631869608, por lo que el error es… e  1.631869608-1.631869467  0.000000141

la precisión respecto a T20(0.000052823) ha mejorado. La expresión (B) anterior, aumenta el orden del error de O(h2) a O(h4) al sustituir h2  sustituir h2 

h1 , y de O(h2) a O(h6) al 2

h1 , obteniendose en este último caso la expresión… 4

Iex 

16 1 T(h2 )  T(2h2 )  R2 (h2 ) 15 15

El siguiente cuadro resumen este procedimiento de reducción de h y aumento de orden… k

h1

h2

1

h1,1

h1,2 

2

h2,1  h1,2

h2,2 

3

h3,1  h2,2

h3,2 

Integral de Romberg h1,1

h2,1 2 h3,1 2





4 1 T(h1,2 )  T(2h1,2 ) 3 3

O(h1,2 4 )

R2 (h2,2 ) 

16 1 R1(h2,2 )  R1(2h2,2 ) 15 15

O(h2,26 )

R3 (h3,2 ) 

64 1 R2 (h3,2 )  R2 (2h3,2 ) 63 63

O(h3,2 8 )

R1(h1,2 ) 

2 h1,2 2 h2,2 2

O(h2 )

105 Integración numérica

h4,1  h3,2

4

h4,2 

h4,1 2

h3,2



256 1 R3 (h4,2 )  R3 (2h4,2 ) 255 255

R4 (h4,2 ) 

2

O(h4,210 )

Este proceso se puede generalizar por la expresión… b

 f(x)dx 

(4.11)

4k Rk 1(hk,2 )  Rk 1(2hk,2 )

a

4k  1

 Rk (hk,2 )

donde

R0  T(regla trapezoidal)

conocida como Integral de Romberg. La aplicación sucesiva de este procedimiento se conoce como método de 2 integración de Romberg. El orden del error cometido por la expresión (4.11) es O(h2k ). 2

En lugar de los valores para h, es más conveniente generar las Integrales de Romberg mediante el uso del número de intervalos n, el siguiente cuadro muestra el proceso… n

Trapecios Orden del error

R1

R2

R3

O(h4)

O(h6)

O(h8)

----

----

----

----

----

n

Tn

2n

T2n

R1,n 

4 1 T2n  Tn 3 3

4n

T4n

R1,2n 

4 1 T4n  T2n 3 3

R2,n 

16 1 R1,2n  R1,n 15 15

8n

T8n

R1,4n 

4 1 T8n  T4n 3 3

R2,2n 

16 1 R1,4n  R1,2n 15 15

R3,n 

64 1 R2,2n  R2,n 63 63

16n

T16n

R1,8n 

4 1 T16n  T8n 3 3

R2,4n 

16 1 R1,8n  R1,4n 15 15

R3,2n 

64 1 R2,4n  R2,2n 63 63

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

n

Trapecios

.

Orden del error

R4

. . .

O(h10)

. . .

n

Tn

----

. . .

2n

T2n

----

. . .

4n

T4n

----

. . .

8n

T8n

----

. . .

16n

T16n

. . .

. . .

R4,n 

256 1 R3,2n  R3,n 255 255

. . .

. . .

----

106 Integración numérica Ejemplo 4.11 1

Mejorar la precisión de

e

sen(x)

dx mediante el método de integración de Romberg a partir de h1 = 0.1, hasta

0

lograr 10 cifras significativas de precisión. k

h1

n1

1

h1,1  0.1

10

2

h2,1  h1,2  0.05

20

h2 h1,2  h2,2 

0.1  0.05 2

0.05  0.025 2

Cifras significativas de precisión

n2

O(hk,2 2k  2 )

20

O(h1,2 4 )

(0.05)4  0.00000625

40

O(h2,26 )

(0.025)6  0.000000000244

(aprox.)

10 cifras significativas de precisión

entonces la integral de Romberg, para k = 2, es… 1

sen(x)  e dx 

42 R1(h2,2 )  R1(2h2,2 ) 2

4 1

0



16R1(h2,2 )  R1(2h2,2 ) 15

donde h  4T  1,2   T(h1,2 ) 2  h  R1(h2,2 )  R1  1,2    ,y 3  2  4T(0.025)  T(0.05) R1(0.025)  3 4T h1,2   T(2h1,2 )  h  R1(2h2,2 )  R1  2 1,2   R1 h1,2   3  2  4T(0.05)  T(0.1) R1(0.05)  3

h = 0.1, corresponde a n = 10 intervalos, h = 0.05, corresponde a n = 20 intervalos, y h = 0.025, corresponde a n = 40 intervalos entonces… R1(0.025)  R1(0.05) 

4T40  T20 3

4T20  T10 3

Utilizando la función TRAP(in, fin, n), se obtiene… T10 = 1.632081322 T20 = 1.631922431 T40 = 1.631882807



16R1(0.025)  R1(0.05) 15

107 Integración numérica

R1(0.025)  R1(0.05) 

4T40  T20 4(1.631882807)  1.631922431   1.631869599 3 3

4T20  T10 4(1.631922431)  1.632081322   1.631869467 3 3

finalmente,… 1

e

sen(x)

dx 

0

16R1(0.025)  R1(0.05) 16(1.631869599)  1.631869467   1.631869608 15 15

La integral exacta a 10 cifras significativas de precisión calculada con Derive 5 es 1.631869608, que coincide exactamente con el valor obtenido mediante el método de integración de Romberg. La resolución se puede realizar también mediante el esquema de n, así… n

Trapecios

R1

Orden del error

10

1.632081322

----

----

20

1.631922431

R1,10

40

4

4 1 (1.631922431)  (1.632081322) 3 3  1.631869467

 1 0  h20      20  0.00000625

4 1 (1.631882807)  (1.631922431) 3 3  1.631869599

 1 0  h40      40  0.000000390625

R1,10 

4

R1,20 

1.631882807

R1,20

n

R2

Orden del error

10

----

----

20

----

---6

40

R1,20 R1,20

16 1  (1.631869599)  (1.631869467) 15 15  1.631869608

 1 0  h40      40  0.000000000244140625

10 cifras significativas de precisión

Ejemplo 4.12 La concentración C, en gramos/litro, de una medicina para la alergia en el cuerpo esta modelada por: C(t)  12  6.69ln(t2  4t  6)

0t4

donde t es el tiempo en horas desde que la medicina se toma. Encontrar el nivel promedio de concentración en el cuerpo en un período de 4 horas, usando: a.) La regla trapezoidal con n = 6 b.) La regla trapezoidal con n = 12 c.) Estimar una valor más exacto del nivel utilizando el método de Romberg.

108 Integración numérica

a.) La longitud h de la base de los trapecios es h 

40 2  6 3

i

Xextremos

xintermedios

f(xextremos)

f(xintermedios)

0

0

-----

12  6.69ln(02  4(0)  6)  0.01312915088

-----

1

-----

2/3

-----

12  6.69ln((2 / 3)2  4(2 / 3)  6)  3.108080512

2

-----

4/3

-----

12  6.69ln((4 / 3)2  4(4 / 3)  6)  6.020358409

3

-----

2

-----

12  6.69ln(22  4(2)  6)  7.362845362

4

-----

8/3

-----

12  6.69ln((8 / 3)2  4(8 / 3)  6)  6.020358409

5

-----

10/3

-----

12  6.69ln((10 / 3)2  4(10 / 3)  6)  3.108080512

6

4

-----

12  6.69ln(42  4(4)  6)  0.01312915088

-----

0.02625830177

25.61972320

 f(x) 4

 2/3  0.02625830177+2(25.61972320)=17.08856823=T6 2  

 C(t)dt   0

b.) La longitud h de la base de los trapecios es h 

40 1  12 3

i

Xextremos

xintermedios

f(xextremos)

f(xintermedios)

0

0

-----

12  6.69ln(02  4(0)  6)  0.01312915088

-----

1

-----

1/3

-----

12  6.69ln((1/ 3)2  4(1/ 3)  6)  1.537003648

2

-----

2/3

-----

12  6.69ln((2 / 3)2  4(2 / 3)  6)  3.108080512

3

-----

1

-----

12  6.69ln(12  4(1)  6)  4.650283788

4

-----

4/3

-----

12  6.69ln((4 / 3)2  4(4 / 3)  6)  6.020358409

5

-----

5/3

-----

12  6.69ln((5 / 3)2  4(5 / 3)  6)  7.001135651

6

-----

2

-----

12  6.69ln(22  4(2)  6)  7.362845362

7

-----

7/3

-----

12  6.69ln((7 / 3)2  4(7 / 3)  6)  7.001135651

8

-----

8/3

-----

12  6.69ln((8 / 3)2  4(8 / 3)  6)  6.020358409

109 Integración numérica

9

-----

3

-----

12  6.69ln(32  4(3)  6)  4.650283788

10

-----

10/3

-----

12  6.69ln((10 / 3)2  4(10 / 3)  6)  3.108080512

11

-----

11/3

-----

12  6.69ln((11/ 3)2  4(11/ 3)  6)  1.537003648

12

4

-----

12  6.69ln(42  4(4)  6)  0.01312915088

-----

0.02625830177

51.99656938

 f(x) 4

 1/ 3  0.02625830177+2(51.99656938)=17.33656617=T12 2  

 C(t)dt   0

c.) Por el método de Romberg, con h1 = 2/3 y h2 = h1/2 = 1/3

R1(1/ 3) 

4T(1/ 3)  T(2 / 3) 4(17.33656617)  (17.08856823)   17.41923215 3 3

resultado que tiene una precisión mínima de (1/ 3)4  0.01234567901, es decir, por lo menos la primera cifra decimal es exacta. El valor exacto a 10 cifras decimales es 17.41917543, por lo que en realidad el valor corregido de Romberg esta generando… e  17.41917543-17.41923215  0.00005672

4 cifras decimales exactas.

110 Ecuaciones diferenciales ordinarias

CAPÍTULO ECUACIONES DIFERENCIALES ORDINARIAS

5

Las ecuaciones diferenciales son expresiones matemáticas, donde a más de las variables usuales x, y, z…etc., aparecen derivadas de cualquier orden de una variable respecto de otras, así por ejemplo… dy  ysen(x)  z 2  y dx

si únicamente están presentes las variables x(variable independiente) y y(variable dependiente) y una o más derivadas de cualquier orden de y respecto de x, la ecuación se denomina ecuación diferencial ordinaria; además el orden de la derivada más alta define el orden de la ecuación diferencial, así… dy  sen(x)  cos(y) Ec. dif. ordinaria de 1er orden dx dy d2 y x 2 y  x 2  y Ec. dif. ordinaria de 2do orden dx dx d3 y dy  ey  x 2 y  1 Ec. dif. ordinaria de 3er orden dx dx 3

Las ecuaciones aparecen de forma natural al generar un modelo de un fenómeno de la vida real en cualquier ciencia aplicada, por lo que su resolución es vital para definir el modelo. A pesar de ello es posible resolver analíticamente sólo algunos pocos tipos de ecuaciones diferenciales por lo que se hace absolutamente necesario el conocimiento de métodos numéricos que permitan resolver ecuaciones diferenciales. De aquí en adelante se nominará como ecuación diferencial a una ecuación diferencial ordinaria y se tratarán en este capítulo solo ecuaciones diferenciales ordinarias de primer orden.

5.1 SOLUCIÓN GENERAL Y PARTICULAR DE UNA ECUACIÓN DIFERENCIAL Toda ecuación diferencial presenta dos tipos de soluciones: una solución general y una particular; la primera proviene de integrar la ecuación diferencial y obtener la solución en función de la o las constantes de integración, el siguiente ejemplo aclara esta situación… Ejemplo 5.1 Hallar la solución general de la ecuación diferencial

dy  x2 dx

Si se despejan las diferenciales de la derivada se tiene… dy  x 2 dx

integrando a cada lado de la expresión…

 dy   x dx 2

resolviendo las integrales indefinidas…

111 Álgebra Lineal Numérica

yA

x3 B 3

x3 B A 3 x3 y C 3 y

por lo que la solución general de la ecuación diferencial dada es y 

x3  C , siendo C una constante cuales3

quiera. Si a más de solamente la ecuación diferencial se conoce una o más parejas de valores (x, y), llamadas condiciones iniciales, tal que a través de ellas se pueda determinar el valor de la constante de integración, la solución general pasará a denominarse solución particular, así para el ejemplo anterior… Ejemplo 5.2 Hallar la solución particular de la ecuación diferencial

Dado que la solución general es y 

dy  x 2 , si y = 2 para x = 1. dx

x3  C , entonces sustituyendo en ella x = 1, y = 2, se tiene… 3 (1)3 C 3 1 2  C 3 1 5 C 2  3 3 2

por lo que la solución particular en este caso es y 

x3 5  . 3 3

Los métodos numéricos requieren del conocimiento de las condiciones iniciales para su ejecución. En el presente texto se van a revisar únicamente métodos numéricos de resolución de ecuaciones diferenciales de primer orden.

5.2 MÉTODOS DE EULER Son los métodos más simples, compactos aunque menos precisos y utilizan aproximaciones por diferencias para las derivadas. Los métodos de Euler son: 

Método de Euler hacia adelante.



Método de Euler hacia atrás, y



Método de Euler modificado.

Seguidamente se analiza cada uno…

5.2.1 MÉTODOS DE EULER HACIA ADELANTE Y HACIA ATRÁS Considérese la ecuación diferencial de primer orden

dy  f(x,y) , si se substituye en ella la primera derivada su dx

112 Álgebra Lineal Numérica aproximación por diferencias hacia adelante (Ec. (3.1)), dada por…

dy y i 1  y i ,  dx h

con

h  x i 1  x i

entonces se obtiene la expresión… y i 1  yi  f(x,y) h

de donde,

(5.1)

y i 1  yi  hf(x i ,y i )

ecuación que aplicada de forma iterativa, a partir de las condiciones iniciales (x0, y0), permite hallar el conjunto solución y 0 ,y1,y 2 ,... para la ecuación diferencial dada, tal como lo muestra el siguiente ejemplo… Ejemplo 5.3 Hallar la solución de la ecuación diferencial

dy  xy para el intervalo [1, 2] , si y0 = 2 para x0 = 1, mediante dx

el método de Euler hacia adelante. Compare dicha solución con la solución exacta expresada mediante y(x)  2e

x 2 1 2

. Utilice h = 0.2

y 0  2 para x0 = 1 y1  y 0  h(x 0 y 0 )  2  (0.2)(1)(2)  2.4 para x1 = 1.2 y 2  y1  h(x1y1)  2.4  (0.2)(1.2)(2.4)  2.976 para x2 = 1.4 y 3  y 2  h(x 2 y 2 )  2.976  (0.2)(1.4)(2.976)  3.80928 para x3 = 1.6 y 4  y 3  h(x 3 y 3 )  3.80928  (0.2)(1.6)(3.80928)  5.0282496 para x4 = 1.8 y 5  y 4  h(x 4 y 4 )  5.0282496  (0.2)(1.8)(5.0282496)  6.838419456 para x5 = 2

la solución aproximada está dada por la tabla…

i

xi

yi

0 1 2 3 4 5

1 1.2 1.4 1.6 1.8 2

2 2.4 2.976 3.80928 5.0282496 6.838419456

Graficando la solución aproximada y la solución exacta se tiene…

113 Álgebra Lineal Numérica

Solución exacta

Solución aproximada

es de notar que mientras se incrementa xi, la solución aproximada se aleja más de la exacta. Si en lugar de emplear la aproximación por diferencias hacia adelante se utiliza la aproximación por diferencias hacia atrás, expresada mediante…

dy y i  y i 1 ,  dx h

con

h  x i  x i 1

se tiene, y i  yi 1  f(x,y) h

de donde,

(5.2)

y i 1  y i  hf(x i ,y i )

expresión que aplicada iterativamente a partir de las condiciones iniciales (x0, y0), permite hallar el conjunto solución y 0 ,y 1,y 2 ,... para la ecuación diferencial dada, tal como lo muestra el siguiente ejemplo… Ejemplo 5.4 Hallar la solución de la ecuación diferencial

dy  xy para el intervalo [0,1] , si y0 = 2 para x0 = 1, mediante el dx

método de Euler hacia atrás. Compare dicha solución con la solución exacta expresada mediante y(x)  2e

x 2 1 2

. Utilice h = 0.2

y 0  2 para x0 = 1 y 1  y 0  h(x 0 y 0 )  2  (0.2)(1)(2)  1.6 para x1 = 0.8

114 Álgebra Lineal Numérica y 2  y 1  h(x 1y 1)  1.6  (0.2)(0.8)(1.6)  1.344 para x2 = 0.6 y 3  y 2  h(x 2 y 2 )  1.344  (0.2)(0.6)(1.344)  1.18272 para x3 = 0.4 y 4  y 3  h(x 3 y 3 )  1.18272  (0.2)(0.4)(1.18272)  1.0881024 para x4 = 0.2 y 5  y 4  h(x 4 y 4 )  1.0881024  (0.2)(0.2)(1.0881024)  1.044578304 para x5 = 0

la solución aproximada está dada por la tabla… i

xi

yi

0 1 2 3 4 5

1 0.8 0.6 0.4 0.2 0

2 1.6 1.344 1.18272 1.0881024 1.044578304

Graficando la solución aproximada y la solución exacta se tiene…

Solución exacta

Solución aproximada

nuevamente la diferencia entre solución aproximada y exacta se incrementa al ir avanzando en el proceso iterativo. La precisión mejora en los métodos de Euler hacia adelante y hacia atrás si se reduce el tamaño del paso(h), como lo comprueban los siguientes ejemplos… Ejemplo 5.5 Mejore la precisión del ejemplo 5.3 tomando un valor de h = 0.1 Para el ejemplo 5.3…

115 Álgebra Lineal Numérica y 0  2 para x0 = 1 y1  y 0  h(x 0 y 0 )  2  (0.1)(1)(2)  2.2 para x1 = 1.1 y 2  y1  h(x1y1)  2.2  (0.1)(1.1)(2.2)  2.442 para x2 = 1.2 y 3  y 2  h(x 2 y 2 )  2.442  (0.1)(1.2)(2.442)  2.73504 para x3 = 1.3 y 4  y 3  h(x 3 y 3 )  2.73504  (0.1)(1.3)(2.73504)  3.0905952 para x4 = 1.4 y 5  y 4  h(x 4 y 4 )  3.0905952  (0.1)(1.4)(3.0905952)  3.523278528 para x5 = 1.5 y6  y 5  h(x 5 y 5 )  3.523278528  (0.1)(1.5)(3.523278528)  4.0517703072 para x6 = 1.6 y7  y6  h(x 6 y6 )  4.0517703072  (0.1)(1.6)(4.0517703072)  4.7000535564 para x7 = 1.7 y 8  y7  h(x 7 y7 )  4.7000535564  (0.1)(1.7)(4.7000535564)  5.4990626609 para x8 = 1.8 y 9  y 8  h(x 8 y 8 )  5.4990626609  (0.1)(1.8)(5.4990626609)  6.4888939399 para x9 = 1.9 y 9  y 8  h(x 8 y 8 )  6.4888939399  (0.1)(1.9)(6.4888939399)  7.7217837885 para x10 = 2

las soluciones aproximadas anterior y actual así como la solución exacta están dadas por la siguiente tabla… i

xi

yi (h = 0.2)

yi (h = 0.1)

yi (exacta)

0 1 2 3 4 5 6 7 8 9 10

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

2 --2.4 --2.976 --3.80928 --5.0282496 --6.838419456

2 2.2 2.442 2.73504 3.0905952 3.523278528 4.0517703072 4.7000535564 5.4990626609 6.4888939399 7.7217837885

2 2.2214212207 2.4921534611 2.8239798393 3.2321488043 3.7364919148 4.3629445309 5.1456267571 6.1297084065 7.3753781874 8.9633781406

La tabla muestra una mejoría evidente al reducir el valor de h, aunque como antes al aumentar el proceso iterativo el error también se incrementa. Para aumentar aún más la precisión es necesario reducir todavía el valor de h, lo que hace del método no tan práctico. Finalmente, graficando las soluciones aproximadas y la solución exacta se tiene…

116 Álgebra Lineal Numérica

Solución exacta Solución aproximada (h = 0.1)

Solución aproximada (h = 0.2)

que confirma lo deducido en la tabla.

5.2.2 MÉTODO DE EULER MODIFICADO El método de Euler si bien es simple, sien embargo, requiere de un valor de h muy pequeño para ser preciso lo que conlleva una gran cantidad de cálculos, es entonces necesario buscar una alternativa para mejorar dicha situación; esa alternativa es el método que se desarrollará seguidamente… Considérese la ecuación diferencial de primer orden

dy  f(x,y) , y en ella se procede a efectuar la integración dx

como sigue… dy  f(x,y) dx dy  f(x,y)dx yi 1



yi

dy 

x i 1

 f(x,y)dx

xi

x i 1

aplicando el método de los trapecios a

 f(x,y)dx , se tiene…

xi

y i 1  y i 

x i 1

h

 f(x,y)dx  2 f(x ,y )  f(x i

i

i 1

xi

,y i 1)

es decir, h y i 1  y i  f(x i ,y i )  f(x i 1,y i 1) 2

en esta última expresión se aplica el método de Euler hacia delante a y i 1 , en el miembro derecho y se tiene fi-

117 Álgebra Lineal Numérica nalmente… h y i 1  y i  f(x i ,y i )  f(x i 1,y i  hf(x i ,y i )) 2

ecuación que se aplica iterativamente, y se escribe de manera simplificada como… h y i 1  y i  k1  k 2  2 k1  f(x i ,y i )

(5.3)

donde

k 2  f(x i 1,y i  hf(x i ,yi ))

A continuación se ejemplifica este método… Ejemplo 5.6 Hallar la solución de la ecuación diferencial

dy  xy para el intervalo [1, 2] , si y0 = 2 para x0 = 1, utilizando dx

el método de Euler modificado. Compare dicha solución con la solución aproximada dada por el método de Euler hacia adelante y con la solución exacta expresada por la ecuación y(x)  2e

x 2 1 2

. Utilice h = 0.2

Para la ecuación diferencial dada se tiene que… k1  x i y i k 2  x i 1(y i  hx i y i )

así entonces… y 0  2 para x0 = 1 y1  y 0 

h 0.2  x 0 y 0  x1  y 0  hx 0 y 0    2  (1)(2)  1.2  2  (0.2)(1)(2)   2.488 para x1 = 1.2 2 2 

h 0.2  x1y1  x 2  y1  hx1y1    2.488  (1.2)(2.488)  1.4  2.488  (0.2)(1.2)(2.488)  2 2   3.2184768 para x 2  1.4 y 2  y1 

h 0.2  x 2 y 2  x 3  y 2  hx 2 y 2    3.2184768  (1.4)(3.2184768) 1.6  3.2184768  2 2  (0.2)(1.4)(3.2184768)   4.3282076006 para x 3  1.6 y3  y2 

h 0.2  x 3 y 3  x 4  y 3  hx 3 y 3    4.3282076006  (1.6)(4.3282076006) 1.8  4.3282076006 2 2  (0.2)(1.6)(4.3282076006)   6.0491029426 para x 4  1.8 y4  y3 

h 0.2  x 4 y 4  x 5  y 4  hx 4 y 4    6.0491029426  (1.8)(6.0491029426)  2  6.0491029426 2 2  (0.2)(1.8)(6.0491029426)   8.7832974727 para x 5  2 y5  y4 

las solución aproximada por este método así como el de Euler hacia adelante y la solución exacta están dadas por la siguiente tabla…

118 Álgebra Lineal Numérica i

xi

yi (E. adelante)

yi (E. modificado)

yi (exacta)

0 1 2 3 4 5

1 1.2 1.4 1.6 1.8 2

2 2.4 2.976 3.80928 5.0282496 6.838419456

2 2.488 3.2184768 4.3282076006 6.0491029426 8.7832974727

2 2.4921534611 3.2321488043 4.3629445309 6.1297084065 8.9633781406

es fácilmente observable que el método de Euler modificado da una solución bastante precisa aún más que aquella de Euler con paso h = 0.1. El gráfico siguiente confirma lo dicho…

Solución exacta

Solución aproximada (Euler modificado)

Solución aproximada (Euler hacia adelante)

la solución dada por el método de Euler modificado prácticamente se confunde con la solución exacta.

5.2.3 ERROR EN LOS MÉTODOS DE EULER El error en los métodos de Euler puede ser tratado muy minuciosamente con la ayuda de Series de Taylor, más ese estudio sale fuera del alcance introductorio de este texto y es más útil en todo caso revisar las consecuencias prácticas de dicho análisis. En el error en ecuaciones diferenciales ordinarias (EDO) es útil diferenciar dos clases de errores existentes, a saber… 

Error local y



Error global

Error local es el cometido durante un paso del proceso iterativo, desde yi hasta yi + 1, mientras que el error global es el error acumulada en yi, debido a todos los pasos previos. El error global en xi, es… eglobal  y iexacto  y iaproximado i

119 Álgebra Lineal Numérica donde y exacto es el valor generado por la solución exacta y yaproximado es el valor dado por el método numérico i i en estudio. El error local puede ser medido únicamente en la primera iteración del proceso, ya que en las subsiguientes se acumula error generando el error global. Un teorema importante del análisis numérico válido para EDO, afirma que si el error local es del orden O(hp+1) entonces el error global, para valores pequeños de h, será del orden O(hp), es decir… eglobal  y iexacto  yiaproximado  chp i

(5.4)

donde c es una constante que no depende de h

Para los métodos de Euler, el orden del error local y global, lo muestra la siguiente tabla… Orden del error

Método

Error local

Error global

Euler hacia adelante

O(h2)

O(h)

Euler hacia atrás

O(h2)

O(h)

Euler modificado

O(h3)

O(h2)

Los siguientes ejemplos estudian el error local y global. Ejemplo 5.7 Encuentre la solución aproximada para y(1.2) en la ecuación diferencial…

dy  x 2  sen(y 2 ) dx si y(1) = 0, utilizando el método de Euler hacia adelante con h = 0.2, h = 0.1, h = 0.05 y h = 0.01. Analice además el error local y global. El valor exacto a siete cifras decimales es y(1.2) = 0.2463119 i

xi

yi (h = 0.2)

yi (h = 0.1)

yi (h = 0.05)

yi (h = 0.01)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.1 1.11 1.12 1.13 1.14 1.15 1.16

0 ---------------------------------

0 ------------------0.1 -------------

0 --------0.05 --------0.1052499998 --------0.1663038666 ---

0 0.01 0.020202 0.03061008120 0.04122845097 0.05206144882 0.06311355273 0.07438938583 0.08589372335 0.09763150000 0.1096078176 0.1218279535 0.1342973685 0.1470217166 0.1600068536 0.1732588475 0.1867839887

120 Álgebra Lineal Numérica 17 18 19 20

1.17 1.18 1.19 1.2

------0.2

------0.2219999833

------0.2338115391

0.2005888006 0.2146800507 0.2290647628 0.2437502287

El error local se puede verificar donde exista un solo paso, es decir con h = 0,2; en este caso el orden es de O(h2), o sea (0.2)2 = 0.04, por lo que debe existir una sola cifra decimal exacta, y en efecto para h = 0.2 se tiene y(1.2) = 0.2, entonces.. local e1.2  0.2463119  0.2  0.0463119

lo que corrobora la única cifra decimal exacta. En los demás casos se presenta error global cuyo número mínimo de cifras decimales exactas lo determina el siguiente cuadro y se compara con los valores calculados… h

Orden del error global, O(h)

Valores calculados

0.1

Ninguna cifra decimal exacta

0.2219999833

0.05

Una cifra decimal exacta como mínimo

0.2338115391

0.01

Una cifra decimal exacta como mínimo

0.2437502287

Error global global e1.2  0.2463119  0.2220000 

 0.0243119 global e1.2  0.2463119  0.2338115 

 0.0125004 global e1.2  0.2463119  0.2437502 

 0.0025617

En los casos de h = 0.1 y h = 0.01, el orden del error previsto es conservador respecto de lo obtenido. Ejemplo 5.8 Encuentre la solución aproximada para y(0.5) en la ecuación diferencial… dy  x  ln(y) dx

si y(0) = 1, utilizando el método de Euler modificado con h = 0.5, h = 0.1 y h = 0.05. Analice además el error local y global. El valor exacto a siete cifras decimales es y(0.5) = 1.1476682. i

xi

yi (h = 0.5)

yi (h = 0.1)

yi (h = 0.05)

0 1 2 3 4 5 6 7 8 9 10

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

1 ------------------1.125

1 --1.005 --1.021018370 --1.049168174 --1.090599472 --1.146455331

1 1.00125 1.005126360 1.011762404 1.021296066 1.033868815 1.049624418 1.068707581 1.091262494 1.117431341 1.147352815

El error local se verifica con h = 0,5; en este caso el orden es de O(h3), o sea (0.5)3 = 0.125, por lo que no de-

121 Álgebra Lineal Numérica be existir una sola cifra decimal exacta como mínimo, sin embargo para h = 0.5 se tiene y(0.5) = 1.125, entonces.. elocal  1.1476682  1.125  0.0226682 0.5

existiendo una cifra decimal exacta. Para los otros valores de h se presenta error global cuyo número mínimo de cifras decimales exactas lo determina el siguiente cuadro y se compara con los valores calculados… h

h2

Orden del error global, O(h2)

Valores calculados

0.1

0.01

Una cifra decimal exacta (mínimo)

1.146455331

0.05

0.0025

Dos cifras decimales exactas (mínimo)

1.147352815

Error global eglobal  1.1476682  1.1464553  0.5  0.0012129 eglobal  1.1476682  1.1473528  0.5  0.0003154

En ambos casos el orden del error previsto es conservador respecto de lo obtenido. La expresión (5.4) se puede utilizar para mejorar el valor de una estimación de yi, en base a cálculos previos como lo demuestra el siguiente ejemplo… Ejemplo 5.9 Encuentre la solución aproximada para y(1.3) en la ecuación diferencial… dy  x2  y dx

si y(1) = 0, utilizando el método de Euler hacia adelante con h = 0.05 y h = 0.025. Mejore las anteriores estimaciones. El valor de y(1.3) a siete cifras decimales es 0.4592940

i

xi

yi (h = 0.05)

yi (h = 0.025)

0 1 2 3 4 5 6 7 8 9 10 11 12

1 1.025 1.05 1.075 1.1 1.125 1.15 1.175 1.2 1.225 1.25 1.275 1.3

0 --0.05 --0.107625 --0.17350625 --0.2483065625 --0.3327218906 --0.4274829851

0 0.025 0.051890625 0.08075039062 0.1116597753 0.1447012697 0.1799594265 0.2175209121 0.2574745599 0.2999114239 0.3449248345 0.3926104554 0.4430663418

Ambos resultados tienen como mínimo una cifra decimal exacta, lo cual es fácilmente corroborable en base al valor exacto.

122 Álgebra Lineal Numérica Por la relación (5.4), se tiene que… aprox(h  0.05) y1.3  y1.3  ch

(A)

para h = 0.05, y h 2 aprox(h  0.025)  2y1.3  ch

aprox(h  0.025) y1.3  y1.3 c

2y1.3

(B)

para h = 0.025. Restando (B) – (A) se tiene… aprox(h  0.025) aprox(h  0.05) y1.3  2y1.3  y1.3

que da una estimación más exacta que las anteriores, así… y1.3  2(0.4430663418)  (0.4274829851)  0.4586496985

ésta última estimación es exacta a 3 cifras decimales.

5.3 MÉTODOS DE TAYLOR Estos métodos utilizan el desarrollo de la serie de Taylor(ver Apéndice B) como instrumento para resolver la ecuación diferencial y 

dy  f(x,y) y la precisión del método dependerá del número de términos tomados de dx

la serie. La serie de Taylor se puede escribir como… f(x  h)  f(x)  hf (x)  h2 f (x)

1 1  h3 f (x)  ... 2! 3!

usando y en lugar de f, xi por x y xi+1 en vez de x + h, se convierte en… y(x i 1)  y(x i )  hy (x i )  h2 y(x i )

1 1  h3 y(x í )  ... 2! 3!

o de forma abreviada, y i 1  y i  hy i  h2 yi

1 1  h3 yi  ... 2! 3!

(A)

tomando los dos primeros términos de la serie (A), se tiene.. y i 1  y i  hyi

pero yi  f(x i ,yi ) , por lo que y i 1  yi  hf(x i ,y i )

expresión que corresponde al método por serie de Taylor de primer orden(ST1) y que no es sino el conocido método de Euler. Tomando los 3, 4 y 5 términos de la serie se tiene…

123 Álgebra Lineal Numérica h2 yi Metodo de serie de Taylor de 2do. orden(ST2) 2 h2 h3 y i 1  y i  hyi  yi  yi Metodo de serie de Taylor de 3er. orden(ST3) 2 6 h2 h3 h4 (4) y i 1  y i  hy i  y i  y i yi Metodo de serie de Taylor de 4to. orden(ST4) 2 6 24 Estos métodos involucran el calculo por derivación implícita de las derivadas de orden 2, 3, 4, … tal como lo y i 1  y i  hyi 

(5.5)

muestra el siguiente ejemplo… Ejemplo 5.10 Encuentre la solución aproximada para y(1.3) en la ecuación diferencial…

dy  x2  y dx si y(1) = 0, utilizando ST2 y ST4 con h = 0.1. El valor de y(1.3) a siete cifras decimales es 0.4592940 derivando implícitamente… yi  x i 2  y i yi  2x i  yi yi  2  yi y(4)  yi i

(a) Empleando ST2… y1  y 0  hy0 

h2 y0 2

con y0  0 y0  x 0 2  y 0  (1)2  0  1 y0  2x 0  y0  2(1)  1  3

por lo que… y1  y 0  hy 0 

h2 (0.1)2 y0  0  (0.1)(1)  (3)  0.115 para x1 = 1.1 2 2

y 2  y1  hy1 

h2 y1 2

con y1  0.115 y1  x12  y1  (1.1)2  0.115  1.325 y1  2x1  y1  2(1.1)  1.325  3.525

por lo que… y 2  y1  hy1 

h2 (0.1)2 y1  0.115  (0.1)(1.325)  (3.525)  0.265125 para x2 = 1.2 2 2

124 Álgebra Lineal Numérica finalmente…

y 3  y 2  hy2 

h2 y2 2

con y 2  0.265125 y2  x 2 2  y 2  (1.2)2  0.265125  1.705125 y2  2x 2  y2  2(1.2)  1.705125  4.105125

por lo que… y 3  y 2  hy 2 

h2 (0.1)2 y 2  0.265125  (0.1)(1.705125)  (4.105125)  0.4561631 para x3 = 1.3 2 2

el error es… global e1.3  0.4592940  0.4561631  0.0031309

lo que muestra la existencia de dos cifras decimales exactas. (a) Empleando ST4… y1  y 0  hy 0 

h2 h3 h4 (4) y0  y0  y0 2 6 24

con y0  0 y0  x 0 2  y 0  (1)2  0  1 y0  2x 0  y0  2(1)  1  3 y0  2  y0  2  3  5  y(4) 0  y0  5

entonces y1  y 0  hy 0 

h2 h3 h4 (4) (0.1)2 (0.1)3 (0.1)4 y0  y0  y 0  0  (0.1)(1)  (3)  (5)  (5)  0.1158542 2 6 24 2 6 24

x1 = 1.1 y 2  y1  hy1 

con y1  0.1158542 y1  x12  y1  (1.1)2  0.1158542  1.3258542 y1  2x1  y1  2(1.1)  1.3258542  3.5258542 y1  2  y1  2  3.5258542  5.5258542 y1(4)  y1  5.5258542

entonces

h2 h3 h4 (4) y1  y1 y1 2 6 24

para

125 Álgebra Lineal Numérica h2 h3 h4 (4) (0.1)2 y1  y1 y1  0.1158542  (0.1)(1.3258542)  (3.5258542)  2 6 24 2 (0.1)3 (0.1)4 (5.5258542)  (5.5258542)  0.2670129 6 24 y 2  y1  hy1 

para x1 = 1.2 y 3  y 2  hy 2 

h2 h3 h4 (4) y2  y2  y2 2 6 24

con y 2  0.2670129 y2  x 2 2  y 2  (1.2)2  0.2670129  1.7070129 y2  2x 2  y2  2(1.2)  1.7070129  4.1070129 y2  2  y2  2  4.1070129  6.1070129  y(4) 2  y 2  6.1070129

entonces h2 h3 h4 (4) (0.1)2 y2  y2  y 2  0.2670129  (0.1)(1.7070129)  (4.1070129)  2 6 24 2 (0.1)3 (0.1)4 (6.1070129)  (6.1070129)  0.4592925 6 24 y 3  y 2  hy2 

para x1 = 1.3 el error es… global e1.3  0.4592940  0.4592925  0.0000015

lo que muestra la existencia de cinco cifras decimales exactas. Como resulta evidente los métodos de series de Taylor de mayor orden producen mejores resultados, aunque a costa de un mayor número de cálculos.

5.3.1 ERROR EN LOS MÉTODOS DE TAYLOR El orden del error en los métodos de series de Taylor se resume en el siguiente cuadro… Método

Orden del error Error local

Error global

ST1(Método de Euler)

O(h2)

O(h)

ST2

O(h3)

O(h2)

ST3

O(h4)

O(h3)

ST4

O(h5)

O(h4)

El siguiente ejemplo ilustra el uso que se puede hacer del orden del error en los métodos de Taylor… Ejemplo 5.10 Encuentre la solución aproximada para y(1.2) en la ecuación diferencial…

126 Álgebra Lineal Numérica dy  xy dx si y(1) = 0, utilizando cualquier método por series de Taylor. El resultado debe poseer cinco cifras decimales exactas. Utilizando ST4, el error global es O(h4), entonces… h = 0.1

(0.1)4 = 0.0001 Se obtienen un mínimo de 3 cifras decimales exactas

h = 0.05

(0.05)4 = 0.00000625 Se obtienen un mínimo de 5 cifras decimales exactas

por lo que la elección adecuada es h = 0.05. derivando implícitamente… yi  x i  y i yi  1 yi yi  yi y(4)  yi i

y1  y 0  hy 0 

h2 h3 h4 (4) y0  y0  y0 2 6 24

y0  0 y0  x 0  y 0  1 0  1 y0  1 y0  1 1  2 y0  y0  2  y(4) 0  y0  2

y1  y 0  hy 0 

h2 h3 h4 (4) (0.05)2 (0.05)3 (0.05)4 y 0  y0  y 0  0  (0.05)(1)  (2)  (2)  (2)  0.05254219 2 6 24 2 6 24

para x1 = 1.05 y 2  y1  hy1 

h2 h3 h4 (4) y1  y1 y1 2 6 24

y1  0.05254219 y1  x1  y1  1.05  0.05254219  1.10254219 y1  1 y1  1 1.10254219  2.10254219 y1  y1  2.10254219 y1(4)  y1  2.10254219

h2 h3 h4 (4) (0.05)2 y1  y1 y1  0.05254219  (0.05)(1.10254219)  (2.10254219)  2 6 24 2 (0.05)3 (0.05)4 (2.10254219)  (2.10254219)  0.11034183 6 24 y 2  y1  hy1 

para x2 = 1.1 y 3  y 2  hy 2 

h2 h3 h4 (4) y2  y2  y2 2 6 24

127 Álgebra Lineal Numérica y 2  0.11034183 y2  x 2  y 2  1.1 0.11034183  1.21034183 y2  1 y2  1 1.21034183  2.21034183 y2  y2  2.21034183  y(4) 2  y 2  2.21034183

h2 h3 h4 (4) (0.05)2 y2  y2  y 2  0.11034183  (0.05)(1.21034183)  (2.21034183) 2 6 24 2 (0.05)3 (0.05)4 (2.21034183)  (2.21034183)  0.17366847  6 24 y 3  y 2  hy2 

para x3 = 1.15 y 4  y 3  hy 3 

h2 h3 h4 (4) y3  y3  y3 2 6 24

y 3  0.17366847 y3  x 3  y 3  1.15  0.17366847  1.32366847 y3  1 y3  1 1.32366847  2.32366847 y3  y3  2.32366847  y(4) 3  y 3  2.32366847

h2 h3 h4 (4) (0.05)2 y3  y3  y 3  0.17366847  (0.05)(1.32366847)  (2.32366847) 2 6 24 2 (0.05)3 (0.05)4 (2.32366847)  (2.32366847)  0.24280549  6 24 y 4  y 3  hy3 

para x4 = 1.2 El valor exacto a 8 cifras decimales exactas es 0.24280552, por lo que… global e1.2  0.24280552  0.24280549  0.00000003

lo que muestra que el resultado obtenido tiene como mínimo 5 cifras decimales exactas(en realidad existen 7 cifras decimales exactas). Nuevamente se comprueba que trabajar con el orden del error para determinar el número de cifras exactas lleva a cálculos por el lado conservador del análisis numérico.

5.4 MÉTODOS DE RUNGE–KUTTA Una de las dificultades del uso de los métodos por series de Taylor, es el empleo de la derivación implícita, ésta no esta presente en los métodos de Runge–Kutta cuya deducción matemática sale fuera del alcance de este libro, por lo que no se van a detallar.

5.4.1 MÉTODO DE RUNGE–KUTTA DE TERCER ORDEN El método de Runge–Kutta de tercer orden(RK3), para la ecuación diferencial y  diante… 1 y i 1  y i  (k1  4k 2  k 3 ) 6

dy  f(x,y) se define medx

128 Álgebra Lineal Numérica

(5.6)

donde… k1  hf(x i ,y i ) 1 1   k 2  hf  x i  h,y i  k1  2 2   k 3  hf(x i  h,y i  2k 2  k1)

El siguiente ejemplo muestra el uso de este procedimiento… Ejemplo 5.11 Encuentre la solución aproximada para y(1.4) en la ecuación diferencial…

dy  x y dx si y(1) = 0, utilice el método RK3 con h = 0.1. La respuesta exacta a 8 cifras decimales es 0.63848116. Se empleara…

1 y i 1  y i  (k1  4k 2  k 3 ) 6 con k1  hf(x i ,y i )  0.1( x i  y i )  k  1 1   k 2  hf  x i  h,y i  k1   0.1 x i  0.05  y i  1   2 2  2   



k 3  hf(x i  h,y i  2k 2  k1)  0.1

x i  0.1  y i  2k 2  k1



Así entonces… 1 y1  y 0  (k1  4k 2  k 3 ) 6 k1  0.1( x 0  y 0 )  0.1( 1  0)  0.1   k  0.1  k 2  0.1 1 0.05  0  1   0.1 1 0.05  0    0.12483019   2  2   









k 3  0.1 1 0.1  0  2k 2  k1  0.1 1 0.1  0  2(0.12483019)  0.1  0.14356685

1 y1  0  (0.1 4(0.12483019)  0.14356685)  0.12381460 para x1 = 1.1 6 1 y 2  y1  (k1  4k 2  k 3 ) 6 k1  0.1( x1  y1 )  0.1( 1.1  0.12381460)  0.14006818   k  0.14006818  k 2  0.1 1.1 0.05  0.12381460  1   0.1 1 0.05  0    0.15126630   2  2   







k 3  0.1 1.1 0.1  0.12381460  2k 2  k1  0.1 1 0.1  0  2(0.15126630)  0.14006818  0.16304960



129 Álgebra Lineal Numérica 1 y 2  0.12381460  (0.14006818  4(0.15126630)  0.16304960)  0.27517843 para x2 = 1.2 6 1 y 3  y 2  (k1  4k 2  k 3 ) 6 k1  0.1( x 2  y 2 )  0.1( 1.2  0.27517843)  0.16200196   k  0.16200196  k 2  0.1 1.2  0.05  0.27517843  1   0.1 1 0.05  0    0.17148417   2  2   







k 3  0.1 1.2  0.1  0.27517843  2k 2  k1  0.1 1 0.1  0  2(0.17148417)  0.16200196



 0.18155604

1 y 3  0.27517843  (0.16200196  4(0.17148417)  0.18155604)  0.44676090 para x3 = 1.3 6 1 y 4  y 3  (k1  4k 2  k 3 ) 6 k1  0.1( x 3  y 3 )  0.1( 1.3  0.44676090)  0.18085772   k  0.18085772  k 2  0.1 1.3  0.05  0.44676090  1   0.1 1 0.05  0    0.18948273   2  2   







k 3  0.1 1.3  0.1  0.44676090  2k 2  k1  0.1 1 0.1  0  2(0.18948273)  0.18085772



 0.19862531 1 y 4  0.44676090  (0.18085772  4(0.18948273)  0.19862531)  0.63632989 para x4 = 1.4 6

el error es entonces… global e1.4  0.63848116  0.63632989  0.00215127

lo que indica la presencia de 2 cifras decimales exactas.

5.4.2 MÉTODO DE RUNGE–KUTTA DE CUARTO ORDEN El método de Runge–Kutta de cuarto orden(RK4), para la ecuación diferencial y  el más utilizado de estos métodos se define mediante… 1 y i 1  y i  (k1  2k 2  2k 3  k 4 ) 6

donde… k1  hf(x i ,y i )

(5.7)

1 1   k 2  hf  x i  h,y i  k1  2 2   1 1   k 3  hf  x i  h,y i  k 2  2 2   k 4  hf(x i  h,y i  k 3 )

El siguiente ejemplo ilustra este método…

dy  f(x,y) generalmente dx

130 Álgebra Lineal Numérica Ejemplo 5.12 Encuentre la solución aproximada para y(1.3) en la ecuación diferencial… dy  x  y2 dx

si y(1) = 0, utilice el método RK4 con h = 0.1. La respuesta exacta a 8 cifras decimales es 0.33427343. Se utilizara…

1 y i 1  y i  (k1  2k 2  2k 3  k 4 ) 6 con k1  hf(x i ,yi )  0.1(x i  y i 2 ) 2  1 1  h  1    k 2  hf  x i  h,y i  k1   0.1 x i    y i  k1    2 2  2  2     2  1 1  h  1    k 3  hf  x i  h,y i  k 2   0.1 x i    y i  k 2    2 2  2  2    

k 4  hf(x i  h,y i  k 3 )  0.1(x i  h  (y i  k 3 )2 )

entonces… 1 y1  y 0  (k1  2k 2  2k 3  k 4 ) 6 k1  0.1(x 0  y 0 2 )  0.1 2  h  1   k 2  0.1 x 0    y 0  k1    0.10475  2  2    2  h  1   k 3  0.1 x 0    y 0  k 2    0.10472569  2  2    k 4  0.1(x 0  h  (y 0  k 3 )2 )  0.10890325

1 y1  y 0  (k1  2k 2  2k 3  k 4 )  0.10464244 para x1 = 1.1 6

1 y 2  y1  (k1  2k 2  2k 3  k 4 ) 6 k1  0.1(x1  y12 )  0.10890410 2  h  1   k 2  0.1 x1    y1  k1    0.11246888  2  2    2  h  1   k 3  0.1 x1    y1  k 2    0.11241186  2  2    k 4  0.1(x1  h  (y1  k 3 )2 )  0.11528874

131 Álgebra Lineal Numérica 1 y 2  y1  (k1  2k 2  2k 3  k 4 )  0.21696831 para x2 = 1.2 6 1 y 3  y 2  (k1  2k 2  2k 3  k 4 ) 6 k1  0.1(x 2  y 2 2 )  0.11529248 2  h  1   k 2  0.1 x 2    y 2  k1    0.11745869  2  2    2  h  1   k 3  0.1 x 2    y 2  k 2    0.11739908  2  2    k 4  0.1(x 2  h  (y 2  k 3 )2 )  0.11881984

1 y 3  y 2  (k1  2k 2  2k 3  k 4 )  0.33427295 para x3 = 1.3 6 el error es… global e1.4  0.33427343  0.33427295  0.00000048

lo que indica la presencia de 6 cifras decimales exactas.

5.4.3 ERROR EN LOS MÉTODOS DE RUNGE–KUTTA El orden del error en los métodos de Runge–Kutta se resume a continuación… Método

Orden del error Error local

Error global

RK3

O(h4)

O(h3)

RK4

O(h5)

O(h4)

Se deja al lector comprobar con el ejemplo anterior el orden de error indicado

5.5 MÉTODOS DE SOLUCIÓN DE EDOs DE PRIMER ORDEN CON DERIVE 6 Derive 5, dentro del archivo de utilidad Ode_appr.mth, posee dos funciones correspondientes a los métodos de Euler y RK4, para solución de ecuaciones diferenciales ordinarias de primer orden. EULER_ODE(f, x, y, x0, y0, h, n) se aproxima a un vector de n + 1 puntos de la solución de la ecuación y 

dy  f(x,y) con y = y0 en x = x0 empezando con x = x0 y usando un paso de h. dx

RK([f], [x, y], [x0, y0], h, n) usa el método de Runge-Kutta de cuarto orden(RK4) para aproximar la solución de la ecuación y 

dy  f(x,y) con y = y0 en x = x0 empezando con x = x0, h es el paso y n es el número de dx

iteraciones. RK devuelve una matriz de puntos con n + 1 aproximaciones. Ejemplo 5.13 Encuentre la solución aproximada para y(1.6) en la ecuación diferencial…

132 Álgebra Lineal Numérica dy  x 2  y2 dx si y(1) = 2, utilice el método de Euler y RK4 con h = 0.1 y h = 0.05. Utilice las funciones EULER y RK. Se carga la utilidad Ode_appr.mth…

Se escriben las funciones de acuerdo a lo pedido… EULER_ODE(x^2–y^2, x, y, 1, 2, 0.1, 6) RK([x^2–y^2f], [x, y], [1, 2], 0.1, 6) EULER_ODE(x^2–y^2, x, y, 1, 2, 0.05, 12) RK([x^2–y^2f], [x, y], [1, 2], 0.05, 12) Luego de aproximar se obtiene…

133 Álgebra Lineal Numérica

y,

5.6 APLICACIONES Las EDOs de primer orden tienen numerosas aplicaciones, aquí se revisarán unos pocos ejemplos de ello… Ejemplo 5.14 Física. Un paracaidista se lanza de un aeroplano y antes de abrir su paracaídas el arrastre debido a la resistencia del aire es proporcional a v1.5 . Por ello la ecuación del movimiento del paracaidista esta dada por dv  g  kv1.5 donde k = 0.05, g = 9.8 m/s2 y v(0) = 0. Determinar la velocidad del paracaidista cada medt

dio segundo. Se utiliza RK, mediante la orden RK([9.8–0.05*v^1.5], [t, v], [0, 0], 0.5, 98), obteniendose…

134 Álgebra Lineal Numérica t(s) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5

v(m/s) 0 4.793106301 9.219965304 13.17437709 16.62786062 19.59312055 22.10583387 24.21303637 25.96561345 27.41364417 28.60373270 29.57768156 30.37203125 31.01812723 31.54248246 31.96728292 32.31094043 32.58863623 32.81282445 32.99368113 33.13949459 33.25699858 33.35165286 33.42787713 33.48924458 33.53864104 33.57839529 33.61038534 33.63612489 33.65683349 33.67349334 33.68689528 33.69767595 33.70634774

t(s) 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24 24.5 25 25.5 26 26.5 27 27.5 28 28.5 29 29.5 30 30.5 31 31.5 32 32.5 33 33.5

v(m/s) 33.71332297 33.71893344 33.72344609 33.72707569 33.72999499 33.73234298 33.73423145 33.73575032 33.73697192 33.73795443 33.73874463 33.73938018 33.73989133 33.74030244 33.74063308 33.74089900 33.74111288 33.74128489 33.74142324 33.74153450 33.74162399 33.74169596 33.74175385 33.74180040 33.74183784 33.74186796 33.74189218 33.74191165 33.74192732 33.74193992 33.74195005 33.74195820 33.74196476 33.74197003

Un gráfico de la tabla anterior se muestra a continuación…

t(s) 34 34.5 35 35.5 36 36.5 37 37.5 38 38.5 39 39.5 40 40.5 41 41.5 42 42.5 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48

v(m/s) 33.74197427 33.74197768 33.74198042 33.74198263 33.74198440 33.74198583 33.74198698 33.74198790 33.74198864 33.74198924 33.74198972 33.74199011 33.74199042 33.74199067 33.74199087 33.74199103 33.74199116 33.74199126 33.74199135 33.74199142 33.74199147 33.74199151 33.74199155 33.74199158 33.74199159 33.74199159 33.74199159 33.74199159 33.74199159

135 Álgebra Lineal Numérica

velocidad terminal

el gráfico muestra la presencia de una velocidad constante a partir de los 46 s. aproximadamente, ésta es la llamada velocidad terminal. Ejemplo 5.14 Crecimiento poblacional. Un ecologista introduce 100 aves con el objeto de combatir una plaga de insectos. La experiencia muestra que el número N de las mismas puede ser modelado por la ecuación diferencial

dN  0.89N  0.003N1.9 donde t está en meses. El ecologista afirma que no hay peligro de que las aves se dt conviertan en una plaga ¿Por qué? Nuevamente se utiliza RK, mediante la orden RK([0.89–0.003*N^1.9], [t, N], [0, 100], 1, 29), obteniendose… t(mes) 0 1 2 3 4 5 6 7 8 9

N 100 188.0985332 300.5228543 405.0082009 477.7947448 519.1559280 540.0513810 549.9938562 554.5912846 556.6891718

Un gráfico de la tabla anterior es…

t(mes) 10 11 12 13 14 15 16 17 18 19

N 557.6407007 558.0710982 558.2655348 558.3533244 558.3929520 558.4108376 558.4189097 558.4225527 558.4241968 558.4249388

t(mes) 20 21 22 23 24 25 26 27 28 29

N 558.4252736 558.4254248 558.4254930 558.4255237 558.4255376 558.4255439 558.4255467 558.4255480 558.4255484 558.4255484

136 Álgebra Lineal Numérica

Este gráfico al igual que la tabla muestran que el número de aves se estabiliza en 558 a partir de 1 año aproximadamente de introducidas las aves, lo cual justifica la aseveración del ecologista que el crecimiento poblacional de las aves no constituye un problema de generación de plagas. Ejemplo 5.14 Ley de enfriamiento de Newton. Una taza de café que se halla inicialmente a 100C, se enfría de acuerdo a la ecuación diferencial

dT  0.03(T  20) donde T es la temperatura en C y t es el tiempo en minutos. Desdt

pués de 20 minutos cual es la temperatura del café. Las órdenes CaseMode := Sensitive RK([–0.03(T–20)], [t, T], [0, 100], 1, 20) generan la tabla… t(min) 0 1 2 3 4 5 6 cuyo gráfico es…

T(C) 100 97.63564269 95.34116271 93.11449486 90.95363499 88.85663818 86.82161699

t(min) 7 8 9 10 11 12 13

T(C) 84.84673977 82.93022898 81.07035966 79.26545777 77.51389880 75.81410622 74.16455010

t(min) 14 15 16 17 18 19 20

T(C) 72.56374573 71.01025228 69.50267150 68.03964647 66.61986036 65.24203527 63.90493106

137 Álgebra Lineal Numérica

El café se encuentra a una temperatura aproximada de 63.90C después de 20 minutos.

5.7 SOLUCIÓN DE SISTEMAS DE ECUACIONES DIFERENCIALES ORDINARIAS Los métodos numéricos empleados para resolver ecuaciones diferenciales ordinarias individuales se pueden emplear en la resolución de sistemas de ecuaciones diferenciales ordinarias con valor inicial. Se considerará a continuación los sistemas de ecuaciones diferenciales de primer orden. Considérese el siguiente sistema de dos ecuaciones diferenciales de primer orden…

dx  f(t,x,y) dt dy  g(t,x,y) dt

(A)

con las condiciones iniciales…

x(t 0 )  x 0 ,

y(t 0 )  y 0

(B)

Una solución del sistema dado es un par de funciones derivables x(t) e y(t) tales que cuando t, x(t) e y(t) se sustituyen en f(t,x,y) y g(t,x,y), el resultado es igual a

dx dy y respectivamente, es decir… dt dt

dx dt

t  t0

dy dt

t  t0

 f(t 0 ,x 0 ,y 0 )  g(t 0 ,x 0 ,y 0 )

Por ejemplo considérese el sistema de ecuaciones diferenciales…

138 Álgebra Lineal Numérica

dx  x  2y dt dy  3x  2y dt

 x(0)  6 ; la solución del problema de valor inicial es… y(0)  4

con condiciones iniciales 

x(t)  4e4t  2e t y(t)  6e4t  2e t lo que se puede verificar sustituyendo directamente

dx dy , , x(t) e y(t) en el sistema, así pues… dt dt

dx  16e4t  2e t dt dy  24e4t  2e t dt 4t t 4t t 4t t 4t t  2e  4e  2e  2(6e  2e  2e 16e )  16e     dx dt

x(t)

x(t) 2y(t)

y(t)

t t t t 4t 4t 4t 4t  2e  3(4e  2e  2e  2e 24e )  2(6e )  24e     dy dt

x(t)

3x(t) 2y(t )

y(t)

Se puede determinar una solución numérica del sistema (A) con condiciones iniciales (B) en un intervalo dado

a  t  b considerando las diferenciales…

dx  f(t,x,y)dt

y

dy  g(t,x,y)dt

(C)

El método de Euler para resolver este problema es fácil de formular, así: Sustituyendo en (C) los diferenciales por incrementos dt  t k 1  t k , dx  x k 1  x k y dy  yk 1  yk se obtiene…

x k 1  x k  f(t k ,x k ,yk )(t k 1  t k ) yk 1  yk  g(t k ,x k ,yk )(t k 1  t k ) Si se divide el intervalo en n subintervalos de anchura h 

ba , y empleando los puntos t k 1  t k  h como n

nodos, se obtienen las siguientes fórmulas recursivas…

t k 1  t k  h x k 1  x k  hf(t k ,x k ,y k ) yk 1  yk  hg(t k ,x k ,yk )

para

k  1,2,3,...,n  1

Para conseguir un grado de precisión razonablemente mejor, es necesario utilizar un método de orden mayor, por ejemplo el método de Runge-Kutta de orden 4, mediante el empleo de este método, las ecuaciones para el sistema dado se transforman en…

139 Álgebra Lineal Numérica

h x k 1  x k  (f1  2f2  2f3  f4 ) 6 h yk 1  yk  (g1  2g2  2g3  g4 ) 6

(D)

donde…

f1  f(t k ,x k ,yk )

g1  g(t k ,x k ,yk )

h h h  h h h    f2  f  t k  ,x k  f1,yk  g1  g2  g  t k  ,x k  f1,y k  g1  2 2 2  2 2 2    h h h  h h h    f3  f  t k  ,x k  f2 ,yk  g2  g3  g  t k  ,x k  f2 ,y k  g2  2 2 2 2 2 2     f4  f  t k  h,x k  hf3 ,yk  hg3  g4  g  t k  h,x k  hf3 ,yk  hg3  Ejemplo 5.15 Empléese el método de Runge-Kutta de cuarto orden para hallar la solución numérica del sistema…

dx  x  2y dt dy  3x  2y dt  x(0)  6 con  y(0)  4 en el intervalo [0.0, 0.2], tomando diez subintervalos con tamaño de paso h = 0.002 Hallamos los nodos del intervalo, así entonces…

t 0  0.0 t 1  0.0  0.02    0.02 t0 h

t 2  0.02  0.02    0.04 t1  h

. . . t 10  0.18  0.02    0.20 t9 h

Para el primer cálculo se tiene t 1  0.02 y las operaciones intermedias necesarias para obtener x 1 e y1 son…

f1  f(0.00,6.0,4.0)  6.0 2(4.0)    14.0 x k  2yk

h 0.02 x 0  f1  6.00  14.0  6.14 2 2

140 Álgebra Lineal Numérica

f2  f(0.01,6.14,4.26)  6.14 2(4.26)     14.66 h h   xk  f1  2 yk  g1  2 2  

h 0.02 x 0  f2  6.00  14.66  6.1466 2 2 f3  f(0.01,6.1466,4.2694)  6.1466 2(4.2694)     14.6854 h h   x k  f2  2 yk  g2  2 2  

x 0  hf3  6.00  (0.02)(14.6854)  6.293708 f4  f(0.02,6.293708,4.539572)  6.293708  2(4.539572)  15.372852  x k  hf3  2 yk  hg3 

g1  f(0.00,6.0,4.0)  3(6.0)  2(4.0)     26.0 3x k  2yk

h 0.02 y 0  g1  4.00  26.0  4.26 2 2 g2  g(0.01,6.14,4.26)  3(6.14)  2(4.26)    26.94 h   h   3 x k  f1   2 yk  g1  2   2  

h 0.02 y 0  g2  4.00  26.94  4.2694 2 2

g3  f(0.01,6.1466,4.2694)  3(6.1466)  2(4.2694)    26.9786 h   h   3 x k  f2   2 yk  g2  2   2  

y 0  hg3  4.00  (0.02)(26.9786)  4.539572 g4  f(0.02,6.293708,4.539572)  3(6.293708)  2(4.539572)    27.960268 3 x k  hf3   2 yk  hg3 

Utilizando los valores calculados en las expresiones (D) se tiene…

h 0.02 x 1  x 0  (f1  2f2  2f3  f4 )  6  [14.0  (2)(14.66)  (2)(14.6854)  15.372852]  6.29354551 6 6 h 0.02 y1  y 0  (g1  2g2  2g3  g4 )  4  [26.0  (2)(26.94)  (2)(26.9786)  27.960268]  4.53932490 6 6 Los cálculos en los demás nodos se determinan de manera similar y se presentan en la siguiente tabla… K

tk

xk

yk

0

0.00

6.00000000

4.00000000

1

0.02

6.29354551

4.53932490

2

0.04

6.61562213

5.11948599

141 Álgebra Lineal Numérica 3

0.06

6.96852528

5.74396525

4

0.08

7.35474319

6.41653305

5

0.10

7.77697287

7.14127221

6

0.12

8.23813750

7.92260406

7

0.14

8.74140523

8.76531667

8

0.16

9.29020955

9.67459538

9

0.18

9.88827138

10.6560560

10

0.20

10.5396230

11.7157807

142 Álgebra Lineal Numérica

CAPÍTULO ALGEBRA LINEAL NUMÉRICA

6

Algunos de los procedimientos estudiados en el Álgebra Lineal como la resolución de sistemas de ecuaciones lineales pueden ser tratados desde el punto de vista del análisis numérico, desarrollando métodos que facilitan el cálculo especialmente cuando la presencia de números en punto flotante involucran al error por redondeo. En el presente capítulo se desarrollarán únicamente métodos numéricos para solución de sistemas de ecuaciones lineales.

6.1 MÉTODO DE ELIMINACIÓN DE GAUSS CON PIVOTEO PARCIAL El error por redondeo puede tener un efecto determinante durante la solución de un sistema de ecuaciones lineales por el método de eliminación de Gauss, como lo muestra el siguiente ejemplo… Ejemplo 6.1 Utilizando el método de eliminación de Gauss, resuelva el siguiente sistema redondeando a tres cifras significativas después de cada cálculo intermedio. La solución exacta es x = 1, y = 1, z = 1. 0.007x  61.20y  0.093z  61.3 4.810x  5.92y  1.110z  0.0 81.400x  1.12y  1.180z  83.7

Se forma la matriz aumentada del sistema…  0.007 61.20 0.093 61.3     4.810 5.92 1.110 0.0  dividiendo la primera fila por 0.007…  81.400 1.12 1.180 83.7  8742.857 13.286 8757.143   1   4.810 5.92 1.110 0.0  restando 4.810 veces la fila 2 de la 1…   81.400 1.12 1.180 83.7  8742.857 13.286 8757.143   1   0  42059.062  62.796  42121.858  restando 81.400 veces la fila 3 de la 1…   81.400  1.12 1.180 83.7 8742.857 13.286 8757.143  1   0  42059.062  62.796  42121.858  dividiendo la segunda fila por –42059.062…   0 711667.439 1080.300 712747.740  8742.857 13.286 8757.143  1   0 1 0.00149 1.001   restando –711667.439 veces la fila 3 de la 2…  0 711667.439 1080.300 712747.740 

143 Álgebra Lineal Numérica  1 8742.857 13.286 8757.143    1 0.00149 1.001  dividiendo la tercera fila por –19.916… 0  0 0 19.916 368.634   1 8742.857 13.286 8757.143    1 0.00149 1.001  0  0 0 1 18.509 

por sustitución inversa… z = 18.509 , e  1 18.509  17.509 y = 1.001 – 0.00149(18.509) = 0.973, e  1 0.973  0.027 x = 8757.143 – 13.286(18.509) – 8742.857(0.973) = 4.433, e  1 4.433  3.433 es evidente que la respuesta obtenida esta con error excesivamente grande gracias a la acumulación del error por redondeo durante las operaciones intermedias. Un método para minimizar el error por redondeo y obtener soluciones aproximadas razonables, es el que se va a revisar seguidamente y que se lo conoce como Eliminación Gaussiana con pivoteo parcial. Este método toma en consideración el siguiente procedimiento… 1.

Se encuentra la entrada en la primera columna con el mayor valor absoluto, y se utiliza esa entrada como pivote para la eliminación.

2.

Se efectúa un intercambio de filas con aquella que contenga el pivote para ubicarla como primera fila.

3.

Se divide la primera fila por el pivote (este paso será innecesario si el pivote es 1).

4.

Se utiliza operaciones elementales por filas para reducir a cero las entradas bajo el pivote.

A continuación se vuelve a ejecutar el mismo procedimiento eliminando la fila y columna del pivote. El siguiente ejemplo muestra este procedimiento… Ejemplo 6.2 Utilizando el método de eliminación de Gauss con pivoteo parcial, resuelva el siguiente sistema redondeando a tres cifras significativas después de cada cálculo intermedio. La solución exacta es x = 1, y = 1, z = 1. 0.007x  61.20y  0.093z  61.3 4.810x  5.92y  1.110z  0.0 81.400x  1.12y  1.180z  83.7

Se forma la matriz aumentada del sistema…  0.007 61.20 0.093 61.3     4.810 5.92 1.110 0.0  81.400 será el pivote por ser la entrada de mayor valor absoluto, entonces  81.400 1.12 1.180 83.7  pivote se intercambian primera y tercera fila…

144 Álgebra Lineal Numérica 81.400 1.12 1.180 83.7     4.810 5.92 1.110 0.0  se divide la primera fila por 81.400…  0.007 61.20 0.093 61.3  0.0138 0.0145 1.028   1   0.0  se resta la segunda fila de 4.810 veces la primera…  4.810 5.92 1.110  0.007 61.20 0.093 61.3  0.0138 0.0145 1.028   1   5.986 1.040 4.945  se resta la tercera fila de 0.007 veces la primera…  0  0.007 61.20 0.093 61.3   1 0.0138 0.0145 1.028     0 5.986 1.040 4.945  61.20 será el siguiente pivote por lo que se intercambia segunda y tercera  0 61.20 0.0929 61.293  pivote filas…  1 0.0138 0.0145 1.028     0 61.20 0.0929 61.293  se divide la segunda fila por 61.20…  0 5.986 1.040 4.945   1 0.0138 0.0145 1.028    1 0.00152 1.002  se resta la tercera fila de –5.986 veces la segunda… 0  0 5.986 1.040 4.945   1 0.0138 0.0145 1.028    1 0.00152 1.002  se divide la tercera fila por 1.049… 0  0 0 1.049 1.053   1 0.0138 0.0145 1.028    1 0.00152 1.002  0  0 0 1 1.004 

por sustitución inversa… z = 1.004, e  1 1.004  0.004 y = 1.002 – 0.00152(1.004) = 1.000, e  1 1.000  0.000 x = 1.028 – 0.0145(1.004) – 0.0138(1.000) = 1.000, e  1 1.000  0.000 Es evidente la mejoría con respecto a la respuesta del ejemplo 6.1 Este es un método directo, pues su resultado se obtiene gracias a la ejecución de un determinado proceso sin recurrir a un refinamiento del mismo. Este tipo de métodos son poco prácticos, pues algunos sistemas muy sensibles al error por redondeo denominados problemas mal condicionados no pueden ser tratados por este procedimiento, tal como lo ejemplifica el siguiente caso…

145 Álgebra Lineal Numérica Ejemplo 6.3 Utilizando el método de eliminación de Gauss con pivoteo parcial, resuelva el siguiente sistema redondeando a tres cifras significativas después de cada cálculo intermedio. La solución exacta es x = 10820, y = –10818. xy 2 x

600 y  20 601

Se forma la matriz aumentada del sistema… 1 2 1   restamos la segunda fila de la primera… 1 0.998 20  1 2 1   se divide la segunda fila por –0.002…  0 0.002 18 

2  1 1   0 1 9000  por sustitución inversa… y = –9000, e 

10818  9000 100  16.8% 10818

x = 2 – (–9000) = 9002, e 

10820  9002 100  16.8% 10820

el porcentaje de error es significativo a pesar de haberse empleado el método de Gauss con pivoteo parcial.

6.2 MÉTODOS ITERATIVOS PARA SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES Este tipo de métodos envuelven el uso de procesos iterativos, los que permiten el refinamiento del resultado. Los dos más importantes métodos iterativos a revisarse son… 

Método de Jacobi, y



Método de Gauss–Seidel

6.2.1 MÉTODO DE JACOBI Este método requiere de dos suposiciones básicas: (a) El sistema dado por… a11x1  a12 x 2  ...  a1n x n  b1 a21x1  a22 x 2  ...  a2n x n  b2 . . . an1x1  an2 x 2  ...  ann x n  bn

deberá poseer solución única y (2) La matriz de coeficientes del sistema no debe poseer ceros sobre la diagonal principal, y en caso de que ello ocurra deberá realizarse intercambio de filas o columnas para evitarlo. Bajo estas condiciones podemos resolver secuencialmente cada una de las n ecuaciones del sistema para x1, x2, …, xn

146 Álgebra Lineal Numérica como se muestra… x1 

1 (b1  a12 x 2  a13 x 3  ...  a1n x n ) a11

x2 

1 (b2  a21x1  a23 x 3  ...  a2n x n ) a22

.

(6.1)

. . xn 

1 (bn  an1x1  an2 x 2  ...  an,n1x n1) ann

Entonces bajo una aproximación inicial (x1, x2, x3, . . ., xn) se puede iniciar un proceso iterativo con el sistema (6.1) tal como lo muestra el siguiente ejemplo… Ejemplo 6.4 Utilizando el método de Jacobi y la aproximación inicial (x1, x2, x3, . . ., xn) = (0, 0, 0, . . ., 0), resuelva el siguiente sistema redondeando los resultados a tres cifras significativas. 4x1  x 2  x 3  7 x1  7x 2  2x 3  2 3x1  4x 3  11

Se escribe el sistema en la forma… 7 x2 x3   4 4 4 2 x1 2 x2    x3 7 7 7 11 3 x 3   x1 4 4 x1 

la primera iteración produce… 7 0 0    1.75 4 4 4 2 0 2 x 2    0  0.286 7 7 7 11 3 x 3   0  2.75 4 4 x1 

la segunda iteración… 7 0.286 2.75    0.991 4 4 4 2 1.75 2  (2.75)  1.322 x2   7 7 7 11 3 x 3   (1.75)  1.438 4 4 x1 

siguiendo el proceso iterativo se genera la siguiente tabla…

147 Álgebra Lineal Numérica n

0

1

2

3

4

5

6

x1

0

1.75

0.991

1.060

1.039

1.009

1.009

x2

0

0.286

1.322

0.838

1.011

0.993

0.993

x3

0

2.75

1.438

2.007

1.955

1.971

1.993

n

7

8

9

10

11

12

x1

1.003

1.002

1.001

1.000

1.000

1.000

x2

0.999

0.999

0.999

0.999

0.999

0.999

x3

1.993

1.997

1.999

1.999

1.999

1.999

A tres cifras significativas la solución es… x1 = 1.000 x2 = 0.999 x3 = 1.999 Observando la tendencia, la respuesta exacta posiblemente sea x1 = 1, x2 = 1 y x3 = 2. Los métodos iterativos pueden diverger, como lo muestra el siguiente ejemplo… Ejemplo 6.5 Utilizando el método de Jacobi y la aproximación inicial (x1, x2, x3, . . ., xn) = (0, 0, 0, . . ., 0), resuelva el siguiente sistema redondeando los resultados a tres cifras significativas. x1  3x 2  x 3  5 3x1  x 2  5 x 2  2x 3  1

Se escribe el sistema en la forma… x1  5  3x 2  x 3 x 2  3x1  5 x3 

1 x2  2 2

Aplicando el proceso iterativo de Jacobi, al sistema anterior se obtiene la siguiente tabla… n

0

1

2

x1 x2

0

5

0

–5

x3 0 0.5 lo que confirma la divergencia del proceso.

3

4

5

6

20.5

– 22

– 169

190.25

1577

10

56.5

– 71

– 512

565.75

3

– 4.5

– 27.75

36

256.5

6.2.2 MÉTODO DE GAUSS–SEIDEL Este método es una modificación de anterior, la que permite que el método sea ligeramente más efectivo y requiere un poco menos de iteraciones para obtener el mismo grado de precisión que el método de Jacobi. En el método de Gauss–Seidel se utilizan los valores de xi en cada fórmula al tiempo en que se generan sin esperar que termine una iteración completa, así entonces una vez calculado x1, este se aplica en x2 y a su vez es-

148 Álgebra Lineal Numérica tos valores se utilizan para hallar x3. El siguiente ejemplo ilustra lo mencionado… Ejemplo 6.4 Utilizando el método de Gauss–Seidel y la aproximación inicial (x1, x2, x3, . . ., xn) = (0, 0, 0, . . ., 0), resuelva el siguiente sistema redondeando los resultados a tres cifras significativas. 4x1  x 2  x 3  7 x1  7x 2  2x 3  2 3x1  4x 3  11

Nuevamente se escribe el sistema en la forma… 7 x2 x3   4 4 4 2 x1 2 x2    x3 7 7 7 11 3 x 3   x1 4 4 x1 

la primera iteración produce… x1 

7 0 0    1.75 4 4 4

x2 

2 1.75 2   0  0.536 7 7 7

x3 

11 3  (1.75)  1.438 4 4

es de notar que en la formula de x2 no se utilizo x1 = 0 , sino el valor de x1 calculado y lo mismo sucedió al hallar x3. la segunda iteración es… x1 

7 0.536 1.438    1.257 4 4 4

x2 

2 1.257 2   1.438  0.876 7 7 7

x3 

11 3  (1.257)  1.807 4 4

Continuando con el proceso iterativo de Gauss–Seidel, se obtiene la siguiente tabla… n

0

1

2

3

4

5

6

x1

0

1.75

1.257

1.079

1.026

1.008

1.003

x2

0

0.536

0.876

0.956

0.987

0.996

0.999

x3

0

1.438

1.807

1.941

1.981

1.994

1.998

n

7

8

x1

1.000

1.000

149 Álgebra Lineal Numérica x2

0.999

0.999

x3

1.999

1.999

A tres cifras significativas el resultado es… x1 = 1.000 x2 = 0.999 x3 = 1.999 Con respecto al método de Jacobi se han efectuado 4 iteraciones menos. Tanto el método de Jacobi , como el de Gauss–Seidel pueden divergir, sin embargo existe una manera de evitar dicha divergencia y asegurar la convergencia de ambos métodos para ello se va a revisar la siguiente definición importante… Definición (Matriz de diagonal estrictamente dominante). Una matriz A de orden n, se denomina de diagonal estrictamente dominante si el valor absoluto de cada entrada de la diagonal principal es mayor que la suma de los valores absolutos de las restantes entradas en la misma fila, así… a11  a12  a13  ...  a1n a22  a21  a23  ...  a2n . . .

(6.2)

ann  an1  an2  ...  an,n1

La matriz A de coeficientes de un sistema de ecuaciones lineales en algunos casos puede convertirse en una matriz de diagonal estrictamente dominante, mediante intercambio de filas y/o columnas, como lo muestra el siguiente ejemplo… Ejemplo 6.5 Determinar si la matriz de coeficientes del siguiente sistema de ecuaciones lineales es de diagonal estrictamente dominante, y en caso de no serlo convertirla mediante intercambio de filas. 9x1  6x 2  x 3  2 2x1  3x 2  2x 3  2 6x 2  4x 3  1

La matriz de coeficientes del sistema es…  9 6 1   2 3 7  0 6 4  9  6  1

3  2  7

4  6  0

por lo que la matriz no es de diagonal estrictamente dominante, pero intercambiando segunda y tercera filas se tiene…

150 Álgebra Lineal Numérica  9 6 1   0 6 4  , entonces… 2 3 7  9  6  1

6  04

7  2  3

y la matriz es de diagonal estrictamente dominante. El siguiente teorema mostrado aquí sin demostración asegura la convergencia en los métodos de Jacobi y Gauss-Seidel para sistemas con matriz de coeficientes de diagonal estrictamente dominante… Teorema (Convergencia de los métodos de Jacobi y Gauss–Seidel). Si la matriz de coeficientes A de un sistema

(6.3)

de ecuaciones lineales es de diagonal estrictamente dominante, entonces el sistema dado por Ax = b, tiene una solución única a la cual los métodos de Jacobi y Gauss–Seidel convergerán para cualquier aproximación inicial. El siguiente ejercicio ejemplifica lo anteriormente mencionado…

Ejemplo 6.6 Resolver el siguiente sistema por lo métodos de Jacobi y Gauss–Seidel con tres cifras significativas de precisión. 2x1  3x 2  7 x1  3x 2  10x 3  9 3x1  x 3  13

La matriz de coeficientes del sistema es… 2 3 0     1 3 10  3 0 1 

se comprueba si va a existir convergencia o no… 2  3  0

3  1  10

1  3  0

entonces el sistema no es convergente. se intercambia segunda y tercera filas… 2 3 0    1  , seguidamente se intercambian primera y segunda filas… 3 0  1 3 10  1  3 0   2 3 0   1 3 10 

se comprueba nuevamente la convergencia… 3  0 1

3  2  0

entonces ahora es convergente el sistema…

10  1  3

151 Álgebra Lineal Numérica 3x1  x 3  13 2x1  3x 2  7 x1  3x 2  10x 3  9

a partir de éste se genera el sistema… 13 x 3  3 3 2x1 7  x2  3 3 9 x1 3x 2  x3    10 10 10 x1 

aplicando el método de Jacobi al mismo se tiene… n

0

1

2

3

4

5

6

x1

0

4.333

4.633

4.256

3.957

3.949

3.984

x2

0

2.333

5.222

5.422

5.170

4.971

4.966

x3

0

– 0.9

0.233

1.13

1.152

1.047

0.986

n

7

8

9

10

11

x1

4.005

4.004

4.001

4.000

4.000

x2

4.990

5.003

5.003

5.000

5.000

x3

0.988

0.997

1.001

1.000

1.000

y mediante Gauss–Seidel se logra… n

0

1

2

3

4

5

x1

0

4.333

3.967

4.003

4.000

4.000

x2

0

5.222

4.978

5.002

5.000

5.000

x3

0

1.1

0.99

1.001

1.000

1.000

por lo que la solución a tres cifras significativas es… x1 = 4.000 x2 = 5.000 x3 = 1.000 Si bien el teorema (6.3) asegura la convergencia en caso de matrices de coeficientes con diagonal estrictamente dominante, esto no es condición necesaria para la convergencia, pues existen sistemas que si bien no tienen matrices de coeficientes con diagonal estrictamente dominante sin embargo convergen. Se deja al lector demostrar que ello ocurre en el caso del sistema… 4x1  2x 2  2x 3  0 x1  3x 2  x 3  7 3x1  x 2  4x 3  5

Los métodos de Jacobi y Gauss–Seidel, puede ser tratados de una forma más compacta y útil de forma matricial como se explicará a continuación..

152 Álgebra Lineal Numérica Se empieza expresando la matriz de coeficientes del sistema A en la forma..

A  L DU donde D es una matriz diagonal, L una triangular inferior y U una triangular superior. El siguiente ejemplo muestra esta descomposición…  2 1 5   0 0 0   2 0 0  0 1 5   1 3 2    1 0 0    0 3 0   0 0 2           4 1 6   4 1 0   0 0 6  0 0 0  A  L D U

el sistema a resolverse Ax = b, puede expresarse entonces como… (L  D  U)x  b

si se despeja Dx… Dx  (L  U)x  b

que en forma desarrollada se presenta así… a11x1  b1  a12 x 2  a13 x 3  ...  a1n x n a22 x 2  b2  a21x1  a23 x 3  ...  a2n x n . . . ann x n  bn  an1x1  an2 x 2  ...  an,n1x n1

finalmente despejando x, x  D1 (L  U)x  b

entonces el método de Jacobi se puede escribir como… x i 1  F(x i ),

(6.4)

donde

1

F(x)  D (L  U)x  b

es de notar que para que exista D–1, dii  0, lo que explica la suposición (2) del método de Jacobi. La descripción matricial del método de Gauss–Seidel a partir de la expresión anterior es… x actual  D1  Lx actual  Ux anterior  b 

resolviendo para x actual … Dx actual  Lx actual  Ux anterior  b (L  D)x actual  Ux anterior  b

por lo que la expresión final para el método de Gauss–Seidel es…

(6.5)

x i 1  F(x i ),

donde 1

F(x)  (L  D) Ux  b

153 Álgebra Lineal Numérica La expresiones (6.4) y (6.5) nos sirven para programar los métodos de Jacobi y Gauss–Seidel.

6.3 MÉTODOS DE JACOBI Y GAUSS–SEIDEL CON DERIVE 6 Utilizando la expresiones (6.4) y (6.5) y mediante PROGRAMACIÓN FUNCIONAL los métodos de Jacobi y Gauss-Seidel se implementan mediante las siguientes líneas de programación… #1: Precision := Approximate #2: Notation := Decimal #3: A := #4: b := #5: L := VECTOR(VECTOR(IF(i > j, ELEMENT(A, i, j), 0), j, 1, DIM(A)), i, 1, DIM(A)) #6: U := VECTOR(VECTOR(IF(i < j, ELEMENT(A, i, j), 0), j, 1, DIM(A)), i, 1, DIM(A)) #7: D := VECTOR(VECTOR(IF(i = j, ELEMENT(A, i, j), 0), j, 1, DIM(A)), i, 1, DIM(A)) #8: f(v) := (D^–1)(– (L + U)v + b) #9: f_(v) := ((L + D)^(–1))(– Uv + b) #10: JACOBI(v0, n) := ITERATES(f(v), v, v0, n) #11: GAUSS_SEIDEL(v0, n) := ITERATES(f_(v), v, v0, n)

A es la matriz de coeficientes del sistema, b es el vector de terminos libres escrito en la forma [b1, b2, … , bn] , n el número de iteraciones y v0 el vector inicial generalmente [0, 0, …]

6.4 APLICACIONES Los sistemas de ecuaciones lineales y su resolución tienen mucha aplicación en varias ciencias, tal como lo demuestran los siguientes ejemplos… Ejemplo 6.7 Ajuste polinomial por mínimos cuadrados. El distribuidor de un nuevo modelo de automóvil ha obtenido los siguientes datos… Número de semanas luego de la presentación del auto

Ingresos brutos por semana (en millones de dólares)

1

0.8

2

0.5

3

3.2

4

4.3

5

4

6

5.1

7

4.3

8

3.8

9

1.2

10

0.8

Sean i los ingresos brutos por semana(en millones de dólares), t semanas después de la presentación del auto. (a) Determinar un polinomio cuadrático de mínimos cuadrados para los datos dados, y (b) Utilice dicho polinomio para estimar los ingresos brutos 12 semanas después de la presentación del auto. El ajuste polinomial por mínimos cuadrados se define como un polinomio de grado m, que mejor se ajusta a un conjunto de n puntos dados. El problema se define matemáticamente así… El polinomio de ajuste por mínimos cuadrados de grado m para el conjunto de puntos {(x1, y1), (x2, y2), . . ., (xn, yn)} esta dado por…

154 Álgebra Lineal Numérica y  am x m  am1x m1  ...  a2 x 2  a1x  a0

donde los coeficientes ai, se determinan del siguiente sistema de m + 1 ecuaciones lineales…

  x  a  ...    x  a   x  a    x  a    x  a  ...    x  a   x  a    x  a    x  a  ...    x  a na0    x i  a1 

(6.4)

2

2

i

0

2

1

0

i

2

i

4

i

1

  yi

m

  x i yi

m

  x i 2 yi

m1

i

3

i

2

3

i

m

m

i

m 2

i

2

i

. .

 x a   x a   x m

i

m 1

0

i

1

m 2 i

a

2

 ... 

 x  a 2m

i

m

.   x im y i

para el caso de un polinomio cuadrático se tiene… y  a2 x 2  a1x  a0

con…

 x a   y  x  a   x  a   x a   x y  x  a   x  a   x a   x y na0    x i  a1 

2

i

2

i

0

i

2

i

1

i

3

0

i

2

i

2

i

3

4

1

i

i

2

2

i

i

Graficando la distribución de datos del ejemplo…

es fácil notar que un polinomio de segundo grado se ajusta correctamente a la misma; este polinomio será… i(t)  a2 t 2  a1t  a0

con

155 Álgebra Lineal Numérica n  10

 t  1 2  3  4  5  6  7  8  9  10  55  t  1  2  3  4  5  6  7  8  9  10  385  t  1  2  3  4  5  6  7  8  9  10  3025  t  1  2  3  4  5  6  7  8  9  10  25333  i  0.8  0.5  3.2  4.3  4  5.1 4.3  3.8  1.2  0.8  28  t i  (1)0.8  (2)0.5  (3)3.2  (4)4.3  (5)4  (6)5.1 (7)4.3  (8)3.8  (9)1.2  (10)0.8  158.5  t i  (1 )0.8  (2 )0.5  (3 )3.2  (4 )4.3  (5 )4  (6 )5.1 (7 )4.3  (8 )3.8  (9 )1.2  (10 )0.8 i

2

2

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

4

i i i

i

i i

2

2

i

2

2

2

2

2

2

2

2

2

i

 1015.1

por lo que para hallar i(t) es necesario resolver… 10a0  55a1  385a2  28 55a0  385a1  3025a2  158.5 385a0  3025a1  25333a2  1015.1

Se va a utilizar el método de eliminación de Gauss con pivoteo parcial. La matriz aumentada del sistema es… 55 385 28   10    55 385 3025 158.5  intercambiando primera con tercera fila…  385 3025 25333 1015.1  385 3025 25333 1015.1    55 385 3025 158.5  dividiendo la primera fila por 385…  10 55 385 28   1 7.857 65.8 2.637     55 385 3025 158.5  restando 55 veces la fila 2 de la 1 y 10 veces la fila 3 de la 1… 10 55 385 28  65.8 2.637   1 7.857    0 47.135 594 13.465  dividiendo la segunda fila por – 47.135…  0 23.57 273 1.63  65.8 2.637   1 7.857   1 12.602 0.286  restando –23.57 veces la fila 3 de la 2… 0  0 23.57 273 1.63  2.637   1 7.857 65.8   1 12.602 0.286  dividiendo la tercera fila por 24.029… 0  0 0 24.029 5.111 2.637   1 7.857 65.8   1 12.602 0.286  0  0 0 1 0.213 

por sustitución inversa…

156 Álgebra Lineal Numérica a2 = –0.213 ; a1 = –0.286 – (12.602)(–0.213) = 2.398 ; a0 = 2.637 – (65.8)(–0.213) – (7.857)(2.398) = – 2.189, entonces… (a) i(t)  0.213t 2  2.398t  2.189 La gráfica del polinomio de ajuste y los datos es…

(b) i(12)  0.213(12)2  2.398(12)  2.189  4.085 El valor negativo indica que se en lugar de ingresos existen pérdidas a las 12 semanas. Ejemplo 6.8 Distribución de temperatura en una placa cuadrangular. Una placa metálica cuadrangular tiene una temperatura constante sobre cada uno de sus cuatro bordes, como lo muestra la figura. Utilice un enrejado 44 para aproximar la distribución de temperatura en el interior de la placa. Asuma que la temperatura en cada punto interior es el promedio de la temperatura en los cuatro puntos contiguos.

100C

100C

1

2

3

4

5

6

7

8

9

0C

0C Punto 1

Ecuación de temperatura T1 

100  100  T2  T4 4

157 Álgebra Lineal Numérica

2

T2 

100  T1  T3  T5 4

3

T3 

0  100  T2  T6 4

4

T4 

100  T1  T5  T7 4

5

T5 

T2  T4  T6  T8 4

6

T6 

0  T3  T5  T9 4

T7 

7

100  0  T4  T8 4

8

T8 

0  T5  T7  T9 4

9

T9 

0  0  T6  T8 4

este sistema se va a resolver por el método de Gauss–Seidel, obteniéndose la siguiente tabla… T1

T2

T3

T4

T5

T6

T7

T8

T9

0

0

0

0

0

0

0

0

0

50

37.5

34.375

37.5

18.75

13.2812

34.375

13.2812

6.64062

68.75

55.4687

42.1875

55.4687

34.375

20.8007

42.1875

20.8007

10.4003

77.7343

63.5742

46.0937

63.5742

42.1875

24.6704

46.0937

24.6704

12.3352

81.7871

67.5170

48.0468

67.5170

46.0937

26.6189

48.0468

26.6189

13.3094

83.7585

69.4747

49.0234

69.4747

48.0468

27.5949

49.0234

27.5949

13.7974

84.7373

70.4519

49.5117

70.4519

49.0234

28.0831

49.5117

28.0831

14.0415

85.2259

70.9402

49.7558

70.9402

49.5117

28.3272

49.7558

28.3272

14.1636

85.4701

71.1844

49.8779

71.1844

49.7558

28.4493

49.8779

28.4493

14.2246

85.5922

71.3065

49.9389

71.3065

49.8779

28.5103

49.9389

28.5103

14.2551

85.6532

71.3675

49.9694

71.3675

49.9389

28.5409

49.9694

28.5409

14.2704

85.6837

71.3980

49.9847

71.3980

49.9694

28.5561

49.9847

28.5561

14.2780

85.6990

71.4133

49.9923

71.4133

49.9847

28.5637

49.9923

28.5637

14.2818

85.7066

71.4209

49.9961

71.4209

49.9923

28.5676

49.9961

28.5676

14.2838

85.7104

71.4247

49.9980

71.4247

49.9961

28.5695

49.9980

28.5695

14.2847

85.7123

71.4266

49.9990

71.4266

49.9980

28.5704

49.9990

28.5704

14.2852

85.7133

71.4276

49.9995

71.4276

49.9990

28.5709

49.9995

28.5709

14.2854

85.7138

71.4280

49.9997

71.4280

49.9995

28.5711

49.9997

28.5711

14.2855

85.7140

71.4283

49.9998

71.4283

49.9997

28.5713

49.9998

28.5713

14.2856

85.7141

71.4284

49.9999

71.4284

49.9998

28.5713

49.9999

28.5713

14.2856

85.7142

71.4285

49.9999

71.4285

49.9999

28.5713

49.9999

28.5713

14.2856

85.7142

71.4285

49.9999

71.4285

49.9999

28.5714

49.9999

28.5714

14.2857

85.7142 71.4285 49.9999 71.4285 49.9999 28.5714 49.9999 28.5714 Los resultados se obtuvieron truncando las cifras decimales a cuatro cifras significativas.

14.2857

158 Álgebra Lineal Numérica

159 Breve Introducción a Derive 6

APÉNDICE BREVE INTRODUCCIÓN A DERIVE 6

A

Desde fines de la década de los años 60 y principios de los 70, empezaría, especialmente en Estados Unidos, una tendencia que hoy ha cambiado la forma de enseñar las matemáticas, esto es el desarrollo de programas denominados Sistemas de Álgebra Computacional (Computer Algebra Systems). Estos programas tuvieron como objetivo permitir que cálculos simbólicos, por ejemplo... 3 x  6y 2 3 x  6y 2 3( x  2y )  x  6y  2( x  2y)        x  2y x 2  4 y 2 x  2y x  2y ( x  2y )(x  2y ) x  2y ( x  2y )(x  2y )

3 x  6 y  x  6 y  2x  4 y 2x  4 y 2   ( x  2y)( x  2y ) ( x  2y)( x  2y ) x  2y de trámite engorroso, la mayoría de las veces, se conviertan en un trabajo para el computador y no para el científico, el ingeniero, el estudiante o el profesor. Así las personas dedicadas al manejo de las matemáticas o sus aplicaciones, gastarían su tiempo en analizar el problema y su planteamiento y no en resolver los tediosos cálculos matemáticos que este involucre. Pero estos sistemas llegaron aún mas lejos, pues se convirtieron en programas que no solo manejaron el simbolismo matemático sino también la programación y aún proporcionaron el uso de capacidades graficas (en dos y tres dimensiones), permitiendo el análisis casi integral de las matemáticas. Entre algunos de los Sistemas de Álgebra Computacional (CAS, por sus siglas inglesas) más destacados se pueden mencionar MATLAB, MAPLE, MATHEMATICA, DERIVE, MATHCAD. El presente texto se dedicará exclusivamente al manejo de Derive, por ser un Sistema de Álgebra Computacional compacto, de fácil manejo y uno de los más populares. DERIVE, nació a partir de muMATH, un programa desarrollado en lenguaje LISP por David Stoutemyer y Albert Rich. Al igual que muMATH, Derive se escribió en LISP y desde sus inicios se caracterizó por ser un sistema muy compacto (su versión 5 ocupa 4.8 MB aproximadamente) y de capacidad simbólica, numérica y gráfica bastante amplia, cubriendo las matemáticas desde el nivel preparatorio hasta el universitario.

A.1 INSTALACIÓN, INICIO Y BREVE DESCRIPCIÓN DE DERIVE. Su versión 5 se instala a partir del archivo SETUP.EXE (contenido en un CD proporcionado por el fabricante), siendo necesario como mínimo aproximadamente 5 MB de capacidad en disco duro, Windows 95, 98, 2000, Millenium o XP y si estos sistemas operativos funcionan correctamente con la memoria RAM de que disponga, no se preocupe entonces por la RAM, pues será más que suficiente para que pueda utilizar DERIVE sin problemas. Al instalarse Derive 6, colocará el icono de acceso directo en el escritorio de Windows, a partir del cual haciendo doble clic, se puede ingresar a la ventana de trabajo de Derive 6, también se puede ingresar, alternativamente, por Inicio/Programas/Derive 6/Derive 6.

160 Breve introducción a Derive 6 Para introducir las expresiones y órdenes de que dispone el programa se presiona Editar(Autor)/Expresión...(ó F2), con lo que el cursor se ubica en el cuadro de comandos como lo muestra la figura siguiente...

donde se teclea las instrucciones que una vez introducidas se escriben en la pantalla principal, en notación matemática tradicional. Así si se escribe (x+y)/2, Derive 6 presentará...

El orden de precedencia de los operadores es igual a la de cualquier lenguaje de programación(potenciación ^, división /, multiplicación *, resta –, suma +). A cada expresión ingresada Derive 6 le asigna un número #n, en estricto orden ascendente, esto facilita la escritura de fórmulas. Derive 6 posee además de una pantalla de trabajo matemático (denominada ventana de Álgebra) otra dos ventanas para el manejo de gráficos en dos y tres dimensiones (llamadas ventanas 2D y 3D). Para una descripción completa de todos los operadores y funciones que dispone Derive 6, el lector debe remitirse al Manual del Usuario, o a la Ayuda en línea del programa; sin embargo a continuación se revisarán algunas órdenes que son muy útiles en nuestro trabajo con el análisis numérico.

A.2 SIMPLIFICACIÓN Y APROXIMACIÓN Derive 6 puede fácilmente simplificar, si es posible, una expresión que ha sido ingresada. Todas las simplificaciones, por defecto, son efectuadas de forma exacta, así por ejemplo si se ingresa el valor

12 , Derive 6 lo

simplifica a 2 3 . Derive 6 cuenta con varias opciones de simplificación, que se ubican en el menú Simplificar, entre ellas se pueden mencionar... 

Normal

161 Breve introducción a Derive 6 

Expandir



Factorizar



Aproximar

La opción Basic sirve para simplificar expresiones sobre las cuales se han aplicado funciones incorporadas por Derive 6 u operaciones elementales como sumas, restas, multiplicaciones, divisiones y potenciaciones, así por ejemplo si se desea evaluar la derivada de x 3 , se debe introducir la expresión DIF(x^3, x, 1), que queda indicada como...

sin presentar de manera explicita el resultado, para observar éste, se elige la opción Simplicar/Normal...(ó CTRL+B, ó

) obteniéndose...

La opción Expandir toma una expresión ingresada y la expande o desarrolla, de esta forma una expresión como (x  y)2 , mediante la opción Simplificar/Expandir...(ó CTRL+E) se convertirá en x 2  2xy  y 2 .

La opción Factor toma una expresión ingresada y la factora a su mínima expresión, así la expresión x 2  y 2 , mediante la opción Simplificar/Factorizar...(ó CTRL+F) se expresará como (x  y)(x  y) . Aunque valores numéricos son manejados por defecto en forma exacta pueden ser también expresados en forma aproximada mediante la opción Simplificar/Aproximar...(ó CTRL+G, ó

) , así pues el valor

12 median-

te esta opción se expresará como 3.46410 en lugar de su forma exacta 2 3 .

A.3 SUSTITUCIÓN Una opción muy útil en Derive 6, es la posibilidad que tiene el usuario de efectuar la sustitución de una variable dentro de una expresión por otra variable u otra expresión, así por ejemplo supóngase que dentro de la expresión

xz , se quiere obtener el valor de la misma cuando x = 1 y z = 2, entonces se procede como a conx2  z2

tinuación se detalla... 

Se introduce la expresión.



Se hace clic en la opción Simplificar/Sustituir Variable...(ó CTRL+W ó go...

) y aparece el cuadro de diálo-

162 Breve introducción a Derive 6 

Entonces se hace clic sobre cada variable para seleccionarla y se introduce en la casilla Nuevo Valor los valores 1 y 2 respectivamente, obteniéndose al hacer clic sobre el botón Simplificar...

Además de introducir valores numéricos se pueden también introducir valores literales. Por otro lado pueden sustituirse dentro de una expresión compleja valores numéricos o literales no solamente para variables sino para expresiones completas, por ejemplo en la expresión

(x  1)  (y  z)(x  1) , se desea (x  1)2  y 2  z 2

sustituir (x – 1) por el valor de 2, entonces... 

Se introduce la expresión.



Se hace clic sobre la expresión (x – 1) para seleccionarla.



Seguidamente se hace clic en la opción Simplificar/Sustituir Subexpresión... (ó CTRL+T) y aparece el cuadro de diálogo...

Entonces se escribe el valor 2 y se selecciona la opción Todos, para indicar que se va a sustituir el valor indicado en todas las expresiones (x – 1), obteniéndose al hacer clic sobre el botón Simplificar...

A.4 VECTORES Y MATRICES Derive 6 es un asistente matemático que puede trabajar muy fácilmente con vectores y matrices tanto en forma simbólica como numérica. El paquete maneja esencialmente vectores fila y una matriz la construye como un vector columna de vectores fila. En Derive 6 se puede introducir una matriz de dos maneras diferentes, veamos como se procede de la primera forma: 

Se hace clic sobre la opción Editar(Autor)/Matriz..., entonces se presenta el siguiente cuadro de diálogo:

163 Breve introducción a Derive 6 

En esta ventana se introduce el numero de filas y columnas que se desea para la matriz y se presiona Sí.



Aparece entonces el siguiente cuadro de diálogo...

donde cada casillero de introducción de datos debe ser llenado desde el teclado por la entrada correspondiente, luego de lo cual la matriz se presentará así...

Como se dijo, Derive 6 considera una matriz como un vector de vectores, así por ejemplo la matriz anterior es para Derive 6 un vector formado de tres vectores fila, es decir... 1 3 1    3  4 5   0 2 3 

por ello para introducir una matriz, se puede editarla como un vector de vectores, lo cual nos lleva a la segunda forma de introducir una matriz: Se

hace clic sobre el cuadro de comandos y se introduce desde el teclado la expresión [[1,–3,–1],

[4,5,3],[0,2,–3]] ó [1,–3,–1;4,5,3;0,2,–3]. Es de notar que cada elemento del vector fila se separa con una coma y en la segunda opción cada vector fila del siguiente mediante un punto y coma. También se puede asociar un nombre cualquiera, por ejemplo A, a una matriz, mediante el signo igual para definición (:=), así por ejemplo para la anterior matriz se hace clic en el cuadro de comandos y se introduce la expresión A := [1,3,– 1;4,5,3;0,2,–3] obteniéndose...

Delante de cada expresión introducida, DERIVE escribe un número consecutivo, este hecho resulta importante cuando se quiere utilizar una expresión en cálculos posteriores. Se pueden extraer entradas mediante la notación NOMBREij donde como se ha descrito antes i representa a la fila y j a la columna; para lograr ello se escribe el nombre y los subíndices de la entrada en el cuadro de comandos...

164 Breve introducción a Derive 6 al presionar ENTER se tiene como resultado...

También se pueden extraer elementos de una matriz mediante la expresión ELEMENT(M, i, j) donde M es la matriz de la que se quiere extraer el elemento de la fila i y columna j; generalmente en M se indica el número (#_) asignado a la matriz cuyo elemento se desea extraer. Para el ejemplo anterior la expresión ELEMENT(#2,2,3) arroja el mismo resultado. La dimensión de un vector o matriz es el número de elementos del vector o el número de vectores que conforman la matriz; este parámetro es fácilmente extraíble de una matriz creada en Derive 6, para ello se utiliza la expresión DIMENSION(M) o DIM(M) siendo obviamente M la matriz o vector de la que se quiere extraer su dimensión. Para la matriz del ejemplo anterior se tiene...

de donde…

lo que indica que la matriz A esta formada de tres vectores fila.

A.5 PROGRAMACIÓN CON DERIVE 6. A.5.1 PROGRAMACIÓN FUNCIONAL Derive 6 basa su capacidad de programación en la programación funcional, mediante algunas funciones entre las cuales cabe mencionar... 

ITERATE e ITERATES.



IF.



VECTOR.



SUM y PRODUCT.

A.5.1.1 PROCESOS ITERATIVOS Y LAS FUNCIONES ITERATES E ITERATE Un proceso iterativo es aquel en el cual se obtiene una aproximación actual a partir de otra anterior. A continuación analicemos un ejemplo... Supóngase que se tiene f(x)  10  x , y se quiere hallar los primeros cuatro valores numéricos que se obtengan iterativamente para f(x) a partir de x = 0(valor de inicio), entonces... i

xi

f(xi)

1

0

f(0)  10  0  3.16227766

2

3.16227766

f(3.16227766)  10  3.16227766  2.614903887

3

2.614903887

f(2.614903887)  10  2.614903887  2.717553332

4

2.717553332

f(2.717553332)  10  2.717553332  2.698600872

Por lo que los valores son: 3.16227766, 2.614903887, 2.717553332, 2.698600872. El proceso calculó un

165 Breve introducción a Derive 6 nuevo valor a partir de uno anterior, por lo tanto se trata de un proceso iterativo. Cada nuevo valor obtenido es una iteración, y la función f(x) que se utilizó en los cálculos se conoce como fórmula de iteración. La orden de Derive 6, ITERATES(f, x, a, n), donde f representa la fórmula de iteración, x la variable de iteración, a el valor de inicio y n el número de iteraciones, automatiza un proceso iterativo, así para el ejemplo anterior...

da como resultado un vector que contiene las cuatro primeras iteraciones para el ejemplo que se calculo anteriormente. Si se quiere obtener únicamente el último valor del proceso iterativo, se utiliza la orden ITERATE(f, x, a, n), donde los parámetros tienen el mismo significado anterior. Así para el ejemplo anterior...

A.5.1.2 FUNCIÓN CONDICIONAL IF Derive 6 posee la función de decisión IF, que tiene la siguiente estructura IF(Condición_lógica, Verdadero, Falso, Duda). La condición lógica o prueba de decisión puede ser una expresión que permita decidir sobre una alternativa a tomar, dependiendo de si la condición es verdadera o falsa. Si la prueba no es ni verdadera ni falsa, la opción a tomar se escribirá a continuación de dichas opciones. Seguidamente se analiza un ejemplo... Se desea crear una función SIGNO(x), que produzca el valor de 1, en caso de que se x sea un real positivo, –1 en caso contrario y 0 si no se puede dilucidar su signo. Esta función es...

los resultados para –7.5, 6 y 5, serán entonces...

Al igual que en cualquier lenguaje de programación se pueden anidar las funciones de decisión IF, así por ejemplo se desea que en el ejemplo anterior para el caso de x = 0, la función arroje el comentario “no tiene signo”, entonces...

los resultados para –7.5, 6, 5 y 0 son...

166 Breve introducción a Derive 6 Se puede observar que en la condición lógica se puede utilizar operadores lógicos, como en el caso anterior el operador  (y lógico). Para conocer los operadores lógicos disponibles puede consultar la ayuda en línea o el manual del usuario.

A.5.1.3 FUNCIÓN VECTOR Derive 6 además puede construir vectores o matrices bajo un patrón, para ello dispone de la orden VECTOR, cuya estructura es VECTOR(F(x), x, a, b, p), donde F(x) es la función generadora del vector o matriz, x la variable de la función generadora, a el valor de inicio, b el valor final y p es el paso entre a y b. Supóngase que se quiere generar el vector 1 3 5 7 , entonces la expresión será...

que al simplificarse genera...

la variable p es alternativa, pues si no se la escribe Derive 6 toma p = 1. Mediante la anidación de VECTOR se puede crear una matriz, así por ejemplo supóngase que se quiere construir  1 3 5   la matriz  3 5 7  , entonces la instrucción es...  5 7 9

donde la función VECTOR interna genera los elementos de cada fila y la función VECTOR externa genera las columnas.

A.5.1.4 SUMATORIA Y PRODUCTO ITERADO – FUNCIONES SUM Y PRODUCT Es muy frecuente encontrar en análisis numérico, procesos que involucren sumatorias y productos iterados tales como: n

a

i

i 0

 a0  a1  a2  ...  an (Sumatoria)

n

a i 0

 a0 a1a2    an (Producto iterado)

i

Derive 6 incluye entre sus funciones incorporadas, las funciones SUM y PRODUCT que corresponden a las formulaciones anteriores, su sintaxis son: SUM(F(i),i, in, fin, p), donde F(i) corresponde a la expresión sobre la cual se va a efectuar la sumatoria, i el índice de la sumatoria, in el valor de inicio, fin el valor final y p el paso utilizado entre dos valores consecutivos de i. PRODUCT(F(i), i, in, fin, p), donde la notación es idéntica al caso de la función SUM. Supóngase que se desean calcular

5

i0

dará como resultado…

i

i2

y

8

e i 0

i i 1

, entonces...

167 Breve introducción a Derive 6

y,

producirá...

la variable p, se utilizará en casos en que el índice no varíe en una unidad, así por ejemplo supóngase que se desea evaluar la suma de los números impares menores o iguales a 11, entonces...

dará por resultado...

Derive 6 utiliza la programación funcional, es decir, construye los diferentes módulos de un programa en base a definición de funciones. Veamos un ejemplo... Ejemplo A.1 Construir un programa que calcule la matriz adjunta de una matriz de datos: a 11 a  21 A  a 31   ... a n1 

a 12

a 13

a 22

a 23

a 32

a 33

...

...

a n2

a n3

... a 1n  ... a 2n  ... a 3n   ... ...  ... a nn  .

Se procederá bajo el siguiente algoritmo funcional: 1. Se construirá una función que calcule el menor Mij . 2. Seguidamente se construirá una función que calcule el cofactor Aij  (1)i  j Mij , correspondiente al menor Mij .

3. Finalmente en base a las dos funciones definidas anteriormente se elaborará una función final para el cálculo de la adjunta de A. Las funciones para cada paso del algoritmo son... #1: MENOR(A, i, j) := DELETE_ELEMENT(DELETE_ELEMENT(A, i)`, j)` #2: COFACTOR(A, i, j) := ((–1)^(i + j))DET(MENOR(A, i, j)) #3: ADJ(A) := VECTOR(VECTOR(COFACTOR(A, i, j), i, DIMENSION(A)), j, DIMENSION(A))

La función DELETE_ELEMENT(A, i), elimina la fila i–ésima de la matriz A y la función DET(A) calcula el determinante de la matriz A. La primera función MENOR(A, i, j) elimina la fila i y columna j de la matriz de datos A(de orden n), generando el menor correspondiente(una matriz de orden n – 1). La segunda función utiliza la anterior, obteniendo su deter-

168 Breve introducción a Derive 6 i j minante y multiplicándolo por el término (1) para producir el respectivo cofactor. La tercera y última función

se basa a su vez en la anterior, para elaborar la matriz adjunta de a, mediante una función VECTOR anidada.

A.5.2 PROGRAMACIÓN PROCEDURAL Derive 6 ha incorporado además funciones que realizan la ejecución de un proceso mediante procedimientos secuenciales, es decir, efectúan programación por procedimientos o procedural; estas estructuras de control o lazos son... 

PROG.



LOOP.

A.5.2.1 FUNCIÓN PROG Esta función tiene la estructura PROG(s1,s2,s3,….,sn) y permite ejecutar secuencialmente las instrucciones s1, s2, s3, …, sn.

A.5.2.2 FUNCIÓN LOOP Esta función tiene la estructura LOOP(s1,s2,s3,….,sn) y permite ejecutar secuencialmente las instrucciones s1, s2, s3, …, sn y repetir la secuencia hasta que en una de dichas instrucciones se cumpla un EXIT o un RETURN que permita terminar su ejecución. La orden EXIT obliga al programa a salir de la ejecución de la función LOOP y continuar con la ejecución de las secuencias más externas LOOP o PROG. La función RETURN también obliga al programa a terminar la ejecución del lazo LOOP presentando un resultado, por lo que generalmente debe constituir la finalización del programa. En los siguientes ejemplos se aclarará el uso de estas estructuras de control… Ejemplo A.2 Construir un programa que calcule la suma de los n primeros números pares. Se procederá bajo el siguiente algoritmo: 1. Se inicializan los valores de tres variables, un contador c a 1, un generador de los números pares p a 2 y la suma de los pares s a 0. 2. Una estructura de control ira actualizando el contador, el generador de los números pares y la suma de los mismos hasta alcanzar el resultado con los n números pares pedidos El programa para este algoritmo es: #1: SUM(n) := PROG(c := 1, p := 2, s := 0, LOOP(IF(c > n, EXIT), s :+ p, p :+ 2, c :+ 1), s)

Se diseño el programa de esta forma con el objetivo de mostrar el uso del comando EXIT. La estructura de control más externa PROG, controla la ejecución secuencial de las asignaciones c := 1 , p := 2, s := 0, LOOP(IF(c > n, EXIT), s :+p, p :+2, c :+1) y s. La estructura más interna de control LOOP(IF(c > n, EXIT), s :+p, p :+2, c :+1) actualiza los valores de c, p y s hasta alcanzar la suma de los n números pares pedidos luego de lo cual ejecuta la orden EXIT que le permite terminar la ejecución de LOOP y concluir con la presentación del resultado s. Ejemplo A.3

169 Breve introducción a Derive 6 Construir un programa que calcule el producto de los n primeros números pares. Se procederá bajo el siguiente algoritmo: 1. Se inicializan los valores de tres variables, un contador c a 1, un generador de los números pares p a 2 y el producto de los pares m a 1. 2. Una estructura de control ira actualizando el contador, el generador de los números pares y el producto de los mismos hasta alcanzar el resultado con los n números pares pedidos El programa para este algoritmo es: #1: MULT(n) := PROG(c := 1, p := 2, m := 1, LOOP(IF(c > n, RETURN [“n”, “producto” ; n, m]), m : p, p :+ 2, c :+ 1))

Se diseño el programa de esta forma con el objetivo de mostrar el uso del comando RETURN. La estructura de control más externa PROG, controla la ejecución secuencial de las asignaciones c := 1 , p := 2, m := 1 y LOOP(IF(c > n, RETURN[“n”,”producto”;n,m]), m :p, p :+2, c :+1). La estructura más interna de control LOOP(IF(c > n, RETURN[“n”,”producto”;n,m]), m :p, p :+2, c :+1), actualiza los valores de c, p y m hasta alcanzar el producto de los n números pares pedidos luego de lo cual ejecuta la orden RETURN que le permite terminar la ejecución de LOOP y del programa presentando el resultado con la estructura...

n producto    m n 

A.6 GENERACIÓN DE UNA UTILIDAD Al escribir en Derive 6 un programa o implementación para generar un determinado método numérico, el autor desearía poder guardarlo para utilizarlo en otro momento. Para ello Derive 6 puede almacenar una implementación dentro de un archivo de extensión .MTH y además cuando el usuario lo requiera puede cargar este archivo en memoria para usar las funciones incorporadas en el mismo sin tener la molestia de que aparezca todo lo escrito en el documento. Esto es conocido en Derive 6 como “Cargar una utilidad”, y para ello debe efectuarse el procedimiento descrito a continuación: 

Se guarda el programa o implementación generada en un archivo de extensión MTH.



Para cargarlo como utilidad, se hace clic en Archivo/Leer/Utilidades..., entonces aparecerá el siguiente cuadro de diálogo:

170 Breve introducción a Derive 6 En este se busca el nombre del archivo que contenga la utilidad requerida y se hace clic en Abrir. 

Inmediatamente Derive 6 cargará en memoria dicho archivo y el usuario podrá utilizar las funciones definidas en él como si fuesen funciones incorporadas al programa.

Como complemento se dan algunos ejercicios sobre programación y precisión en Derive 6… A.4 – A.5 PROGRAMACIÓN FUNCIONAL 1 x 0  1 x1 A.4. Generar en DERIVE 5 la matriz  . .  1 x n

... x n0   ... x1n  , con la ayuda de una función VECTOR anidada. ... .   ... x nn 

Para representar un subíndice en Derive 5 por ejemplo xi, se escribe x↓i. Entonces la función que la llamaremos MATRIZ, y que genera la matriz pedida es: MATRIZ(n) := VECTOR(VECTOR ((x↓i)ˆj, j, 0, n), i, 0, n)

A.5. Genere una función en Derive 5 para calcular el vector de n iteraciones para F(x), empezando en a. El programa funcional es: ITER(F, a, n) := ITERATES(F, x, a, n)

Así para la función F(x) :

1 1 x

2

, empezando en x = 0 y con 7 iteraciones se tiene:

en modo exacto, y

en modo aproximado. A.6 – A.7 PROGRAMACIÓN PROCEDURAL A.6. Escriba un programa para obtener el cociente y el resto de dos números enteros positivos, aplicando el método de restas sucesivas. El método de restas sucesivas permite llegar a calcular el resto de una división de números enteros mediante la aplicación sucesiva de la resta. El siguiente ejemplo lo explica: Para hallar el residuo de 10/3, se tiene: 10 – 3 = 7 7–3=4 4 – 3 = 1 → El proceso se detiene cuando el resto (1) es menor que el divisor (3) Por lo tanto 1 es el resto y 3(número de restas efectuadas) es el cociente. El programa procedural escrito en una sola línea es: COC_REST(D, d) := PROG(C := 0, R := D, LOOP(IF(R < d, RETURN ["RESTO", "COCIENTE"; R, C]), R :– d, C :+ 1))

El programa escrito en forma indentada y la explicación de su funcionamiento es: COC_REST(D, d) := Prog

Argumentos de la función: D = dividendo, d = divisor

171 Breve introducción a Derive 6 C := 0 Inicialización del contador del número de restas efectuadas R := D Asignación al resto del valor del dividendo para iniciar las restas sucesivas Loop If R < d Condición para defenecer el proceso y retornar el resultado Re sto Cociente RETURN ["RESTO", "COCIENTE"; R, C] Salida   C  R  R :- d Proceso de restas sucesivas (resto) C :+ 1 Actualización del contador de restas efectuadas (cociente) A.7. Escriba un programa para obtener el máximo común divisor de dos números enteros positivos, aplicando el algoritmo de Euclides. El algoritmo de Euclides permite hallar el MCD mediante divisiones sucesivas de números enteros positivos, como lo muestra el siguiente ejemplo: Para hallar el MCD de 6 y 15, entonces: dividendo en la siguiente división 15 / 6 → Cociente = 2; Resto = 3 (divisor en la siguiente división) 6/3 → Cociente = 2; Resto = 0 El ultimo divisor bajo el cual se obtuvo el resto nulo, es decir 3 es el MCD El programa procedural constará de dos funciones, una para el cálculo del resto, y la otra para el cálculo del MCD: #1: RESTO(D, d) := PROG(C := 0, R := D, LOOP(IF(R < d, RETURN R), R :– d, C :+ 1)) #2: MCD(a, b) := PROG(IF(a > b, [D := a, d := b], [D := b, d := a]), LOOP(IF(d = 0, RETURN D), R := RESTO(D, d), D := d, d := R))

El programa escrito en forma indentada y la explicación de su funcionamiento es: RESTO(D, Prog C := R := Loop If

d) := 0 D Variante del programa 1, para el cálculo del resto.

R < d RETURN R R :- d C :+ 1 MCD(a, b) := Argumentos de la función: números a y b enteros positivos Prog If a > b Lazo de decisión para asignar al mayor valor como divi[D := a, d := b] dendo (D) y al menor como divisor (d) [D := b, d := a] Loop If d = 0 → Condición para defenecer el proceso y retornar el resultado RETURN D → Salida del último divisor (D := d) como el MCD R := RESTO(D, d) → Calcula el resto de la división D/d D := d → Asigna al divisor de una división como dividendo de la siguiente d := R → Asigna al resto de una división como divisor de la siguiente A.8 PRECISIÓN EN DERIVE 6 A.8. Con un ejemplo de cálculo de una expresión se va a mirar el efecto de la precisión en un resultado. Ingresamos la expresión x x



x 1 x 1 2 x



172 Breve introducción a Derive 6 Se substituye 1000000 para x utilizando Simplificar/Sustituir variable… o el botón

tal como se muestra:

luego de hacer clic en Sí, se obtiene

aproximando este resultado con

se tiene

La aproximación da un valor de cero sin embargo al simplificar bajo el modo exacto no se obtuvo ese valor por lo tanto la aproximación es sospechosa. En efecto se la precisión de Derive 6 en este cálculo es insuficiente para mostrar el verdadero resultado para ello vamos a cambiar los dígitos de precisión de 10 a 15, mediante el comando:

entonces volvemos a aproximar la expresión obteniendo esta vez

lo que demuestra que con 10 dígitos de precisión en esta operación Derive 6 cometió un error al obtener el resultado en punto flotante. El origen de este error esta en la resta de valores muy cercanos como lo va a demostrar el propio programa con el siguiente desarrollo: Regresamos a la precisión con 10 dígitos al escribir el comando PrecisionDigits := 10. A partir de la expresión:

seleccionamos ‹(1000000 + 1), ‹(1000000 - 1) y 2·‹1000000 sucesivamente, a la vez que simplificamos cada subexpresión con

desde la barra de botones, obteniendo:

se puede observar que el resultado dentro del paréntesis da 0 lo cual obviamente explica el resultado final de 0 al aproximar la expresión.

173 Series de Taylor

APÉNDICE SERIES DE TAYLOR

B

El éxito de los métodos numéricos consiste en la aproximación y sustitución de funciones complicadas por otras de fácil manejo. Muchas funciones, tales como sen(x), cos(x), ln(x), etc., pueden ser aproximadas y sustituidas mediante una suma infinita de términos denominada serie de Taylor, la cual por su sencillez es más apropiada para su utilización en el campo del análisis numérico.

B.1 SERIES DE TAYLOR Y MACLAURIN. Teorema de Taylor. Sea f(x) una función continua y derivable hasta el orden n, en cierto intervalo que contiene al punto x = c, entonces f(x) se puede expresar como: f( x )  f( c ) 

( x  c) n (n ) ( x  c) 3 ( x  c) 2 ( x  c) f (c ) f (c)  ...  f (c)  f (c)  n! 3! 2! 1!

Una función real f(x), puede ser escrita mediante un polinomio de grado menor o igual a n, en la forma...

(B.1)

f(x)  a0  a1x  a2 x 2  a3 x 3  ...  an x n

donde los coeficientes a0, a1, a2, a3 , ... son constantes que no dependen de la variable x. El problema es determinar los valores de dichos coeficientes para expresar con exactitud el polinomio. Tómese la expresión (B.1) y hágase en ella x = 0... f(0)  a0

con lo cual se ha determinado a0, pues al conocerse f(x), también se conoce su valor en un punto dado. Por otro lado, calcúlense las n sucesivas derivadas, es decir... f(x)  a1  2a2 x  3a3 x 2  ...  nan x n1  ... f(x)  2a2  6a3 x  ...  n(n  1)an x n 2  ...

(B.2)

f(x)  6a3  ...  n(n  1)(n  2)an x n 3  ... …………………………………………… f(n)(x)  n!an  ...

entonces si se sustituye x = 0 en todas ellas se obtiene... f(0)  a1  1!a1 f(0)  2a2  2!a2

(B.3)

f(0)  6a3  3!a3 ......................... f(n)(0)  n!an

despejando de las ecuaciones (B.3), a0, a1, a2, a3 , ... , y sustituyendo estos valores en f(x) se obtiene...

(B.4)

x x2 x3 xn f(x)  f(0)  f (0)  f (0)  f (0)  ...  f(n)(0) 1! 2! 3! n!

fórmula que expresa a f(x) como un polinomio en x, y todos los coeficientes son derivadas calculadas en el punto x = 0; este tipo de polinomio se denomina serie de Maclaurin ó fórmula de Maclaurin.

174 Series de Taylor Pero existen funciones reales, como ln(x), que en el punto x = 0 no está definida; resulta entonces conveniente aproximar ésta y otras funciones, que se hallan en el mismo caso, mediante un polinomio cuyas constantes se puedan determinar en base a un punto cualquiera c, diferente al que genera el problema. Téngase en cuenta entonces, el polinomio siguiente... f(x  c)  a0  a1(x  c)  a2 (x  c)2  a3 (x  c)3  ...  an(x  c)n

realizando un proceso similar al que se efectuó para deducir la serie de Maclaurin, se obtiene el polinomio... (x  c) (x  c)2 (x  c)3 (x  c)n f(x)  f(c)  f (c)  f (c)  f (0)  ...  f(n)(c) 1! 2! 3! n!

(B.5)

denominado serie de Taylor ó fórmula de Taylor. Se puede observar de la última ecuación, que la fórmula de Maclaurin es simplemente un caso particular de la fórmula de Taylor, cuando en ésta c = 0. La fórmula de Taylor asegura una aproximación bastante razonable de la función f(x) en cierto entorno (entiéndase como pequeño intervalo) alrededor del punto c, es decir en el intervalo [c  , c + ] (>0), mientras que la fórmula de Maclaurin hace lo mismo alrededor del punto c = 0, o sea en el intervalo [, ]; este intervalo se denomina intervalo de convergencia.

B.2 SERIES DE TAYLOR Y MACLAURIN CON RESTO EN FORMA DE LAGRANGE. Teorema (Resto para la Serie de Taylor). Sea f(x) una función continua y derivable hasta el orden n + 1, en cierto intervalo que contiene al punto x = c, y sea  un punto cualquiera tal que x< 
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF