introducciÓn 0.1 ¿qué es un método numérico?

121
INTRODUCCIÓN 0.1 ¿Qué es un método numérico? Los métodos numéricos constituyen procedimientos alternativos provechosos para resolver problemas matemáticos para los cuales se dificulta la utilización de métodos analíticos tradicionales y, ocasionalmente, son la única opción posible de solución. 0.2 Los métodos numéricos en la ingeniería. En virtud de que este curso va dirigido a profesionales vinculados con la ingeniería, conviene hacer un paréntesis para establecer una distinción actualizada de lo que se entiende por ingeniería. La palabra ingeniería proviene del latín ingenium, que significa capacidad de discurrir o inventar. Para el Consejo de Acreditación para Ingeniería y Tecnología (ABET: Accreditation Board for Engineering and Technology), la ingeniería se define como "la profesión en la que el conocimiento de las ciencias matemáticas y naturales adquirido mediante el estudio, la experiencia y la práctica, se aplica con buen juicio a fin de desarrollar las formas en que se pueden utilizar, de manera económica, los materiales y las fuerzas de la naturaleza en beneficio de la humanidad". En los diccionarios más modestos dice que la ingeniería es "el arte de aplicar las ciencias fisicomatemáticas a la

Upload: eamtzg

Post on 15-Jun-2015

1.343 views

Category:

Documents


5 download

TRANSCRIPT

INTRODUCCIÓN

0.1 ¿Qué es un método numérico?

Los métodos numéricos constituyen procedimientos alternativos provechosos para resolver problemas matemáticos para los cuales se dificulta la utilización de métodos analíticos tradicionales y, ocasionalmente, son la única opción posible de solución.

0.2 Los métodos numéricos en la ingeniería.

En virtud de que este curso va dirigido a profesionales vinculados con la ingeniería, conviene hacer un paréntesis para establecer una distinción actualizada de lo que se entiende por ingeniería.

La palabra ingeniería proviene del latín ingenium, que significa capacidad de discurrir o inventar. Para el Consejo de Acreditación para Ingeniería y Tecnología (ABET: Accreditation Board for Engineering and Technology), la ingeniería se define como "la profesión en la que el conocimiento de las ciencias matemáticas y naturales adquirido mediante el estudio, la experiencia y la práctica, se aplica con buen juicio a fin de desarrollar las formas en que se pueden utilizar, de manera económica, los materiales y las fuerzas de la naturaleza en beneficio de la humanidad". En los diccionarios más modestos dice que la ingeniería es "el arte de aplicar las ciencias fisicomatemáticas a la invención, perfeccionamiento y utilización de la técnica en todas sus acepciones"

Sin duda, estas definiciones ofrecen una imagen global de lo que la ingeniería encierra; sin embargo, conviene abundar al respecto, con objeto de distinguirla con toda claridad de otras actividades del ser humano.

El ingeniero es una profesional dedicado a elevar el nivel de bienestar del hombre, al igual que el médico o el arquitecto. Lo que diferencia al profesional de la ingeniería de cualquier otro es la forma en que lo hace: transformando los elementos de la naturaleza.

El ingeniero debe manejar muy bien las matemáticas y las ciencias naturales, porque necesita aplicarlas adecuadamente al desarrollar y realizar sus diseños;

el científico también requiere de tales conocimientos, pero su objetivo es el de aportar nuevos conocimientos, siempre dentro del campo del saber, donde el valor fundamental es la verdad. El ingeniero es un hacedor, cuyo valor esencial es la utilidad y, en sus quehaceres, requiere establecer una dialéctica permanente entre lo verdadero y lo útil.

La ingeniería se va desarrollando y aprendiendo a través de la práctica; la experiencia que va adquiriendo el profesional de la ingeniería complementa el conocimiento de la ciencia aplicada, adquirido mediante el estudio. El ingeniero necesita entonces mantener una dialéctica constante entre lo teórico y lo práctico, entre lo exacto y lo oportuno.

La ingeniería es un arte, el arte de aplicar la técnica y la ciencia en el desarrollo y realización de sus proyectos, seleccionando y combinando los materiales más apropiados y aprovechando al máximo las fuentes de energía. Al hacerlo, el ingeniero tiene la responsabilidad de no afectar significativamente el medio ambiente, al pretender elevar el nivel de bienestar de particulares; aquí se enfrenta a otra dicotomía: el beneficio de una minoría contra el costo social asociado al perjuicio de los sistemas ecológicos.

El ingeniero debe hacer todo esto de manera económica, por lo que otro elemento fundamental que norma su ejercicio profesional es el sano equilibrio entre el costo de los proyectos y la funcionalidad, la confiabilidad y la seguridad que debe ofrecer a los usuarios. Se dice que el ingeniero puede hacer con un peso lo que cualquiera tendría que hacer con dos.

La regla de cálculo es simplemente un equivalente mecánico de la tabla de logaritmos y se compone de varias escalas numéricas dispuestas de modo que las distancias, que corresponden a los logaritmos, puedan sumarse o restarse; puede obtener los resultados con mayor rapidez que usando la tabla de logaritmos.

0.3 Enfoque del curso.

1. APROXIMACIÓN NUMÉRICA Y ERRORES

1.1 Sistemas numéricos.

Los números son los mismos en todos lados. Sus nombres y su simbología podrán ser diferentes, pero tienen el mismo significado. Los pueblos primitivos aprendieron a contar con los dedos, con los que no podían alcanzar cifras elevadas, pero si las suficientes para satisfacer sus necesidades. Si querían recordar algunos números, hacían incisiones en un palo o marcas en una roca.

| | | | | | | | | | | | | | | | | |

Aún ahora, para contar algunas cosas, es útil usar rayas verticales, agrupando de cinco en cinco.

| | | | | | | | | | | | | | | | | | = 18

Hay muchas maneras de contar: de dos en dos, porque las personas tienen dos manos, dos pies, dos ojos y dos orejas; de cinco en cinco, porque hay cinco dedos en cada mano; de diez en diez, porque son diez los dedos de las manos; de veinte en veinte, porque se tienen veinte dedos sumando los de las manos y los pies. Por eso, los números que sirven para contar se llaman naturales.

Cuando la gente empezó a escribir, también encontró la forma de representar los números de manera más sencilla.

1.1.1 Los números egipcios.

Los egipcios fueron quizá los primeros que crearon una forma de escritura numérica, usando diferentes símbolos:

| 1 1000 1 000 000 Ç 10 10 000 10 000 000 @ 100 100 000

El sistema numeral egipcio tiene como base el diez, pero no es posicional porque no hace uso del cero; para representar un número, se repetían los ocho

símbolos anotados, hasta nueve veces cada uno, con lo cual se alcanzaba un rango de representación de 1 a 99 999 999.

De izquierda a derecha, primero aparecían las unidades, luego las decenas, en seguida las centenas y así, sucesivamente. La interpretación de los números se hace leyendo de derecha a izquierda, sumando los valores de los símbolos.

Ejemplo:| | | Ç Ç Ç @ @ @

| | | | Ç | | Ç Ç Ç @ @ @ | | | | | | @ | | Ç Ç Ç @ @ @

18 102 1997

1.1.2 Los números romanos.

Los romanos usaron letras del alfabeto para construir un sistema de numeración que resultaba algo más fácil de manejar:

I V X L C D M1 5 10 50 100 500 1000

Los números romanos todavía se usan, por tradición, en relojes, para el capitulado de libros, etc., como representaciones elegantes de los números, pero ya no para fines aritméticos.

Las reglas de escritura incluyen el no usar nunca tres símbolos iguales juntos, lo que implica tener que hacer restas para interpretar correctamente la representación de algunos números: IV, cinco menos uno; IX, diez menos uno; XL, cincuenta menos diez; XC, cien menos diez; CD, quinientos menos cien; y CM, mil menos cien.

El sistema numeral romano usa el diez como base, es decir, que la progresión se realiza de diez en diez, de derecha a izquierda; el no uso del cero lo hace pseudoposicional. Utiliza treinta numerales básicos para representar números en el rango de 1 a 3999:

Para las unidades: I II III IV V VI VII VIII IX1 2 3 4 5 6 7 8 9

Para las decenas: X XX XXX XL L LX LXX LXXX XC 10 20 30 40 50 60 70 80 90

Para las centenas: C CC CCC CD D DC DCC DCCC CM 100 200 300 400 500 600 700 800 900

Para las unidades de millar: M MM MMM 1000 2000 3000

Con objeto de aumentar el rango de escritura de los números romanos se optó por colocar una raya sobre los numerales, para indicar que su valor se incrementa mil veces, dos rayas, para incrementarlo un millón de veces, etc.; esta regla tiene validez a partir del número IV y hasta el número MMMCMXCIX.

Ejemplos:

XVIII CII MCMXCVII

X|VIII C|II M|CM|XC|VII 10 | 8 100 | 2 1000 |900| 90 | 7

18 102 1997

1.1.3 Los números mayas.

El sistema numeral maya es semejante al romano, pero resulta superior por cuanto al uso del cero y porque en ningún caso es necesario restar para interpretar un número. El sistema maya usa solamente tres símbolos:

· ¾0 1 5

Con estos símbolos se puede representar cualquier número desde 0 hasta ¥, para lo cual requiere del uso de veinte numerales básicos:

0 5 10 15

1 6 11 16

2 7 12 17

3 8 13 18

4 9 14 19

El sistema de numeración maya es vigesimal, es decir, que la progresión se realiza de veinte en veinte, de abajo hacia arriba, lo que le da la característica de ser posicional, donde la primera posición representa unidades, la segunda veintenas, las tercera múltiplos de cuatrocientos, la cuarta múltiplos de ocho mil, etc. Se escribe y se lee de arriba hacia abajo.

Ejemplos: 4 x 400 = 1600

5 x 20 = 100 19 x 20 = 380

18 x 1 = 18 2 x 1 = 2 17 x 1 = 17

18 102 1997

1.1.4 La evolución de los números.

Además de contar, la gente luego quiso hacer algo más con los números: medirlos, fraccionarlos, sumarlos, restarlos, multiplicarlos y dividirlos. Así nació la aritmética, la que ha evolucionado a medida que el hombre avanza y encuentra muchas cosas que calcular y también muy distintas maneras de hacerlo. Pero toda la matemática se basa en el simple acto de contar.

La necesidad de utilizar números cada vez mayores trajo consigo la noción de infinito, descubierta por los griegos a través de un elevado nivel de abstracción.

Los números naturales ya no fueron suficientes; había la necesidad de fraccionarlos para dividir en partes un todo, y así nacieron los números racionales.

La aparición del cero nace de la necesidad de representar la diferencia entre dos números idénticos y constituye el elemento fundamental para la construcción de los sistemas numéricos posicionales.

Con la invención del álgebra, aparecieron los números negativos como solución de ecuaciones, y con ello se pudo establecer la clasificación de los números enteros en positivos y negativos.

La necesidad de representar algunas cantidades requeridas por los desarrollos geométricos trajo consigo el advenimiento de los números irracionales.

La unidad y fundamento lógico del estudio de los números se alcanzó a través de la construcción del sistema de los números reales, que incluye a todos los mencionados anteriormente.

Los números complejos aparecieron de la misma manera que los negativos, al resolver ecuaciones cuyo resultado requería de la introducción de los llamados números imaginarios.

1.1.5 El sistema decimal indo-arábigo.

Los numerales que han resultado más apropiados son los que usamos en la actualidad. Fueron introducidos a Europa a través de los árabes, pero no fueron ellos quienes los inventaron, sino los hindúes, que desde hace diecisiete siglos usaban símbolos muy similares a los guarismos que se manejan hoy en día. Se ha especulado mucho sobre la evolución de los numerales indo-arábigos; es posible que los seis primeros hayan evolucionado como sigue:

1 4

2 5

3 6

Los cálculos, sin embargo, eran lentos y engorrosos, hasta que los árabes inventaron el diez y, con él, el sistema decimal que conocemos, conviniendo en que el valor de un guarismo varía con su posición, acompañándolo de uno o varios ceros:

10 es diez veces uno.100 es diez veces diez veces uno, o cien veces uno.1000 es diez veces diez veces diez veces uno, o mil veces uno. etc.

Ejemplo: El numeral 853, en base diez, representa el número quinientos ochenta y tres, y se interpreta como sigue:

8 5 3

(8 x 102) + (5 x 101) + (3 x 100) = 800 + 50 + 3

El sistema decimal permite manejar no solamente números enteros, sino todos los números reales, incluyendo racionales e irracionales, y también los números complejos.

En el sistema decimal, los números reales se representan de la misma manera que los enteros, sólo que el valor de un guarismo, a la derecha del punto decimal, varía con su posición, anteponiéndole uno o varios ceros:

0.1 es la décima parte de uno.0.01 es la centésima parte de uno.0.001 es la milésima parte de uno. etc.

Ejemplo: El numeral 0.0745, en base diez, es la representación del número fraccionario "setecientos cuarenta y cinco diez milésimos".

.0 7 4 5

(7 x 10-2) + (4 x 10-3) + (5 x 10-4) = 0.07 + 0.004 + 0.0005

1.1.6 El sistema binario.

El sistema binario es similar al decimal, pero su base es dos en lugar de diez y utiliza solamente dos símbolos o dígitos binarios: 0 y 1, en vez de los diez guarismos que requiere el decimal. El valor de los unos varía con su posición, acompañándolos de uno o varios ceros:

10 es dos veces uno.100 es dos veces dos veces uno, o cuatro veces uno.1000 es dos veces dos veces dos veces uno, u ocho veces uno.etc.

El sistema binario se emplea en las computadoras digitales, porque los alambres que forman los circuitos electrónicos presentan solo dos estados: magnetizados o no magnetizados, dependiendo si pasa o no corriente por ellos.

En vez de agrupar de diez en diez, se agrupa de dos en dos; por ejemplo, el número trece, representado a través de marcas simples e iguales:

| | | | | | | | | | | | | se agrupa por parejas, de izquierda a derecha:

| | | | | | | | | | | | |

luego se agrupa por parejas de óvalos, otra vez de izquierda a derecha:

| | | | | | | | | | | | |

luego por parejas de óvalos más grandes y así, sucesivamente:

| | | | | | | | | | | | |

El número de marcas agrupadas dentro de cada óvalo, e incluso la marca que queda fuera de ellos, corresponde a una potencia de 2.

23 22 20

Sumando los valores obtenidos, se tiene:

23 + 22 + 20 = 8 + 4 + 1 = 13, en sistema decimal,

o bien: (1 x 23) + (1 x 22) + (0 x 21) + (1 x 20)

Considerando los coeficientes de las potencias de 2, se obtiene el numeral:

1 1 0 1

que representa el número trece en sistema binario, y se lee "uno, uno, cero, uno". El numeral obtenido se interpreta como sigue: De derecha a izquierda, el primer 1 representa una unidad (20); luego aparece un cero, lo que significa que no hay ningún grupo de dos unidades (21); el siguiente 1 representa dos grupos de dos unidades (22); y el último 1 representa cuatro grupos de dos unidades (23).

Al igual que en el sistema decimal, en el binario también se pueden representar números fraccionarios. El valor de los unos, a la derecha del punto decimal, varía con su posición, anteponiéndoles uno o varios ceros:

0.1 es la mitad de uno.0.01 es la cuarta parte de uno.0.001 es la octava parte de uno.etc.

Ejemplo: El numeral binario 0.1101 es la representación del número fraccionario "trece dieciseisavos"

.1 1 0 1

(1 x 2-1) + (1 x 2-2) + (0 x 2-3) + (1 x 2-4) = 0.5 + 0.25 + 0.0625 = 0.8125

1.1.7 Los sistemas octal y hexagesimal.

El sistema octal, o de base ocho, requiere de 8 símbolos, los cuales pueden ser los mismos del sistema decimal, del 0 al 7, o cualesquiera otros que se elijan convencionalmente. El valor de un guarismo varía con su posición, acompañándolo de uno o varios ceros:

10 es ocho veces uno.100 es sesenta y cuatro veces uno.1000 es quinientas doce veces uno. etc.

Aquí la agrupación se hace de ocho en ocho, como se muestra:

| | | | | | | | | | | | | | | | | | |

que se puede expresar: (2 x 81) + (3 x 80)

que es equivalente a: 16 + 3 = 19 en sistema decimal.

Considerando los coeficientes de las potencias de 8, se obtiene el numeral 23 que representa al número diecinueve en sistema octal y se lee "dos, tres". El numeral obtenido se interpreta como sigue: De derecha a izquierda, el 3 representa tres unidades (80) y el 2 representa dos grupos de ocho unidades (81).

La representación de números fraccionarios en el sistema octal se hace considerando:

0.1 es la octava parte de uno.0.01 es la sesenta y cuatroava parte de uno.0.001 es la quinientos doceava parte de uno.etc.

El sistema hexagesimal, o de base dieciséis, requiere de 16 símbolos, los cuales pueden ser los mismos diez dígitos del sistema decimal, del 0 al 9, complementados con cualesquiera otros, por ejemplo, las primeras seis letras del alfabeto: A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. El valor de un guarismo varía con su posición, acompañándolo de uno o varios ceros:

10 es dieciséis veces uno.100 es doscientos cincuenta y seis veces uno.1000 es cuatro mil noventa y seis veces uno. etc.

Aquí la agrupación se hace de dieciséis en dieciséis, como se muestra:

| | | | | | | | | | | | | | | | | | |

que se puede expresar:

(1 x 161) + (3 x 160)

que es equivalente a: 16 + 3 = 19 en sistema decimal.

Considerando los coeficientes de las potencias de 16, se obtiene el numeral 13 que representa al número diecinueve en sistema hexagesimal y se lee "uno, tres". El numeral obtenido se interpreta como sigue: De derecha a izquierda, el 3 representa tres unidades (160) y el 1 representa un grupo de dieciséis unidades (161).

La representación de números fraccionarios en el sistema hexagesimal se hace considerando:

0.1 es la dieciseisava parte de uno.0.01 es la doscientos cincuenta y seisava parte de uno.0.001 es la cuatro mil noventa y seisava parte de uno.etc.

1.1.8 Conversión de números enteros de un sistema a otro.

Conversión de enteros de base decimal a bases binaria, octal y hexagesimal: El entero decimal n se divide entre la base b (2, 8 o 16) y se registra el cociente c1 y el residuo r1 resultantes; el cociente c1 se divide entre la base b, registrando el cociente c2 y el residuo r2; el procedimiento se repite hasta alcanzar un cociente ck, que sea cero, con un residuo rk. El número n, expresado en base b, se construye a partir de los residuos, en el orden: rk, rk-1, ..., r2, r1.

Ejemplo: Convertir el número decimal 199710 a los sistemas binario, octal y hexagesimal.

A binario: divisiones sucesivas entre 2.1997 1 998 0 El número 199710 en binario es: 499 1 249 1 1 1 1 1 1 0 0 1 1 0 12

124 0 62 0 31 1 15 1

7 1 3 1 1 1 0

A octal: divisiones sucesivas entre 8. 1997 5 249 1 El número 199710 en octal es: 31 7 3 3 3 7 1 58

0

A hexagesimal: divisiones sucesivas entre 16.1997 13 = D 124 12 = C El número 199710 en hexagesimal es: 7 7 0 7 C D16

Conversión de bases binaria, octal o hexagesimal, a base decimal. Cada uno de los dígitos que conforman el número m, expresado en binario, octal o hexagesimal, se multiplica por la base (2, 8 o 16, respectivamente) elevada a una potencia igual a la posición del dígito, empezando por la potencia cero, de derecha a izquierda. La suma de estos productos es el número m, en base decimal.

Ejemplo: Convertir el número binario 11100110110 al sistema decimal.

1 x 28 + 1 x 27 + 1 x 26 + 1 x 23 + 1 x 22 + 1 x 20 = 256 + 128 + 64 + 8 + 4 + 1 = 46110

Ejemplo: Convertir el número octal 5438 al sistema decimal.

5 x 82 + 4 x 81 + 3 x 80 = 320 + 32 + 3 = 35510

Ejemplo: Convertir el número hexagesimal 9B216 al sistema decimal.

9 x 162 + 11 x 161 + 2 x 160 = 2304 + 176 + 2 = 248210

Conversión de enteros entre los sistemas binario, octal y hexagesimal. La siguiente tabla muestra las equivalencias entre los primeros 16 numerales en los sistemas binario, octal y hexagesimal; el sistema decimal aparece sólo como referencia. Con estas equivalencias se puede hacer la conversión de cualquier entero de un sistema a otro.

Binario Octal Hexagesimal Decimal000 ó 0000 0 0 0001 ó 0001 1 1 1010 ó 0010 2 2 2011 ó 0011 3 3 3100 ó 0100 4 4 4101 ó 0101 5 5 5110 ó 0110 6 6 6111 ó 0111 7 7 7

1000 10 8 81001 11 9 91010 12 A 101011 13 B 111100 14 C 121101 15 D 131110 16 E 141111 17 F 15

Ejemplo: Convertir el número binario 111110011012 a los sistemas octal y hexagesimal.

A octal:011 111 001 101 El número 111110011012 en octal es: 37158

3 7 1 5

A hexagesimal: 0111 1100 1101 El número 111110011012 en hexagesimal es 7CD16

7 C D

Ejemplo: Convertir el número octal 5438 a los sistemas binario y hexagesimal.

A binario:

5 4 3 El número 5438 en binario es: 1011000112

101 100 011

A hexagesimal:0001 0110 0011 El número 5438 en hexagesimal es: 16316

1 6 3

Ejemplo: Convertir el número hexagesimal 9B216 a los sistemas binario y octal.

A binario: 9 B 2 El número 9B216 en binario es: 1001 1011 0010

1001101100102

A octal:100 110 110 010 El número 9B216 en octal es: 46628

4 6 6 2

1.1.9 Conversión de números fraccionarios de un sistema a otro.

Conversión de fracciones de base decimal a bases binaria, octal y hexagesimal: La fracción decimal n se multiplica por la base b (2, 8 o 16) y se registra por un lado la parte fraccionaria resultante f1 y por el otro la parte entera correspondiente e1; la fracción f1 se multiplica por la base b, registrando la fracción f2 y el entero e2 asociado; el procedimiento se repite ocho veces ó hasta alcanzar una fracción fk, que sea cero o cercana a cero (fk

³ 0.9961 ó fk £ 0.0039 con su entero asociado ek. El número n, expresado en base b, se construye a partir de los enteros, en el orden: e1, e2, ..., ek-1, ek.

Ejemplo: Convertir la fracción decimal 0.199710 a los sistemas binario, octal y hexagesimal.

A binario: multiplicaciones sucesivas por 2.0.1997 .3994 0 El número 199710 en binario es aproximadamente: .7988 0

.5976 1 0.0 0 1 1 0 0 1 12

.1952 1 .3904 0 .7808 0 .5616 1 .1232 1 .2464 0

A octal: multiplicaciones sucesivas por 8. 0.1997 .5676 1 El número 199710 en octal es aproximadamente: .7808 4 .2464 6 0.1 4 6 1 7 6 1 28

.9712 1 .7696 7 .1568 6 .2544 1 .0352 2 .2816 0

A hexagesimal: multiplicaciones sucesivas por 16.0.1997 .1952 3 El número 199710 en hexagesimal es

aproximadamente .1232 3 .9712 1 0.3 3 1 F 8 A 0 916

.5392 15 = F .6272 8 .0352 10 = A .5632 0 .0112 9 .1792 0

Conversión de fracciones de bases binaria, octal o hexagesimal, a base decimal. Cada uno de los dígitos que conforman la fracción m, expresado en binario, octal o hexagesimal, se multiplica por la base (2, 8 o 16, respectivamente) elevada a una potencia igual a la posición del dígito, empezando por la potencia menos uno, de izquierda a derecha. La suma de estos productos es el número m, en base decimal.

Ejemplo: Convertir el número binario 0.11100110110 al sistema decimal.

1 x 2-1 + 1 x 2-2 + 1 x 2-3 + 1 x 2-6 + 1 x 2-7 + 1 x 2-9 =

0.5 + 0.25 + 0.125 + 0.015625 + 0.0078125 + 0-001953125 = 0.900390610

Ejemplo: Convertir la fracción octal 0.5438 al sistema decimal.

5 x 8-1 + 4 x 8-2 + 3 x 8-3 = 0.625 + 0.0625 + 0.005859375 = 0.693359310

Ejemplo: Convertir la fracción hexagesimal 0.9B216 al sistema decimal.

9 x 16-1 + 11 x 16-2 + 2 x 16-3 = 0.5625 + 0.0429687 + 0.0004882= 0.605468710

Conversión de fracciones entre los sistemas binario, octal y hexagesimal. La misma tabla del apartado 1.1.8 que muestra las equivalencias entre los primeros 16 numerales en los sistemas binario, octal y hexagesimal, sirve también para hacer la conversión de cualquier fracción de un sistema a otro.

Ejemplo: Convertir la fracción binaria 0.111110011012 a los sistemas octal y hexagesimal.

A octal:0.111 110 011 010 El número 111110011012 en octal es: 0. 7 6 3 2 0.76328

A hexagesimal: 0.1111 1001 1010 El número 111110011012 en hexagesimal es:0. F 9 A 0.F9A16

Ejemplo: Convertir la fracción octal 0.5438 a los sistemas binario y hexagesimal.

A binario:0. 5 4 3 El número 5438 en binario es: 0.101 100 011 0.1011000112

A hexagesimal:0.1011 00011000 El número 5438 en hexagesimal es: 0. B 1 8 0.B1816

Ejemplo: Convertir la fracción hexagesimal 0.9B216 a los sistemas binario y octal.

A binario:0. 9 B 2 El número 9B216 en binario es: 0.1001 1011 0010 0.1001101100102

A octal:0.100 110 110 010 El número 9B216 en octal es: 0. 4 6 6 2 0.46628

1.2 Aproximaciones.

Los métodos numéricos ofrecen soluciones aproximadas muy cercanas a las soluciones exactas; la discrepancia entre una solución verdadera y una aproximada constituye un error, por lo que es importante saber qué se entiende por aproximar y aprender a cuantificar los errores, para minimizarlos.

1.2.1 Aproximación numérica.

Se entiende por aproximación numérica X* una cifra que representa a un número cuyo valor exacto es X. En la medida en que la cifra X* se acerca más al valor exacto X, será una mejor aproximación de ese número; por ejemplo, 3.1416 es una aproximación numérica de p, 2.7183 es una aproximación numérica de e, 1.4142 es una aproximación numérica de Ö 2, y 0.333333 es una aproximación numérica de 1/3.

1.2.2 Cifras significativas.

Las mediciones se realizan normalmente a través de instrumentos; por ejemplo, un velocímetro para medir la velocidad de un automóvil, o un odómetro para medir el kilometraje recorrido.

El número de cifras significativas es el número de dígitos t, que se pueden usar, con confianza, al medir una variable; por ejemplo, 3 cifras significativas en el velocímetro y 7 cifras significativas en el odómetro.

Los ceros incluidos en un número no siempre son cifras significativas; por ejemplo, los números 0.00001845, 0.001845, 1845 y 184500 aparentemente tienen 4 cifras significativas, pero habría que conocer el contexto en el que se está trabajando en cada caso, para identificar cuántos y cuáles ceros deben ser considerados como cifras significativas.

El manejo de cifras significativas permite desarrollar criterios para detectar qué tan precisos son los resultados obtenidos, así como evaluar los niveles de exactitud y precisión con que son expresados algunos números tales como p, e ó Ö

Alternativamente al número de cifras significativas, está el de número n de dígitos en la mantisa, que indica el número de cifras a considerar, después del punto decimal. En operaciones manuales, el número de dígitos en la mantisa sigue teniendo vigencia, aunque ha sido desplazado poco a poco por el número de cifras significativas que, por diseño, manejan calculadoras y computadoras.

1.2.3 Exactitud y precisión.

La precisión se refiere al número de cifras significativas que representa una cantidad.

La exactitud se refiere a la aproximación de un número o de una medida al valor numérico que se supone representa.

Ejemplo: pes un número irracional, constituido por un número infinito de dígitos; 3.141592653589793... es una aproximación tan buena de p, que tal podría considerarse que es su valor exacto. Al considerar las siguientes aproximaciones de p:

p = 3.15 es impreciso e inexacto.p = 3.14 es exacto pero impreciso.p = 3.151692 es preciso pero inexacto.p = 3.141593 es exacto y preciso.

Los métodos numéricos deben ofrecer soluciones suficientemente exactas y precisas. El término error se usa tanto para representar la inexactitud como para medir la imprecisión en las predicciones.

1.3 Errores.

1.3.1 Error absoluto y error relativo.

Los errores numéricos se generan con el uso de aproximaciones para representar las operaciones y cantidades matemáticas.

La relación entre un resultado exacto o verdadero X y el valor aproximado X* está dado por:

X = X* + error ______ (1.1)

El que un error tenga signo positivo o negativo, generalmente no tiene importancia, de manera que el error absoluto se define como el valor absoluto de la diferencia entre el valor verdadero y el valor aproximado:

E = |X X*| ______ (1.2)

El error absoluto se expresa en las mismas unidades que X y no toma en cuenta el orden de magnitud de la cantidad que se está midiendo.

El error relativo normaliza el error absoluto respecto al valor verdadero de la cantidad medida:

e = |E/X| = |(X X*)/X| ______ (1.3)

El error relativo es adimensional y puede quedar expresado así, en forma fraccional, o se puede multiplicar por 100 para expresarlo en términos porcentuales:

e (%) = |E/X| x 100 ______ (1.4)

Las ecuaciones (1.1), (1.2), (1.3) y (1.4) suponen que se conoce el valor verdadero de X, lo que hace que los errores absoluto y relativo: E y e sean también verdaderos. Pero normalmente X no se conoce; no tendría sentido considerar una aproximación, si se conociese el valor verdadero.

La mejor estimación posible del verdadero valor de X es su aproximación X* y se define entonces una estimación del error relativo como:

e* = |E*/X| ______ (1.5)

Pero el problema está en cómo estimar E*, en ausencia de conocimiento del verdadero valor de X.

Algunos métodos numéricos usan un esquema iterativo en los que se hace una aproximación con base en la aproximación previa y esto se hace varias veces, para obtener cada vez mejores aproximaciones:

e* = |(valor actual valor anterior)/valor actual| ______ (1.6)

Los cálculos se repiten hasta que: e* < eo, donde eo es un valor prefijado previamente.

Los errores numéricos se clasifican, por su origen, en tres tipos: errores inherentes, errores de redondeo y errores por truncamiento, cada uno de los cuales merece un tratamiento por separado.

1.3.2 Errores inherentes.

Los errores inherentes se producen por la propia variabilidad de los fenómenos; al ser caracterizados a través de cantidades físicas, las mediciones conllevan incertidumbre, pues los instrumentos de medición ofrecen sólo una aproximación numérica del valor verdadero de la magnitud medida, pues se calibran para considerar solamente un determinado número de cifras significativas. Todas las magnitudes que se manejan en ingeniería son susceptibles a este tipo de errores.

Por ejemplo, cuando se dice que el tirante de agua de una presa es de 123 m, habiendo hecho la medición mediante un dispositivo que ofrece una precisión de tres cifras significativas, el tirante de agua realmente puede fluctuar entre 122.5 y 123.5 m.

X Î [122.5, 123.5) X* = 123

El error inherente absoluto máximo que se puede llegar a cometer cumple con la desigualdad: Emax £ 0.5 m;

y el correspondiente error inherente relativo máximo cumple con la

desigualdad: emax £ 0.5/122.5 = 0.00408.

El error inherente absoluto medio que se puede cometer cumple con la desigualdad: Emed £ 0.25 m;

y el correspondiente error inherente relativo medio cumple con la desigualdad:

emed £ 0.00204.

Algunos autores mencionan dentro de esta clasificación los errores humanos que se cometen al hacer la lectura de una medida, al transmitirla o al transcribirla; pero, en virtud de que estos errores de lectura, transmisión o transcripción pueden constituirse en pifias garrafales que quedan fuera de todo control, no es posible estimarlos en forma sistematizada. Por ejemplo, si al transcribir en un documento la densidad de un producto, se anota 1.381 en vez de 1.831, que es la medida leída, la pifia es imposible de manejar y predecir.

1.3.3 Errores de redondeo.

Los errores de redondeo se producen al realizar operaciones aritméticas en las que el resultado produce una mantisa cuyo número de dígitos difiere significativamente del número de dígitos de la mantisa de alguno de los valores numéricos involucrados en la operación. Al manejar un determinado número de cifras significativas en los cálculos, el resultado tiene que ser redondeado de alguna manera, sobrestimando o subestimando el valor resultante verdadero.

Sea X el resultado de una operación aritmética, el cual puede ser expresado mediante notación matemática, en forma normalizada: F x 10n, donde F está formada por m cifras obtenidas en el resultado, de las cuales, n son enteras. Este valor se puede descomponer en dos sumandos, igualmente normalizados: el primero formado por t cifras significativas, las t primeras cifras del resultado después del punto decimal: f x 10n, y el segundo formado por las (n-t) cifras no significativas del resultado, g x 10n-t:

X = F x 10n = f x 10n + g x 10n-t

En virtud de que F, f y g son números normalizados, su valor absoluto puede tomar algún valor dentro del intervalo semiabierto [0.1, 1). F está formado por n dígitos, f está formada por t dígitos y g está formada por (n-t) dígitos.

0.1 £ |F| < 1 ; 0.1 £ |f| < 1 ; 0 £ |g| < 1 [0.1, 0.999...99] [0.1, 0.999...99] [0, 0.999...]

n dígitos t dígitos (n-t) dígitos

Al considerar únicamente t cifras significativas, se están despreciando (n-t) cifras del resultado, es decir, se está redondeando el resultado. Ahora bien, hay dos maneras de hacer ese redondeo: la primera consiste en tomar como aproximación numérica X* de la operación realizada el valor f x 10n, haciendo caso omiso del valor de g x 10n-t; la segunda consiste en tomar como aproximación numérica X* el valor f x 10n, pero ajustado conforme al valor que tenga el primer dígito de g x 10n-t.

Redondeo truncado: X* = f x 10n ______ (1.7)

El error absoluto que se comete en cada caso particular es:

E = |g| x 10n-t

El error absoluto máximo que se puede llegar a cometer, en cualquier caso, es:

Emax < 1 x 10n-t

Y el error absoluto esperado que se puede cometer, considerando una distribución de probabilidad uniforme para los errores, es:

Emed < 0.5 x 10n-t

El error relativo que se comete en cada caso particular es:

e = |g/F| x 10-t

El error relativo máximo que se puede llegar a cometer, en todo caso, es:

emax < 1 x 101-t

Y el error relativo esperado o promedio que se puede cometer es:

emed < 0.5 x 101-t

Puesto que X no siempre se puede conocer con exactitud, F tampoco, por lo que es imposible calcular los errores verdaderos, se recurre a sus estimaciones:

El error relativo estimado que se comete en cada caso particular es:

e* = |g/f| x 10-t

El error relativo máximo estimado que se puede llegar a cometer es:

e*max < 1 x 101-t

Y el error relativo esperado estimado que se puede cometer es:

e*med < 0.5 x 101-t

Redondeo simétrico:

f x 10n ; si |g|< 0.5X* =

f x 10n + 1 x 10n-t ; si |g| ³ 0.5

El error absoluto que se comete en cada caso particular es:

|g| x 10n-t ; si |g|< 0.5 E =

|1 g| x 10n-t ; si |g| ³ 0.5

El error absoluto máximo que se puede llegar a cometer, en cualquier caso, es:

Emax < 0.5 x 10n-t

Y el error absoluto esperado que se puede cometer, considerando una distribución de probabilidad uniforme para los errores, es:

Emed < 0.25 x 10n-t

El error relativo que se comete en cada caso particular es:

|g/F| x 10-t ; si |g| < 0.5

e = |(1g)/F| x 10-t ; si |g|³0.5

El error relativo máximo que se puede llegar a cometer, en todo caso, es:

emax < 0.5 x 101-t

Y el error relativo esperado o promedio que se puede cometer es:

emed < 0.25 x 101-t

El error relativo estimado que se comete en cada caso particular es:

|g/f| x 10-t ; si |g| < 0.5

e* = |(1g)/f| x 10-t ; si |g| ³ 0.5

El error relativo máximo estimado que se puede llegar a cometer es:

e*max < 0.5 x 101-t

Y el error relativo esperado estimado que se puede cometer es:

e*med < 0.25 x 101-t

Ejemplo: Efectuar la suma: 162.4 + 1.769, considerando 4 cifras significativas primero con redondeo truncado y luego con redondeo simétrico.

162.4 = 0.1624 x 103 = 0.1624 x 103

+ 1.769 = 0.1769 x 101 = 0.001769 x 103 _______________ ___________________

164.169 0.164169 x 103

X = 0.164169 x 103 = 0.1641 x 103 + 0.000069 x 103

= 0.1641 x 103 + 0.6900 x 10-1 ; n = 3 ; t = 4

Redondeo truncado:

X* = 0.1641 x 103

E = |X X*| = |0.164169 x 103 0.1641 x 103| =

E = |0.000069 x 103| = |0.69 x 10-1| = 0.69 x 10-1 < 1 x 10-1

e = |E/X| = |(0.69 x 10-1)/(0.164169 x 103)| = 0.4203 x 10-3 < 1 x 10-3

e* = |E/X*| = |(0.69 x 10-1)/(0.1641 x 103)| = 0.4205 x 10-3 < 1 x 10-3

Redondeo simétrico:

X* = 0.1642 x 103

E = |X X*| = |0.164169 x 103 0.1642 x 103| = = |0.000031 x 103| = |0.31 x 10-1| = 0.31 x 10-1 < 0.5 x 10-1

e = |E/X| = |(0.31 x 10-1)/(0.164169 x 103)| = 0.1888 x 10-3 < 0.5 x 10-3

e* = |E/X*| = |(0.31 x 10-1)/(0.1642 x 103)| = 0.1888 x 10-3 < 0.5 x 10-3

Ejemplo: Efectuar la siguiente suma:

0.9999 x 100

0.8888 x 101

0.7777 x 102

0.6666 x 103

0.5555 x 104

0.4444 x 105

0.3333 x 106

0.2222 x 107

0.1111 x 108

a) primero considerando todas las cifras incluidas en los sumandos.b) luego efectuando la suma de arriba hacia abajo, con redondeo simétrico y

t = 4, calcule el error relativo porcentual correspondiente.c) luego efectuando la suma de abajo hacia arriba, con redondeo simétrico y

t = 4, calcule el error relativo porcentual correspondiente.d) compare los errores cometidos en los incisos b y c, y saque conclusiones.

a) la suma exacta es: X = 13'716,049.2579

b) la suma descendente da: X* = 13'720,000 = 0.1372 x 108

E = 3960.7421 ; e = 0.2888 x 10-3

c) la suma ascendente da: X* = 13'710,000 = 0.1371 x 108

E = 6049.2579 ; e = 0.4410 x 10-3

d) Es mayor el error haciendo la suma de abajo hacia arriba que haciéndola de arriba hacia abajo. Aunque teóricamente sabemos que la suma es conmutativa, resulta que al redondear simétricamente a 4 cifras significativas, el orden en que se realiza la suma afecta el resultado.

En ambos casos se cumple que: e < emax = 0.5 x 101-t = 0.5 x 10-3

En este caso, e > emed = 0.25 x 10-3, lo que se explica porque el ejemplo está amañado para que dé errores significativos.

1.3.4 Errores por truncamiento.

Los errores por truncamiento ocurren cuando un número, cuya parte fraccionaria está constituida por un número infinito de dígitos, requiere ser representado numéricamente en forma aproximada, utilizando un determinado número de cifras significativas.

Por ejemplo, 3.1416 es una buena aproximación del número p, pero el valor exacto p no puede ser expresado numéricamente por completo, pues consta de un número infinito de dígitos: 3.141592653589793...; lo mismo ocurre con el 2.7183 para el número e, el 1.4142 para Ö 2, y el 0.33333 para 1/3.

Sin embargo, todos los números, ya sean enteros, racionales o irracionales, pueden ser representados a través de formulaciones matemáticas exactas, utilizando series infinitas; obviamente, las representaciones numéricas acotadas a un determinado número de cifras significativas, son aproximaciones numéricas que llevan implícitos errores por truncamiento.

Por ejemplo, los números 1, 1/3 y e pueden expresarse matemáticamente, de manera exacta, a través de las siguientes series infinitas:

1 = 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + ...

1/3 = 3/10 + 3/100 + 3/1000 + 3/10000 + 3/100000 + ...

e = 1/0! + 1/1! + 1/2! + 1/3! + 1/4! + 1/5! + ...

En este último caso, por ejemplo, la aproximación se puede hacer truncando la serie en cualquier punto, lo que equivale a incluir 1, 2, 3, ..., ó n términos de la serie. Si tomásemos como valor "exacto" de e, 2.7182818, tendríamos:

Términos Aproximación Error absoluto Error relativo (%) 1 1.0000000 1.7182818 63.21 2 2.0000000 0.7182818 26.42 3 2.5000000 0.2182818 8.03 4 2.6666667 0.0516151 1.90 5 2.7083333 0.0099485 0.37 6 2.7166667 0.0016152 0.06 7 2.7180556 0.0002263 0.01 8 2.7182540 0.0000279 » 0.00

El manejo de series infinitas para aproximar valores específicos de funciones matemáticas es fundamental para comprender a plenitud la mayor parte de los métodos numéricos incluidos en este curso, así como para calcular los errores por truncamiento asociados a esas aproximaciones. Este tema será retomado al final del capítulo, donde se trata con detalle el uso de la serie de Taylor.

1.3.5 Propagación de errores.

Sean X, Y valores exactos; sean X, Y sus aproximaciones. Sean Ex y Ey los

errores absolutos inherentes o por truncamiento, asociados a esas aproximaciones numéricas: sean ex y ey los errores relativos correspondientes.

Sea Er el error absoluto de redondeo que se puede cometer al realizar

cualquier operación aritmética; y er el error relativo de redondeo correspondiente.

Suma: X +Y = X + Ex + Y + Ey + Er = (X +Y) + (Ex + Ey) + Er

Ex+y = Ex + Ey + Er

ex+y = (Ex + Ey + Er)/(X + Y)

= [X/(X + Y)](Ex/X) + [Y/(X + Y)](Ey/Y) + er

ex+y = [X/(X + Y)]ex + [Y/(X + Y)]ey + er ______ (1.9)

Resta: X Y = (X + Ex) (Y + Ey) + Er = X + Ex Y Ey + Er = (X Y) + (Ex Ey) + Er

Ex-y = Ex Ey + Er

ex-y = (Ex Ey + Er)/(X Y) =

= [X/(X Y)](Ex/X) [Y/(X Y)](Ey/Y) + er =

ex-y = [X/(X Y)]ex [Y/(X Y)]ey + er _____ (1.10)Producto: X·Y = (X + Ex)(Y + Ey) + Er = X·Y + XEy + YEx + ExEy + Er

= X·Y + X Ey + Y Ex + Er

Exy = X Ey + Y Ex + Er

exy = (X Ey + Y Ex + Er)/X Y = Ex/X + Ey/Y + er

exy = ex + ey + er _____ (1.11)

Cociente: X/Y = (X + Ex)/(Y + Ey) + Er = (X + Ex)/[Y(1 + Ey/Y)] + Er = [(X + Ex)/Y] [1/(1 + Ey/Y)] +Er

= [(X + Ex)/Y] [1 Ey/Y + (Ey/Y)2 (Ey/Y)3 + ...] + Er

= [(X + Ex)/Y] (1 Ey/Y) + Er

= [(X + Ex)/Y] + [(X + Ex)Ey/Y2] + Er

= X/Y + Ex/Y XEy/Y2 ExEy/Y2 + Er

= X/Y + Ex/Y XEy/Y2 + Er

Ex/y = Ex/Y XEy/Y2 + Er = (YEx XEy)/Y2 + Er

ex/y = [(YEx XEy)/Y2 + Er]/(X/Y) = (YEx XEy)/XY + er

= Ex/X Ey/Y + er

ex/y = ex ey + er _____ (1.12)

Las ecuaciones (1.10), (1.11), (1.12) y (1.13) muestran como se propagan los errores al efectuar las operaciones aritméticas de suma, resta, producto y cociente, respectivamente. La propagación de los errores crece en la medida que se efectúan más y más operaciones, aunque eventualmente llegan a disminuir por efecto de compensación, cuando éstas se combinan.

1.3.6 Gráficas de procesos.

Cada una de las operaciones vistas anteriormente puede ser representada a través de un gráfica de proceso, como se muestra a continuación:

a) Suma: + er

X/(X + Y) Y/(X + Y)

X Yex ey

b) Resta: er

X/(X Y) Y/(X Y)

X Yex ey

c) Producto: · er

1 1

X Yex ey

c) Cociente: er

1 1

X Yex ey

Se observa que los valores anotados a un lado de los segmentos de recta que unen a las variables X y Y con los símbolos de suma, resta, producto y cociente, son precisamente los coeficientes de los errores relativos ex y ey en las ecuaciones (1.9), (1.10), (1.11) y (1.12), respectivamente.

Ejemplo: Auxiliándose en una gráfica de proceso, calcule el error relativo que se comete al evaluar: U = (X + Y)·Z, donde se sabe que X y Y son exactos y Z no lo es.

ex, ey = 0 ; ez £ 0.5 x 101-t

redondeo por producto er £ 0.5 x 101-t

redondeo por suma er £ 0.5 x 101-t

U

er ·

1 1

er + Z ez

X/(X + Y) Y/(X + Y)

X Y

eu = e(x+y)z = ex+y + ez + er

ex+y = [X/(X+Y)]ex + [Y/(X+Y)]ey + er

eu = ez + er + er

eu £ 0.5 x 101-t + 0.5 x 101-t + 0.5 x 101-t = 1.5 x 101-t

Ejemplo: Auxiliándose en una gráfica de proceso, calcule el error relativo que se comete al evaluar: X = A + B + C + D.

a) considerando las sumas sucesiva de A, B, C y D.b) sumando por un lado A y B, y por otro C y D, para luego sumar sus

resultados: X = (A + B) + (C + D)c) discuta los resultados obtenidos en los dos incisos anteriores.

a) X

er +

(A+B+C)/(A+B+C+D) D/(A+B+C+D)

er + D eD

(A+B)/(A+B+C) C/(A+B+C)

er + C eC

A/(A+B) B/(A+B)

eA A B eB

eX = __A+B+C__ eA+B+C + ____D____ eD + erA+B+C+D A+B+C+D

eA+B+C = __A+B__ eA+B + ___C____ eC + erA+B+C A+B+C

eA+B = __A__eA + __B__ eB + er A+B A+B

eX = _A+B+C_ [ _A+B_ ( _A_ eA + _B_ eB + er) + ___C__ eC + er] +

A+B+C+D A+B+C A+B A+B A+B+C

+ ___D___ eD + er

A+B+C+D

= _A+B+C_ [ ___A__ eA + ___B__ eB + __A+B_ er + ___C__ eC + er] +

A+B+C+D A+B+C A+B+C A+B+C A+B+C

+ ____D___ eD + er

A+B+C+D

eX = ____A___ eA + ____B___ eB + ___A+B__ er + ____C___ eC +

A+B+C+D A+B+C+D A+B+C+D A+B+C+D

+ __A+B+C_ er + ____D___ eD + er

A+B+C+D A+B+C+D

Suponiendo que los datos presentan errores inherentes:

eA = eB = eC = eD = er = e £ 0.5 x 101-t

eX = ____A___ e + ____B___ e + ___A+B__ e + ____C___ e + A+B+C+D A+B+C+D A+B+C+D A+B+C+D

+ __A+B+C_ e + ____D___ e + e

A+B+C+D A+B+C+D

eX _A+B+A+B+C+A+B+C+D+A+B+C+D_ e = _4A+4B+3C+2D_ e A+B+C+D A+B+C+D

eX £ _4A+4B+3C+2D_ x 0.5 x 101-t

A+B+C+D

Suponiendo que los datos son exactos:

eA = eB = eC = eD = 0; er = e £ 0.5 x 101-t

eX = ___A+B__ e + __A+B+C_ e + e A+B+C+D A+B+C+D

= _A+B+A+B+C+A+B+C+D_ e = _3A+3B+2C+D_ e A+B+C+D A+B+C+D

eX £ _3A+3B+2C+D_ x 0.5 x 101-t

A+B+C+D

b) X

er

(A+B)/(A+B+C+D) (C+D/(A+B+C+D)

er + + er

A/(A+B) B/(A+B) C/(C+D) D/(C+D)

A B C D

eA eB eC eD

eX = ___A+B__ eA+B + ___C+D__ eC+D + erA+B+C+D A+B+C+D

eA+B = __A__ eA + __B__ eB + er A+B A+B

eC+D = __C__eC + __D__ eD + er C+D C+D

eX = __A+B___ ( __A__ eA + __B__ eB + er)

A+B+C+D A+B A+B

__C+D___ ( __C__ eC + __D__ eD + er) + er

A+B+C+D C+D C+D

= ____A___ eA + ____B___ eB + ___A+B__ er + ____C___ eC +

A+B+C+D A+B+C+D A+B+C+D A+B+C+D

+ ____D___ eD + ___C+D__ er + er

A+B+C+D A+B+C+D

Si eA = eB = eC = eD = er = e £ 0.5 x 101-t

eX = ____A___ e + ____B___ e + ___A+B__ e + ____C___ e + A+B+C+D A+B+C+D A+B+C+D A+B+C+D

+ ____D___ e + ___C+D__ e + e A+B+C+D A+B+C+D

eX _A+B+A+B+C+D+C+D+A+B+C+D_ e = _3A+3B+3C+3D_ e = 3e A+B+C+D A+B+C+D

eX £ 3 x 0.5 x 101-t = 1.5 x 101-t

Si eA = eB = eC = eD = 0; er = e £ 0.5 x 101-t

eX = ___A+B__ e + ___C+D__ e + e A+B+C+D A+B+C+D

= _A+B+C+D+A+B+C+D_ e = _2A+2B+2C+2D_ e = 2e A+B+C+D A+B+C+D

eX £ 2 x 0.5 x 101-t = 1.0 x 101-t

c) Es mayor el error haciendo la suma en forma sucesiva que agrupando los sumandos. Aunque teóricamente sabemos que la suma es asociativa, se ve que la forma en que se realizan las operaciones afecta el resultado.

También se observa como incide en el error total la presencia de errores inherentes en los datos; para el inciso a) en un 44.44 % más, y para el inciso b) en un 50% más.

1.4 Aritmética de la computadora.

El usuario se comunica con la computadora en sistema decimal, es decir, introduce en ella y extrae de ella números en base decimal. Al recibir los datos, para poder trabajar con ellos, la computadora los convierte al sistema binario, su lenguaje natural de operación. Todas las operaciones se efectúan en binario y los resultados obtenidos, antes de ser entregados al usuario, la máquina los convierte al sistema decimal. Claro está que la computadora realiza estos procesos a enormes velocidades, de manera que el usuario ni se entera de lo que sucede ahí dentro.

Sin embargo, al efectuar las conversiones y realizar los cálculos se suscitan pequeños errores que, si no se prevén, pueden propagarse y arrojar resultados muy inexactos o totalmente absurdos. Por eso es tan importante el entender la aritmética de las computadoras e identificar las situaciones en que pueden ocurrir errores severos.

La operación interna de una computadora se basa en la aritmética binaria, en la que la base es el 2 y sólo hay dos símbolos: 0 y 1, pues la memoria de la máquina consiste en un vasto número de dispositivos de registro magnético y electrónico, cada uno de los cuales sólo puede presentar uno de dos posibles estados: magnetizado en un sentido, representando al cero, o magnetizado en el otro sentido, representando al uno. Cada dispositivo magnético es un dígito binario, denominado bit (abreviatura de "binary digit").

Los bits se agrupan en unidades llamadas palabras, las cuales pueden contener 8, 16, 32 o 64 bits, dependiendo de la computadora de que se trate (los tamaños de palabra más usuales son los de 16 o de 32 bits). También se utilizan otras unidades denominadas bytes, constituidos generalmente por 8 bits, y utilizados como particiones de palabras, para representar caracteres. Así, por ejemplo, una palabra de 32 bits consta de 4 bytes.

La manera en que se usan los bits para registrar los números enteros y los números fraccionarios, varía en función del diseño de la computadora

1.4.1 Los números enteros en computadora.

Los números enteros requieren de al menos una palabra para almacenarse dentro de la memoria de la computadora; si el tamaño de palabra de la computadora es de 2 bytes (16 bits), el primer bit registra el signo: positivo si es 0, negativo si es 1, y los 15 bits restantes se usan para registrar números enteros binarios en el rango de 000000000000000 a 111111111111111. ____________________________________________________ ½ ± ½n1 ½n2 ½n3 ½n4 ½n5 ½n6 ½n7 ½n8 ½n9 ½n10 ½n11 ½n12 ½n13 ½n14 ½n15 ½

Al convertir el número binario 111111111111111 a sistema decimal, se obtienen las cotas inferior y superior en sistema decimal:

214 + 213 + 212 + 211 + 210 + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 =

= 215 1 = 32767

Conforme a esto, el mayor entero positivo posible sería el 32767 y el menor entero negativo posible sería el 32767; pero la mayoría de las computadoras usan el complemento a dos para almacenar los números negativos, lo cual consiste en cambiar la interpretación de la polaridad en los dispositivos magnéticos e incrementar en 1 el resultado obtenido; esto hace que su rango se incremente en 1, para que sea 32768.

00000000000000002 = 0 10000000000000002 = 3276810

Los números positivos se registran así:

00000000000000012 = 110 ... 01111111111111112 = 3276710

Para los números negativos, la polaridad se invierte: los ceros se cambian por unos y los unos por ceros y se le añade un 1 al resultado, de manera que su registro se hace así:

11111111111111112 = 110 ... 10000000000000012 = 3276710

Entonces, el rango de almacenamiento de números enteros decimales, en máquinas con palabras de memoria de 16 bits es: 32768 a 32767, que son valores más que suficientes para lo que requiere un ingeniero.

Si el tamaño de palabra de la computadora es de 4 bytes (32 bits), el rango es entonces de 2147483648 a 2147483647, lo que puede verificarse fácilmente.

Ejemplo: Representar el número 2834510 en sistema binario, en una palabra de 16 bits.

28345 1 2834510 = 1101110101110012

14172 0 7086 0 3543 1 1771 1 ________________________________ 885 1 ½0½1½1½0½1½1½1½0½1½0½1½1½1½0½0½1½ 442 0 (+) 221 1 110 0 55 1 27 1 13 1 6 0 3 1 1 1 0

Ejemplo: Identificar qué número entero decimal está representado en la siguiente palabra de 16 bits.

________________________________½0½0½0½0½0½1½1½0½1½1½1½1½1½0½1½0½ (+)

210 + 29 + 27 + 26 + 25 + 24 + 23 + 21 = 178610

Ejemplo: Representar el número 284910 en sistema binario, en una palabra de 16 bits, usando complemento a dos.

2849 11424 0 712 0 356 0 178 0 89 1 44 0 22 0 11 1 5 1 2 0 1 1 0

284910 = 1011001000012 ; 284910 = 1011001000012

Complementamos el valor a 15 caracteres: 0001011001000012

Cambiamos la polaridad: 111100110111102

Le sumamos 1: 111100110111112

________________________________½1½1½1½1½0½1½0½0½1½1½0½1½1½1½1½1½ ()

Ejemplo: Identificar qué número entero decimal está representado en la siguiente palabra de 16 bits, usando complemento a dos.

________________________________½1½1½1½1½0½1½1½0½0½1½0½1½0½0½1½1½ ()

El valor sin signo en 15 caracteres es: 1110110010100112

Le restamos 1: 1110110010100102

Cambiamos la polaridad: 0001001101011012

(211 + 28 + 27 + 25 + 23 + 22 + 20) = 247710

Es fácil darse cuenta que el manejo de números enteros en computadora no tiene el más mínimo problema, siempre que los números introducidos o los resultados del procesamiento no sobrepasen el rango establecido.

1.4.2 Los números reales en computadora.

Las computadoras también manejan los números reales en sistema binario, pero no pueden hacerlo de manera exacta, porque el número de dígitos está limitado por el tamaño de palabra de cada máquina. La memoria de la computadora impone así una restricción a la precisión y exactitud de los números reales, pues al registrarlos, necesariamente son redondeados, cometiendo con ello pequeños errores. Claro que esta limitación no es privativa de la computadoras; en los cálculos a mano o usando cualquier tipo de calculadora, también tenemos que hacer redondeos.

La forma de registrar un número real en una computadora digital depende del diseño del hardware y del software; sin embargo, el formato es del mismo tipo en todos los casos y se basa en el principio de utilizar la notación de punto flotante normalizado.

Cualquier número real decimal X puede ser expresado en notación científica normalizada; ésta consiste en expresar el número como una potencia de 10, asignándole el exponente n que resulte de desplazar el punto decimal las posiciones necesarias para que todos los dígitos significativos del número en cuestión queden inmediatamente a la derecha del punto, garantizando que el primero de ellos sea diferente de cero:

X = F x 10n

donde F es un número menor que 1 y mayor o igual que 0.1, y n es un entero positivo, negativo o cero.

F Î [0.1, 1) ; n Î I

Por ejemplo: 836.23810 = 0.836238 x 103

0.0067281310 = 0.672813 x 10-2

De la misma manera, aunque con valores significativos diferentes, en sistema binario también se puede expresar cualquier número real con la notación científica normalizada, a la que en este caso se le llama notación de punto flotante normalizado.

X = G x 2m

donde el exponente m es un entero positivo, negativo o cero, expresado en binario, y G es la mantisa del número, la cual debe ser menor que 1 y mayor o igual que 0.12 (ó 0.510).

Por ejemplo: 11111.012 = 0.11111012 x 2101

ó 0.000000111011012 = 0.111011012 x 2-110

La manera más común de almacenar números reales en una PC es utilizando palabras de 32 bits (4 bytes), distribuidos como sigue:

1 bit para el signo de la mantisa,1 bit para el signo del exponente,7 bits para el exponente entero, expresado en binario 23 bits para la mantisa, expresada en binario

± 0.1mmmmmmmmmmmmmmmmmmmmmmm x 2 ±eeeeeee

m = 0, 1 ; e = 0, 1

En virtud de que la mantisa siempre empieza con 1, no hay necesidad de almacenar éste 1, de manera que los 23 bits reservados para la mantisa son para guardar desde el segundo hasta el veinticuatroavo caracter del número binario en punto flotante.

___________________________________________________ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ½ ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ ± ± e e e e e e e m m m m m m m m m m m m m m m m m m m m m m m

Los 7 bits destinados al exponente se usan para registrar números enteros binarios en el rango de 0000000 a 1111111. Su signo se controla por separado.

Conforme a esto, el mayor exponente positivo posible sería el 127 y el menor exponente negativo posible sería el 127; pero usando el complemento a dos, su rango se incremente en 1, para que sea 128.

Los exponentes positivos se registran así:

000000012 = 110 ... 011111112 = 12710

Para los números negativos, la polaridad se invierte: los ceros se cambian por unos y los unos por ceros y se le añade un 1 al resultado, de manera que su registro se hace así:

111111112 = 110 ... 100000012 = 10

Para analizar el rango de valores de la mantisa se consideran 24 bits: el 1 que no se guarda y los 23 bits reservados que si quedan almacenados. Entonces, se pueden registrar números fraccionarios binarios en el rango de 0.100000000000000000000000 a 0.111111111111111111111111

El valor fraccionario más pequeño equivale a 0.5 en decimal:

2-1 = 0.5

El valor fraccionario más grande equivale a 0.999999940395 en decimal:24

S2-j = 1 2-24 = 0.999999940395j=1

Ahora bien, considerando simultáneamente los rangos del exponente y de la mantisa, podemos determinar el rango correspondiente a los números reales:

El número real más pequeño (sin incluir al cero), que puede representarse es:

0.5 x 2-128 @ 1.47 x 10-39

El número real más grande, que puede representarse es:

0.999999940395 x 2127 @ 1.70 x 1038

De manera que el rango total para los números reales positivos o negativos, en este tipo de computadora es de 1.47 x 10-39 a 1.70 x 1038.

No obstante el rango tan amplio de manejo, los números reales no corresponden a un continuo en la computadora, sino que hay un conjunto finito de valores discretizados, que pueden ser representados de manera perfecta, mientras que el resto no pueden ser expresados con exactitud y precisión y sólo es posible representarlos en forma aproximada.

Por ejemplo, si el número real más pequeño que puede representarse en una computadora como la descrita anteriormente es:

x 2-128 @ 1.47 x 10-39,

significa que no se pueden representar números reales en el intervalo que está entre 0 y 1.47 x 10-39.

Si el número real más grande que puede representarse es:

1.70141173319 x 1038,

y el número positivo inmediato menor a éste, que se puede representar es:23

(S2-j ) x 2127 = (1 2-23) x 2127 @ 1.70141163178 x 1038 ;j=1

Entre estos dos últimos valores, tampoco se puede representar ningún número real con notación de punto flotante en este tipo de computadora; el tamaño de este intervalo es 1.0141 x 1031, que es 6.9 x 1069 veces más grande que el correspondiente a valores más pequeños: 1.47 x 10-39. Esto significa que la distribución de números reales que pueden ser representados en una computadora no es uniforme, sino que hay mucho mayor densidad en los valores más pequeños que en los más grandes.

Se define como épsilon de una máquina al valor absoluto de la diferencia entre 1 y el menor número mayor que 1, pero distinguible de 1, que puede ser representado en la computadora. Para la máquina que hemos analizado anteriormente, el número más pequeño mayor que uno es:

0.100000000000000000000001 x 21 = (2-1 + 2-24) x 21 = 1.0000001192110

por lo que el épsilon de esta máquina es:

1.00000011921 1 = 0.00000011921 = 1.19 x 10-7

Evidentemente, mientras menor sea el épsilon de una máquina, mayor es el conjunto de números que puede representar en formato de punto flotante.

Pareciera que la imposibilidad de las computadoras para representar cualquier número real, con exactitud y precisión, se torna en un asunto grave. No es así, ya que los "huecos" son extraordinariamente pequeños, aún en el caso más desfavorable, correspondiente a los números más grandes. Si comparamos éstos: 1.70141163178 x 1038 y 1.70141173319 x 1038, vemos que son realmente muy cercanos: la primera diferencia entre ellos se presenta hasta el octavo dígito; esto significa, que los primeros siete dígitos significativos nos ofrecen una confiabilidad total, más que sobrada para fines de ingeniería.

Para casos muy eventuales se usa el recurso de doble precisión que ofrecen las propias computadoras y que consiste en utilizar un doble tamaño de palabra para representar y almacenar números reales en formato de punto flotante. La desventaja de utilizar tal recurso es el mayor consumo de memoria y el mayor tiempo de ejecución de los programas, los cuales, al menos que se duplican.

Ejemplo: Representar en sistema binario, en una palabra de 32 bits, el número 31.2510

31.2510 = 0.312510 x 102 = 0.312510 x 10010

0.3125 100 00.6250 0 50 00.2500 1 25 10.5000 0 12 00.0000 1 6 0

3 1 1 1

0

31.2510 = 0.01012 x 11001002 = 11111.012 = 0.11111012 x 2101

Recordando que el primer 1 de la mantisa no se almacena, la representación queda:

__________________________________________|0|0|0|0|0|0|1|0|1|1|1|1|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|+ +

Ejemplo: Identificar el número real decimal que está representado en la siguiente palabra de 32 bits:

__________________________________________|0|0|0|0|0|0|1|0|1|0|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|+ +

Recordando que el primer uno no está representado, el número en binario es:

0.100001112 x 2101 = 10000.1112

24 + 2-1 + 2-2 + 2-3 = 16 + 0.5 + 0.25 + 0.125 = 16.87510

Ejemplo: Identificar el número real decimal que está representado en la siguiente palabra de 32 bits:

__________________________________________|0|1|1|1|1|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|+

Dado que el exponente es negativo, le aplicamos el inverso del complemento a dos: primero restándole 1 y luego cambiando la polaridad:

11101112 12 = 11101102 ~ 00010012

con lo que el exponente es: -10012

Recordando que el primer 1 no está representado, la mantisa es: 0.12

El número en binario es: 0.12 x 2-1001 = 0.00000000012

y en decimal: 2-10 = 0.000976562510

Ejemplo: Representar en sistema binario, en una palabra de 32 bits, el número 0.00072161910

Requerimos de 25 cifras, a partir del primer 1:

0.000721619 0.168091136 10.001443238 0 0.336182272 00.002886476 0 0.672364544 00.005772952 0 0.344729088 10.011545904 0 0.689458176 00.023091808 0 0.378916352 10.046183616 0 0.757832704 00.092367232 0 0.515665408 10.184734464 0 0.031330816 10.369468928 0 0.062661632 00.738937856 0 0.125323264 00.477875712 1 0.250646528 00.955751424 0 0.501293056 00.911502848 1 0.002586112 10.823005696 1 0.005172224 00.646011392 1 0.010344448 00.292022784 1 0.020688896 00.584045568 0 0.041377792 0

La última cifra nos sirve para redondear la penúltima.

0.00072161910 = 0.00000000001011110100101011000010002

= 0.1011110100101011000010002 x 2-1011

Por ser un exponente negativo, le aplicamos el complemento a dos: primero complementándolo a 7 cifras, luego invirtiendo la polaridad y finalmente sumándole un 1:

00010112 ~ 11101002 + 12 = 11101012

Recordando que el primer 1 de la mantisa no se almacena, la representación queda:

__________________________________________|1|1|1|1|1|0|1|0|1|0|1|1|1|1|0|1|0|0|1|0|1|0|1|1|0|0|0|0|1|0|0|0|

Ejemplo: Considere una computadora que utiliza palabras de memoria de 16 bits para almacenar números reales en formato de punto flotante, guarda hasta 8 cifras de la mantisa, incluido el primer 1, y aplica el complemento a dos, a los exponentes negativos. Si los 16 bits están distribuidos como sigue:

1 bit para el signo de la mantisa,1 bit para el signo del exponente,6 bits para el exponente entero, expresado en binario 8 bits para la mantisa, expresada en binario

a) determinar el rango de valores que podría representar y almacenar esta computadora hipotética.

b) calcular el épsilon correspondiente a esta máquina.

a) Los 6 bits destinados al exponente se usan para registrar números enteros binarios en el rango de 000000 a 111111. Su signo se controla por separado. El mayor exponente positivo posible sería: 26 1 = 63 y el menor exponente negativo posible sería el por la aplicación del complemento a dos.

Los 8 bits reservados para la mantisa se usan para registrar números fraccionarios en el rango de 0.100000000 a 0.11111111. El valor fraccionario más pequeño equivale a 0.5 en decimal y el valor fraccionario más grande equivale a 0.99609375 en decimal:

8

S2-j = 1 2-8 = 0.99609375j=1

Entonces, el número real más pequeño que puede representarse es:

0.5 x 2-64 @ 2.71 x 10-20

y el número real más grande, que puede representarse es:

0.99609375 x 263 @ 9.19 x 1018

b) El número más pequeño mayor que uno, que podría almacenarse es:

0.10000001 x 21 = (2-1 + 2-8) x 21 = 1.007812510

por lo que el épsilon de esta máquina sería:

1.0078125 1 = 0.0078125 = 7.81 x 10-3

1.4.3 Causas de errores en una computadora.

Ejemplo: Suponga una computadora que tiene una memoria con palabras de 16 bits. ¿Cuál sería el resultado de sumar mil veces el número fraccionario 1/100? ¿Cuál sería el error cometido? Considere que la computadora recibe las cifras en sistema decimal, las convierte a binario, hace las operaciones en binario y el resultado lo traduce a decimal.

1.5 Serie de Taylor

La serie de Taylor es, sin duda, el fundamento matemático más importante para comprender, manejar y formular métodos numéricos que se basan en la aproximación de funciones por medio de polinomios. La expansión de Taylor de una función, es una serie infinita de potencias que representa, de manera exacta, el comportamiento de la función en la vecindad de un punto dado; los errores por truncamiento se evalúan a través de la comparación del desarrollo polinomial de la solución numérica con la serie de Taylor de la solución exacta.

1.5.1 Expansión en serie de Taylor.

Sea una función f(X) que tiene derivadas continuas hasta de orden n en el punto Xi, para el cual se conoce el valor de la función y el de sus derivadas.

Se trata de encontrar un polinomio de la forma:

P(X) = a0 + a1X + a2X2 + a3X3 + ... + anXn + ... _____ (1.13)

que permita predecir el valor de la función en un punto cualquiera X, en términos de la propia función y de sus derivadas en el punto Xi.

El polinomio P(X) se hace coincidir con la función f(X) y sus primeras n derivadas se hacen coincidir con las n primeras derivadas de la función en el punto Xi.

P(Xi) = f(Xi)P'(Xi) = f'(Xi)P''(Xi) = f''(Xi) _____ (1.14)...P(n)(Xi) = f(n)(Xi)

El valor de la función en un punto cualquiera X se puede evaluar a través de un polinomio equivalente al de la expresión (1.13):

f(X)=P(X)= b0 + b1(XXi) + b2(XXi)2 + b3(XXi)3 + ... + bn(XXi)n + ...

_____ (1.15)

Desarrollando la expresión (1.15) y comparándola con la expresión (1.13), se obtiene:

a0 = b0 b1Xi + b2Xi2 b3Xi

3 + b4Xi4 ...

a1 = b1 2b2Xi + 3b3Xi2 4b4Xi

3 + ...

a2 = b2 3b3Xi + 6b4Xi2 ... _____ (1.16)

...an = bn ...

Las n primeras derivadas del polinomio son:

P'(X) = b1 + 2b2(XXi) + 3b3(XXi)2 + ... + nbn(XXi)n1 + ...

P''(X) = 2b2 + 3×2b3(XXi) + ... + n(n1)bn(XXi)n + ...

P'''(X) = 3×2b3 + ... + n(n1)(n2)bn(XXi)n3 + ... _____ (1.17)

...

P(n)(X) = n(n-1)(n-2) ... 3×2×1bn + ... = n!bn + ...

Evaluando el polinomio y sus derivadas en el punto Xi:

P(Xi) = b0P'(Xi) = b1

P''(Xi) = 2b2 = 2!b2 _____ (1.18)...P(n)(Xi) = n!bn

Considerando simultáneamente las expresiones (1.14) y (1.18):

b0 = f(Xi)b1 = f'(Xi)b2 = f''(Xi)/2! _____ (1.19)...bn = f(n)(Xi)/n!

Sustituyendo los valores de los coeficientes dados en (1.19) en la expresión (1.15):

f(X) = f(Xi) + f'(Xi)(XXi) + f''(Xi)(XXi)2/2! + f'''(Xi)(XXi)3/3! + ...

... + f(n)(Xi)(XXi)n/n! + ... _____ (1.20)

que en forma sintética se expresa: µf(X) = S f(j)(Xi)(XXi)j/j! _____ (1.20') j=0

Las expresiones (1.20) y (1.20') son equivalentes y representan la expansión en serie de Taylor que permite evaluar el valor de la función en cualquier punto X, en términos de la propia función y de sus derivadas en el punto Xi.

Se pueden presentar dos casos: A) Cuando el valor de X se encuentra a la derecha de Xi, se usa la nomenclatura Xi+1, con lo que se indica que es mayor que Xi.

X = Xi+1 > Xi ; Xi+1 Xi = h > 0

µ µf(Xi+1) = S f(j)(Xi)(Xi+1Xi)j/j! = S f(j)(Xi)hj/j! _____ (1.21)

j=0 j=0

donde h se denomina tamaño del paso, tratándose en este caso de un paso hacia adelante.

B) Cuando el valor de X se encuentra a la izquierda de Xi, se usa la nomenclatura Xi1, con lo que se indica que es menor que Xi.

X = Xi1 < Xi ; Xi Xi1 = h > 0

µ µ

f(Xi1) = S f(j)(Xi)(XiXi1)j/j! S f(j)(Xi)(XiXi1)j/j! _____ (1.22) j par j impar

µ µ

ó f(Xi1) = S f(j)(Xi)hj/j! S f(j)(Xi)hj/j! _____ (1.22') j par j impar

donde h es el tamaño del paso, tratándose en este caso de un paso hacia atrás.

Ejemplo. En el punto Xi = 1, la función f(X) y sus derivadas toman los siguientes valores:

f(1) = 1; f'(1) = 6; f''(1) = 2; f'''(1) = 6.

A partir de estos datos y utilizando la expansión en serie de Taylor dada en (1.21), encontrar el polinomio que permita predecir valor de la función para cualquier valor de X, y, en particular, el valor de la función para Xi+1 = 3.

f(X) = 1 + 6(X 1) + 2(X 1)2/2! + 6(X 1)3/3!

= 1 + 6X 6 + X2 2X + 1 + X3 3X2 + 3X 1

= 5 + 7X 2X2 + X3

h = Xi+1 Xi = 3 1 = 2

f(Xi+1) = f(3) = 1 + 6(2) + 2(2)2/2! + 6(2)3/3!

= 1 + 12 + 4 + 8 = 25

Vamos a repetir el ejercicio, pero ahora considerando la expansión en serie de Taylor dada en (1.22) y obteniendo el valor de la función para Xi1 = 0.

f(X) = 1 6(1 X) + 2(1 X)2/2! 6(1 X)3/3!

= 1 6 + 6X + X2 2X + 1 1 + 3X 3X2 + X3

= 5 + 7X 2X2 + X3

h = Xi Xi1 = 1 0 = 1

f(Xi1) = f(0) = 1 6(1) + 2(1)2/2! 6(1)3/3!

= 1 6 + 1 1 = 5

En el ejercicio anterior, el polinomio obtenido se ajusta perfectamente a la función, porque ésta es algebraica, polinomial de tercer grado; en este caso, las derivadas de orden superior al tercero se anulan, por lo que los primeros cuatro términos de la expansión en serie de Taylor son suficientes para determinar, sin error alguno, el comportamiento de la función, para cualquier valor de X.

Pero no siempre es así; cuando se trata de funciones trascendentes o mixtas, la expansión en serie de Taylor sólo puede proporcionar una aproximación a la función de interés, porque, en ese caso, cada uno de los términos de la serie infinita tiene un valor absoluto diferente de cero, con el que participa, así sea de manera mínima, en el valor de la función. En virtud de que no es posible considerar un número infinito de términos, no hay más remedio que truncar la serie y considerar únicamente los n primeros.

Ejemplo. Aproximar la función f(X) = cos X en 30°, conociendo los valores de la función y el de sus derivadas para 0° y considerando los primeros siete términos de la expansión en serie de Taylor. No olvidemos que se debe trabajar en radianes:

Xi = 0° = 0 ; Xi+1 = 30° = p/6 ; h = Xi+1 Xi = p/6 p/6

f(X) = f(Xi) + f'(Xi)h + f''(Xi)h2/2! + f'''(Xi)h3/3! + fiv(Xi)h4/4! +

+ fv(Xi)h5/5! + fvi(Xi)h6/6!

f(X) = cos X f(0) = cos 0 = 1f'(X) = sen X f'(0) = sen 0 = 0f''(X) = cos X f''(0) = cos 0 = 1f'''(X) = sen X f'''(0) = sen 0 = 0

fiv(X) = cos X fiv(0) = cos 0 = 1

fv(X) = sen X fv(0) = sen 0 = 0

fvi(X) = cos X fvi(0) = cos 0 = 1

f(p/6) = 1 1(p/6)2/2! + 1(p/6)4/4! 1(p/6)6/6!

= 1 0.1370778 + 0.0031317 0.0000286 = 0.8660252

Considerando como "verdadero" el valor que ofrece una calculadora científica de 8 dígitos, que es: cos 30° = 0.8660254, se aprecia que el truncamiento a siete términos de la serie, conduce a un pequeño error de 0.0000002

1.5.2 El residuo de la serie de Taylor

En la sección 1.4 se esbozó lo que era un error por truncamiento, pero no quedó lo suficientemente claro, porque para comprender este concepto, faltaba conocer a detalle el comportamiento de la expansión en serie de Taylor.

Ahora podemos entender con claridad qué es un truncamiento y cómo repercute éste en un error, al aproximar el valor de una función para un determinado valor de la variable, considerando solamente los primeros n términos de la serie infinita.

Los términos de la serie que se desprecian constituyen un residuo cuyo valor puede tener signo positivo, en detrimento del valor de la función, o negativo, en profusión del valor de la función; en términos absolutos, este residuo puede ser significativo o insignificante (como sucedió en el ejemplo anterior), lo cual depende de dos factores:

1) el valor de n, es decir, el número de términos de la serie, considerados al aproximar el valor de la función; mientras mayor sea el valor de n, menor será el residuo y mejor será la aproximación al valor de la función.

2) el valor de h, es decir, el tamaño del paso o distancia entre el valor de la variable para el cual se evalúa la función y el valor de la variable para el que se conoce el valor de la función y el de sus derivadas; mientras menor sea el valor de h, mayor será la cercanía entre Xi y Xi+1 y, por ende, mejor será la

aproximación al valor de la función.

En adelante, y en tanto no se indique lo contrario, usaremos únicamente la expansión en serie de Taylor que considera el paso hacia adelante para aproximar f(Xi+1) a partir de f(Xi) y sus derivadas, conforme a la expresión

(1.21), la que en forma explícita se escribe:

f(Xi+1) = f(Xi) + f'(Xi)h + f''(Xi)h2/2! + f'''(Xi)h3/3! + ... + f(n)(Xi)hn/n! + ..._____ (1.21')

y en forma alternativa:

f(Xi+1) = f(Xi) + f'(Xi)h + f''(Xi)h2/2! + f'''(Xi)h3/3! + ... + f(n)(Xi)hn/n! + Rn_____ (1.23)

Esta última expresión se conoce como expansión en serie de Taylor con residuo, y es idéntica a la expresión (1.21'), excepto porque los puntos suspensivos se han sustituido por el término Rn, que sintetiza los términos de la serie que se han despreciado y se conoce con el nombre de residuo de la aproximación al n-ésimo orden.

La serie se puede truncar en cualquier punto, de manera que el subíndice n indica que sólo se han incluido en la aproximación los primeros (n+1) términos de la serie.

Por ejemplo, podemos truncar la serie a un solo término (n = 0):

f(Xi+1) @ f(Xi)

lo que implica suponer que la función que se va a aproximar es una constante:

P(X) = a0 ; si tal suposición es cierta, la aproximación resulta perfecta y no hay error alguno, pero si no es así, existe un residuo R0 tal que se cumple:

f(Xi+1) = f(Xi) + R0

R0 = f'(Xi)h + f''(Xi)h2/2! + f'''(Xi)h3/3! +...+ f(n)(Xi)hn/n! +... _____ (1.24)

R0 es el residuo de orden cero y representa una serie infinita idéntica a la de la expresión (1.21'), excepto por la exclusión del primer término.

Para simplificar, podríamos truncarlo a solo un término: R0 @ f'(Xi)h, despreciando todos los demás, pero esto obviamente no es exacto. Conviene entonces encontrar una manera más adecuada de valorar R0.

Auxiliándonos en la siguiente figura, podemos ver fácilmente que la recta que une los puntos [Xi, f(Xi)], [Xi+1,f(Xi+1)], tiene pendiente R0/h.

Invocando el teorema del valor medio, podemos asegurar que existe un punto x, entre Xi y Xi+1, para el cual el valor de la primera derivada f'(x), es decir, la pendiente de la tangente de la función en ese punto, es paralela a la recta mencionada previamente: R0/h = f'(x); y entonces:

R0 = f'(x)h _____ (1.25)

De manera similar, si truncamos la serie a dos términos (n=2):

f(Xi+1) @ f(Xi) + f'(Xi)h

estaremos suponiendo que la función que se va a aproximar es una recta: P(X) = a0 + a1X; si la suposición es correcta, la aproximación es perfecta y sin error, pero si no es así, existe un residuo R1 tal que:

f(Xi+1) = f(Xi) + f'(Xi)h + R1

R1 = f''(Xi)h2/2! + f'''(Xi)h3/3! + ... + f(n)(Xi)hn/n! + ...

R1 es un residuo de primer orden que, al igual que se hizo con R0, pero ahora considerando el teorema extendido del valor medio, también se puede evaluar de manera exacta mediante:

R1 = f''(x)h2/2!

Y así, sucesivamente:

Un truncamiento a tres términos (n = 2), supone que la función a aproximar es una parábola P(X) = a0 + a1X + a2X2 y un posible error dado por el residuo de segundo orden R2.

Un truncamiento a cuatro términos (n = 3), supone que la función a aproximar es una parábola cúbica P(X) = a0 + a1X + a2X2 + a3X3 y un posible error dado por el residuo de segundo orden R3.

En general, un truncamiento a (n+1) términos de la serie, supone un polinomio P(X) = a0 + a1X + a2X2 + a3X3 + ... + anXn y un posible error dado por el residuo de n-ésimo orden, que se expresa:

Rn = f(n+1)(x)×hn+1/(n+1)! _____ (1.26)

Rn es el error por truncamiento al aproximar el valor de una función f(Xi+1), considerando solamente los (n+1) primeros términos de la expansión en serie de Taylor correspondiente a la función.

Ejemplo. Obtener una aproximación al valor del número e, con mantisa de ocho dígitos y considerando los primeros ocho términos de la expansión en serie de Taylor para la función f(X) = ex.

Sabemos que: e0 = 1,

entonces: Xi = 0 ; Xi+1 = 1 ; h = 1 0 = 1

f(0) = e0 = 1 f(1) = e

f(1) = f(0) + f'(0)(1) + f''(0)(1)2/2! + f'''(0)(1)3/3! + fiv(0)(1)4/4! + ...

f'(X) = ex f'(0) = 1f''(X) = ex f''(0) = 1f'''(X) = ex f'''(0) = 1...f'(n)(X) = ex f'(n)(0) = 1

f(1) @ 1 + 1 + 1/2! + 1/3! + 1/4! + 1/5! + 1/6! + 1/7!

e @ 1 + 1 + 0.5 + 0.16666667 + 0.04166667 + 0.00833333 ++ 0.00138889 + 0.00019841 = 2.71825397

El valor que arroja una calculadora de 9 dígitos es: e = 2.71828183

El error por truncamiento es: R7 = fviii(x)(1)8/8! = fviii(x)/40320 = 0.00002786

fviii(x) = ex = 1.1233152 x = 0.11628431

Observamos que, efectivamente x se localiza entre Xi y Xi+1: 0 < x < 1, aunque bastante más cerca de Xi que de Xi+1

Si hubiésemos truncado a solo tres términos: e @ 2.5,

R2 = f'''(x)(1)3/3! = f'''(x)/6 = 0.21828183

f'''(x) = ex = 1.30969098 x = 0.26979122

Vemos también que el valor de x es distinto para residuos de diferente orden, pero siempre cumple con localizarse entre Xi y Xi+1.

Los valores dados en la siguiente tabla, referidos a este ejemplo, pueden verificarse fácilmente:

n e Rn f(n+1)(x) x

0 1 1.71828183 1.71828183 0.541324861 2 0.71828183 1.43656366 0.362253912 2.5 0.21828183 1.30969098 0.269791723 2.66666667 0.05161516 1.23876384 0.214113984 2.70833334 0.00994849 1.19381880 0.177157245 2.71666667 0.00161516 1.16291520 0.150929966 2.71805556 0.00022627 1.14040080 0.131379787 2.71825397 0.00002786 1.12331520 0.11628431

En este ejemplo, tuvimos manera de consultar el valor "exacto" de e, echando mano de una calculadora, igual que lo pudimos haber consultado en un libro;

el número e es conocido por toda la comunidad científica, por eso su valor es accesible a cualquiera.

Pero no ocurre lo mismo cuando estamos estimando el valor de una función compleja, ligada a un experimento en el que apenas tenemos idea de su comportamiento y del orden de magnitud que puede tomar la función, para cada determinado valor de la variable. En tal caso, no hay manera de calcular con exactitud los residuos y solo habrá que conformarse con una estimación burda de ellos.

Para el efecto, y siempre que sea factible derivar analíticamente la función de interés, se sugiere considerar como valor estimado de x el punto medio entre Xi y Xi+1, es decir:

x* = (Xi + Xi+1)/2 _____ (1.27)

con la seguridad de que los residuos estimados a partir de este valor y, por ende, los errores asociados a ellos, siempre serán superiores a los verdaderos.

Rn = f(n+1)(x*)×hn+1/(n+1)! _____ (1.26')

1.6 Convergencia y estabilidad

1.6.1 Convergencia.

1.6.2 Estabilidad.

5. ECUACIONES DIFERENCIALES ORDINARIAS. SOLUCIÓN NUMÉRICA.

Una ecuación diferencial es una expresión matemática que involucra al menos una derivada de una función desconocida de una o más variables.

Ecuación diferencial ordinaria: cuando la función desconocida depende de una sola variable. Ejemplo: dy/dx = 2x + y

Ecuación diferencial parcial: cuando la función desconocida depende de más de una variable. Ejemplo: ¶2V/¶x2 + ¶2V/¶y2 = V

El orden de una ecuación diferencial lo define el orden de la derivada más alta que aparece en la ecuación. Ejemplos: dy/dx = 2x + y es de primer orden y

d2x/dt2 + 2 dx/dt 15x = 0 es de segundo orden.

El grado de una ecuación diferencial lo define el exponente de la derivada de mayor orden, una vez que se han eliminado las fracciones y los radicales en la

variable dependiente y en sus derivadas. Ejemplos: d2x/dt2 + 2 dx/dt = 15x es

de primer grado y (dy/dt)2 + 2y x = 0 es de segundo grado.

Ecuación diferencial ordinaria lineal: la que se puede escribir en la forma:

an(x)dny/dxn + ... + a2(x)d2y/dx2 + a1(x)dy/dx + a0(x)y = f(x)

donde se observa que la variable dependiente y todas sus derivadas están elevadas a la potencia uno y tanto los coeficientes como el término independiente son constantes o están en función de la variable independiente. Ejemplo: 5xy'' + 4xy' + 5xy = 6x

Una solución de una ecuación diferencial es cualquier función que satisface la ecuación, reduciéndola a una identidad.

Ejemplo: La función definida por y = C1sen x + C2x, donde C1 y C2 son constantes arbitrarias, es una solución general de la ecuación diferencial: (1 x ctg x)y'' xy' + y = 0; en efecto, al sustituir y = C1sen x + C2x,y' = C1cos x + C2, y'' = C1sen x, en la ecuación diferencial, se obtiene:(1 x ctg x)( C1sen x) x(C1cos x + C2) + C1sen x + C2x =

= C1sen x + C1x cos x C1x cos x C2x + C1sen x + C2x = 0

De hecho, y = C1sen x + C2x es una familia de funciones, porque C1 y C2

pueden tomar cualquier valor.

Sin embargo, las ecuaciones diferenciales generalmente están sujetas a ciertas condiciones, que la función desconocida debe satisfacer; se presentan básicamente dos tipos de problemas:

Problemas con condiciones iniciales o de valor inicial, en los que se busca determinar una solución particular de la ecuación diferencial propuesta, en atención a que, para un valor específico de la variable independiente, se conocen los valores que toma la función y algunas de sus derivadas. En el ejemplo, si se sabe que: y(1)=0, y'(1)=5, se formula un sistema de dos ecuaciones con dos incógnitas:

y = C1sen (1) + C2 = 0 ; 0.841471C1 + C2 = 0y' = C1cos (1) + C2 = 5 ; 0.540302C1 + C2 = 5

cuya solución es: C1 = 16.601992, C2 = 13.970095; estos valores definen una función única: y = 16.601992sen x + 13.970095x, que es una solución particular de la ecuación diferencial propuesta.

Problemas con condiciones de frontera o de valor de frontera, en los que se busca determinar una solución particular de la ecuación diferencial propuesta, atendiendo a que se conocen los valores que toma la función para dos o más valores de la variable independiente. En el ejemplo, si se sabe que: y(1) = 0, y(8) = 10, se formula un sistema de ecuaciones con dos incógnitas:

y = C1sen (1) + 8C2 = 0 ;0.841471C1 + 8C2 = 0y = C1sen (8) + C2 = 10 ;0.989358C1 + C2 = 10

cuya solución es: C1 = 11.309989, C2 = 1.189629; estos valores definen una función única: y = 11.309989sen x + 1.189629x, que es otra solución particular de la ecuación diferencial propuesta.

Una ecuación diferencial de orden n tiene una solución que incluye n constantes arbitrarias, a la cual se le conoce como solución general. La obtención de una solución particular implica el establecimiento de n condiciones iniciales o de frontera.

La obtención de soluciones analíticas de las ecuaciones diferenciales corresponde al curso "Ecuaciones Diferenciales". En este curso de "Métodos Numéricos" nos interesa la obtención de soluciones numéricas aproximadas.

Ejemplo: Imaginemos un paracaidista que pesa 68.1 kg, que se lanza desde una gran altura. El paracaidista cae y, antes de abrir el paracaídas, a medida que avanza el tiempo, adquiere cada vez más velocidad, hasta que llega el momento en que la fuerza de fricción del aire sobre el paracaidista, equilibra su peso y la velocidad se estabiliza, porque deja de haber aceleración en la caída. El problema consiste en predecir la velocidad del paracaidista durante la caída, a través de un modelo matemático: una función u(t), cuyo comportamiento vamos a deducir.

Un diagrama de cuerpo libre del paracaidista permite ver que existen dos fuerzas que actúan sobre él: una fuerza contante que ejerce la gravedad sobre su masa: W = mg (g = 9.81 m/s2), y una fuerza variable que ejerce el aire en oposición al movimiento de caída: Fr = ku (k = 12.5 kg/s es una constante de

fricción). Obviamente, la suma de estas dos fuerzas es variable durante la caída y, en atención a la segunda ley de Newton, la aceleración correspondiente también es variable y puede ser descrita por la variación de velocidad con respecto al tiempo.

F = W + Fr ; F = mg ku ; F = ma ; a = du/dt ; F = m du/dt

mg ku = m du/dt ; du/dt = g ku/m

Esta última igualdad es una ecuación diferencial ordinaria, que describe el comportamiento de caída del paracaidista.

Solución analítica (sólo para efectos ilustrativos):

du/dt = g ku/m ; du = (g ku/m)dt ;du/(g ku/m) = dt ;

du/(g ku/m) = dt ;

du/u = ln u ; u = g ku/m ; du = (k/m)du ; du = (m/k)du

m/k du/u = m/k ln (u) = m/k ln (g ku/m)

m/k)ln (g ku/m) = t + C ; C = constante de integración

ln (g ku/m) = (k/m)t + C1 ; g ku/m = e(k/m)t + C1 ;

ku/m = g e(k/m)teC1 ; u = (m/k)(g C2e(k/m)t) (solución general);

si t = 0, u = 0 ; 0 = (m/k)(g C2) ; C2 = g

u = (m/k)[g g e(k/m)t] ; u = (gm/k)[1 e(k/m)t] (solución particular)

u = (9.81 x 68.1/12.5)[1 e(/68.1)t] = 53.44488 [1 et]

Solución analítica exactat u0 02 16.424 27.806 35.688 41.1410 44.9220 52.0830 53.2340 53.4150 53.44100 53.44

Solución numérica:

du/dt @ Du/Dt = [u(ti+1) u(ti)]/(ti+1 ti) ;

du/dt = g ku/m ; [u(ti+1) u(ti)]/(ti+1 ti) = g ku(ti)/m

u(ti+1) = u(ti) + [g ku(ti)/m](ti+1 ti) ;

pero h = ti+1 ti ; u(ti+1) = u(ti) + [g ku(ti)/m] h ;

valor actual = valor anterior + pendiente x tamaño de paso

u(ti+1) = u(ti) + gh khu(ti)/m ;

u(ti+1) = gh kh/mu(ti) ; ó ui+1 = gh kh/mui ;

si h = 2: ui+1 = 9.81 x 2 (12.5 x 2)/68.1ui = 19.62 + 0.6328928 ui

Solución aproximadat u0 02 19.624 32.046 39.908 44.8710 48.02

La serie de Taylor como solución de una ecuación diferencial:

f(x) = f(x0) + f'(x0)(x x0) + f''(x0)(x x0)2/2! + f'''(x0)(x x0)3/3! + ...

Para el ejemplo del paracaidista: du/dt = g cu/m ; u(0) = 0

u(t) = u(t0) + u'(t0)(t t0) + u''(t0)(t t0)2/2! + u'''(t0)(t t0)3/3! + ...

t0 = 0 ; u(t0) = 0 ;

u'(t) = g k/m)u(t) ; u'(0) = g k/m)u(0) = g ;

u''(t) = k/m)u'(t) ; u''(0) = g k/m)u'(0) = gk/m

u'''(t) = k/m)u''(t) ; u'''(0) = k/m)( gk/m) = g(k/m)2

uiv(t) = k/m)u'''(t) ; uiv(0) = k/m) g(k/m)2 = g(k/m)3

u(t) = 0 + gt (gk/m)t2/2! + g(k/m)2t3/3! g(k/m)3t4/4! + ...

= gt(1 (kt/m)/2 + (kt/m)2/6 (kt/m)3/24 + ...)

= 9.81 t (1 t(12.5/68.1)/2 + t2(12.5/68.1)2/6 t3(12.5/68.1)3/24 + ...)

= 9.81 t 0.90033040 t2 + 0.05508629 t3 0.00252782 t4 + ...

Solución por serie de Taylort u0 02 16.424 27.716 35.078 38.7110 37.87

Con la serie de Taylor, las aproximaciones a los valores de la función son muy buenas, para valores de t cercanos a t0 = 0, pero difieren mucho de los valores

verdaderos, para valores de t lejanos a t0 = 0, como puede apreciarse.

Existen dos tipos de métodos numéricos para resolver ecuaciones diferenciales ordinarias: métodos de solución paso a paso y métodos de pasos múltiples.

Métodos de solución paso a paso, utilizados principalmente para resolver ecuaciones diferenciales ordinarias sujetas a condiciones iniciales; estos métodos se denominan así, porque a partir de los valores iniciales de la

función y de algunas de sus derivadas, se calcula el siguiente valor de la función, éste se usa para calcular uno más y, así sucesivamente.

Para ecuaciones diferenciales de la forma:

dy/dx = f(x,y) ó y' = f(x,y) ___ (5.1)

La solución numérica exacta estaría dada por:

yi+1 = yi + yi'h + yi''h2/2! + yi'''h3/3! + ... + yi(n)hn/n! + Rn

pero, al considerar (5.1):

yi+1 = yi + f(xi,yi)h + f'(xi,yi)h2/2! + f''(xi,yi)h3/3! + ... + f(n1)(xi,yi)hn/n! + Rn

donde: Rn = f(n)(xi,yi)hn+1/(n+1)!

Los métodos paso a paso consideran una aproximación de la forma:

yi+1 = yi + Fh

Valor actual = valor anterior + pendiente x tamaño del paso

Lo que hace diferentes entre sí a los métodos paso a paso es la forma de estimar el valor de la pendiente F.

Entre los métodos paso a paso destacan el de Euler, el de Heun, el del polígono mejorado y el de Ralston, los cuales, como veremos, no son mas que casos particulares de métodos más generales conocidos como métodos de Runge Kutta.

Método de Euler: Es un método de primer orden, que considera F = f(xi,yi)

yi+1 = yi + f(xi,yi)h ___ (5.2)

y el error que se comete es: E = R1 = f'(xi,yi)h2/2! ___ (5.3)

La solución numérica obtenida en páginas anteriores, para el caso del paracaidista, corresponde a la aplicación del método de Euler:

du/dt = g ku/m ; u(0) = 0 ; h = 2 ;

ui+1 = ui + f(ti,ui)h ; ui+1 = ui + [g kui/m] h ;

Conviene realizar una vez más el ejercicio, con objeto de identificar la forma en que se aplica el método de Euler.

Ejemplo. Considere la ecuación diferencial ordinaria:

dy/dx = 2x3 + 12x2 20x + 8.5 ; y(0) = 1

La solución analítica es: y = 0.5x4 + 4x3 10x2 + 8.5x + 1

Obtenga la solución numérica en el intervalo (0,2), si el tamaño de paso es 0.5.

yi+1 = yi + ( 2xi3 + 12xi

2 20xi + 8.5)(0.5)

= yi xi3 + 6xi

2 10xi + 4.25

Solución numérica Euler Solución analíticax y x y 0 0 0 00.5 5.25 0.5 3.218751 5.875 1 41.5 5.125 1.5 2.218752 4.5 2 2

Para x = 0.5, el error es: E = 3.21875 5.25 = 2.03125.

Verifiquemos, evaluando el residuo:

R1 = f'(xi,yi)h2/2! + f''(xi,yi)h3/3! + f'''(xi,yi)h4/24!

f'(x,y) = 6x2 + 24x 20 ; f'(0,0) = 20

f''(x,y) = 12x + 24 ; f''(0,0) = 24

f'''(x,y) = 12 ; f'''(0,0) = 12

R1 = 20(0.5)2/2 + 24(0.5)3/6 12(0.5)4/24

= 2.5 + 0.5 - 0.03125 = 2. 03125

El residuo R1 es exactamente el error cometido.

Ejemplo: Resuelva mediante el método de Euler la siguiente ecuación diferencial ordinaria, en el intervalo (0.5,1.0), considerando un tamaño de paso de 0.1:

dy/dx = x + 2xy y(0.5) = 1

La solución analítica es: y = 1.16820117 ex2 0.5

yi+1 = yi + (xi + 2xiyi)(0.1)

= yi + 0.1xi + 0.2xiyi

Solución numérica Euler Solución analíticax y x y0.5 1 0.5 10.6 1.15 0.6 1.1740.7 1.348 0.7 1.4070.8 1.607 0.8 1.7150.9 1.944 0.9 2.1261.0 2.384 1.0 2.676

Método de Heun: Es un método de segundo orden que considera:

F = [f(xi,yi) + f(xi+1,yi+1)]/2

yi+1 = yi + [f(xi,yi) + f(xi+1,y°i+1)]h/2 ___ (5.4)

donde: y°i+1 = yi + f(xi,yi) ___ (5.5)

se conoce como predictor del método.

La ecuación (5.5) es la fórmula del método de Euler y se aplica una sola vez para predecir el valor de y°i+1; en cambio, la ecuación (5.4) puede ser usada más de una vez en cada paso, con objeto de afinar más la aproximación, lo cual no siempre se logra.

Ejemplo. Regresando al problema del paracaidista, resolver la ecuación diferencial correspondiente, usando el método de Heun, iterando una sola vez en cada paso.

du/dt = g ku/m ; u(0) = 0 ; h = 2 ;

ui+1 = ui + [f(ti,ui) + f(ti+1,u°i+1)]h/2 ; u°i+1 = ui + f(ti,ui)h

u°i+1 = ui + [g (k/m)ui]h = 19.62 + 0.6328928 ui

ui+1 = ui + [g (k/m)ui + g (k/m)u°i+1]2/2 =

= ui + 2g (k/m)(ui + u°i+1) = ui + 19.62 (12.5/68.1)(ui + u°i+1)

= ui + 19.62 0.18355360(ui + u°i+1)

= ui + 19.62 0.18355360(ui + 19.62 + 0.6328928 ui)

= ui + 19.62 0.18355360 ui 3.60132159 0.11616975 ui

= 0.70027665 ui + 16.01867841

Solución numérica Heunt u0 02 16.024 27.246 35.098 40.5910 44.44

Ejemplo. Resuelva numéricamente, a través del método de Heun, la siguiente ecuación diferencial ordinaria, en el intervalo (0,4), considerando un tamaño de paso de 1:

dy/dx = 4e0.8X 0.5y y(0) = 2

La solución analítica es: y = 3.07692308(e0.8X e0.5X) + 2e0.5X

y°i+1 = yi + (4e0.8Xi 0.5yi )(1) = yi + 4e0.8x 0.5yi

= 0.5yi + 4e0.8Xi

yi+1 = yi + [4e0.8Xi 0.5yi + 4e0.8Xi+1 0.5y°i+1)]1/2

= yi + 2e0.8Xi + 2e0.8Xi+1 0.25(yi y°i+1)

= yi + 2e0.8Xi + 2e0.8Xi+1 0.25(yi 0.5yi + 4e0.8Xi)

= yi + 2e0.8Xi + 2e0.8Xi+1 0.25yi 0.125yi e0.8Xi

= 0.625yi + e0.8Xi + 2e0.8Xi+1

Solución numérica Heun Solución analíticax y x y0 2 0 21 6.7011 1 6.19462 16.3198 2 14.84393 37.1992 3 33.67724 83.3378 4 75.3390

Método de Euler modificado o del polígono mejorado. Es un método de segundo orden que considera:

F = f(xi+0.5,yi+0.5)

yi+1 = yi + f(xi+0.5,yi+0.5)h___ (5.6)

donde: yi+0.5 = yi + f(xi,yi)h/2 ___ (5.7)

Ejemplo. Resolver la ecuación diferencial ordinaria asociada al problema del paracaidista, usando el método del polígono mejorado (Euler modificado).

du/dt = g ku/m ; u(0) = 0 ; h = 2 ;

ui+1 = ui + f(ti+0.5,ui+0.5)h ; ui+0.5 = ui + f(ti,ui)h/2 ui+0.5 = ui + [g (k/m)ui]2/2 = ui + g (k/m)ui

= ui + 9.81 (12.5/68.1)ui = ui + 9.81 0.1835536ui

= 9.81 + 0.8164464 ui

ui+1 = ui + [g (k/m)ui +0.5]2 = ui + 2g (2k/m)ui +0.5

= ui + 19.62 0.3671072 ui+0.5

= ui + 19.62 0.3671072(9.81 + 0.8164464 ui)

= ui + 19.62 3.60132159 0.29972335 ui

= 0.70027665 ui + 16.01867841

Solución que coincide total y absolutamente con la obtenida por el método de Heun; verifíquelo.

Ejemplo: Resuelva mediante el método del polígono mejorado la siguiente ecuación diferencial ordinaria, en el intervalo (0.5,1.0), considerando un tamaño de paso de 0.1:

dy/dx = x + 2xy y(0.5) = 1

yi+1 = yi + (xi+0.5 + 2xi+0.5yi+0.5)h ; yi+0.5 = yi + (xi+ 2xiyi)h/2

yi+0.5 = yi + (xi+ 2xiyi)(0.1)/2 = yi + 0.05xi+ 0.1xiyi

yi+1 = yi + [xi+0.5 + 2xi+0.5(yi + 0.05xi+ 0.1xiyi)](0.1)

= yi + (xi+0.5 + 2xi+0.5yi + 0.1xixi+0.5+ 0.2xixi+0.5yi)(0.10)

= yi + 0.1xi+0.5 + 0.2xi+0.5yi + 0.01xixi+0.5+ 0.02xixi+0.5yi

Un método de segundo orden da siempre mejores aproximaciones que uno de primer orden. Obsérvese que esta solución obtenida mediante el método del polígono mejorado es mucho más cercana a la solución analítica exacta, que la que habíamos obtenido a través del método de Euler.

Solución numérica polígono mejoradox y0.5 10.6 1.17320.7 1.40380.8 1.70940.9 2.11501.0 2.6566

Métodos de Runge Kutta. Son métodos generales de solución paso a paso que consideran una función denominada función incremento: F(xi,yi,h), para estimar el promedio de la pendiente sobre el intervalo.

yi+1 = yi + F(xi,yi,h)h ___ (5.8)

F(xi,yi,h) = a1k1 + a2k2 + ... + ankn ___ (5.9)

donde: ai , constantes y

k1 = f(xi,yi)

k2 = f(xi + p1h, yi + q11k1h)

k3 = f(xi + p2h, yi + q21k1h + q22k2h)...

kn = f(xi + pn-1h, yi + qn-1,1k1h + qn-1,2k2h + ... + qn-1,n-1kn-1h)

Método de Runge Kutta de primer orden = Método de Euler:

n = 1 ; F(xi,yi,h) = a1k1 ; a1 = 1 ; k1 = f(xi,yi)

yi+1 = yi + f(xi,yi)h

Métodos de Runge Kutta de segundo orden:

n = 2 ; F(xi,yi,h) = a1k1 + a2k2 ; yi+1 = yi + (a1k1 + a2k2)h

k1 = f(xi,yi)

k2 = f(xi + p1h, yi + q11k1h)

yi+1 = yi + f(xi,yi)h+ f'(xi,yi)h2/2!

f'(xi,yi) = ¶f/¶x + (¶f/¶y)dy/dx

yi+1 = yi + f(xi,yi)h+ [¶f/¶x + (¶f/¶y)dy/dx]h2/2! __ (5.10)

Considerando que: g(x+r, y+s) = g(x,y) + r¶g/¶x + s¶g/¶y

k2 = f(xi + p1h, yi + q11k1h) = f(xi,yi) + p1h¶f/¶x + q11k1h¶f/¶y

yi+1 = yi + {a1f(xi,yi) + a2[f(xi,yi) + p1h¶f/¶x + q11k1h¶f/¶y]}h

= yi + [a1f(xi,yi) + a2f(xi,yi)]h + [a2p1¶f/¶x + a2q11k1¶f/¶y]}h2 __ (5.11)

Comparando (5.11) con (5.10) se obtienen tres ecuaciones, con cuatro incógnitas:

a1 + a2 = 1 ; a2p1 = 1/2 ; a2q11 = 1/2 __ (5.12)

que generan una familia infinita de soluciones.

Si se fija a2 = 1/2 , entonces: a1 = 1/2 , p1 = 1 y q11 = 1

se obtiene el método de Heun:

yi+1 = yi + (k1/2 + k2/2)h = yi + (k1 + k2)h/2

k1 = f(xi,yi) ; k2 = f(xi + h, yi + k1h)

yi+1 = yi + [f(xi,yi) + f(xi + h, yi + k1h)]h/2

= yi + [f(xi,yi) + f(xi+1, y°i+1)]h/2

donde: y°i+1 = yi + k1h = yi + f(xi,yi) es un predictor.

Si se fija a2 = 1 , entonces: a1 = 0 , p1 = 1/2 , q11 = 1/2

se obtiene el método del polígono mejorado (Euler modificado):

yi+1 = yi + k2h

k1 = f(xi,yi) ; k2 = f(xi + h/2, yi + k1h/2)

yi+1 = yi + f(xi + h/2, yi + k1h/2)h

= yi + f(xi+0.5, yi+0.5)]h

donde: yi+0.5 = yi + f(xi,yi)h/2 es un predictor.

Si se fija a2 = 2/3 , entonces: a1 = 1/3 , p1 = 3/4 , q11 = 3/4

se obtiene el método de Ralston (que no habíamos visto):

yi+1 = yi + (k1/3 + 2k2/3)h

k1 = f(xi,yi) ; k2 = f(xi + 3h/4, yi + 3k1h/4)

yi+1 = yi + [f(xi,yi)/3 + 2f(xi + 3h/4, yi + 3k1h/4)/3]h

= yi + [f(xi,yi) + 2f(xi + 3h/4, yi + 3k1h/4)]h/3

= yi + [f(xi,yi) + 2f(xi+075, yi+0.75)]h/3

donde: yi+0.75 = yi + 3f(xi,yi)h/4 es un predictor.

Cualquier combinación de valores de a2 , a1 , p1 y q11 que cumpla con las ecuaciones (5.12) es un método de solución válido para resolver una ecuación diferencial ordinaria.

Métodos de Runge Kutta de tercer orden:

n = 3 ; F(xi,yi,h) = a1k1 + a2k2 + a3k3 ;

yi+1 = yi + (a1k1 + a2k2 + a3k3)h

k1 = f(xi,yi)

k2 = f(xi + p1h, yi + q11k1h)

k3 = f(xi + p2h, yi + q21k1h + q22k2h)

Con un tratamiento similar al desarrollado anteriormente, mediante las expresiones (5.10) a (5.12), aquí se deriva un sistema de seis ecuaciones con ocho incógnitas:

a1 + a2 + a3= 1 ; a2p1 + a3p2= 1/2 ; a2q11 + a3(q21 + q22) = 1/2

a3p22 = 1/6 ; a3p2(q21 + q22) = 1/6 ; a3(q21 + q22)2 = 1/6

que generan una familia infinita de soluciones.

Una versión común es: a1 = 1/6 ; a2 = 2/3 ; a3= 1/3 ;

p1 = 1/2 ; p2 = 1 ; q11 = 1/2 ; q21 = 1 ; q22 = 2 ;

yi+1 = yi + (k1/6 + 2k2/3 + k3/6)h = yi + (k1 + 4k2 + k3)h/6

k1 = f(xi,yi)

k2 = f(xi + h/2, yi + k1h/2)

k3 = f(xi + h, yi k1h + 2k2h)

Nótese la similitud que tiene el último término de la expresión anterior con la formula de Simpson 1/3, utilizada para integrar numéricamente.

Método clásico de Runge Kutta de cuarto orden:

n = 4 ; F(xi,yi,h) = k1/6 + k2 /3 + k3/3 + k4/6

yi+1 = yi + (k1 + 2k2 + 2k3 + k4)h/6

k1 = f(xi,yi)

k2 = f(xi + h/2, yi + k1h/2)

k3 = f(xi + h/2, yi + k2h/2)

k4 = f(xi + h, yi + k3h)

Ejemplo. Resolver la ecuación diferencial ordinaria asociada al problema del paracaidista, usando el método clasico de Runge Kutta de cuarto orden.

du/dt = g ku/m ; u(0) = 0 ; h = 2 ;

k1 = f(ti,ui) = g (k/m)ui = 9.81 0.18355360 ui

k2 = f(ti + h/2, ui + k1h/2) = f(ti + 1, ui + k1)

= g (k/m)[ui + 9.81 0.18355360 ui]

= 9.81 0.18355360[ui + 9.81 0.18355360 ui]

= 9.81 0.18355360ui 1.80066082 + 0.03435661 ui

= 8.00933918 ui

k3 = f(ti + h/2, ui + k2h/2) = f(ti + 1, ui + k2)

= g (k/m)[ui + 8.00933918 ui]

= 9.81 0.18355360[ui + 8.00933918 0.14919699 ui]

= 9.81 0.18355360ui 1.47014305 + 0.02738565 ui

= 8.33985695 ui

k4 = f(ti + h, ui + k3h) = f(ti + 2, ui + 2k3)

= g (k/m)[ui + 2(8.33985695 ui)]

= 9.81 0.18355360[ui + 16.6797139 ui]

= 9.81 0.18355360ui 3.06162153 +ui

= 6.74837847 0.12622322 ui

ui+1 = ui + (9.81 0.18355360 ui + 2(8.00933918 ui) +

+ 2(8.33985695 ui) + 6.74837847 0.12622322 ui)2/6

ui+1 = 3 ui + 9.81 0.18355360 ui + 16.01867836 ui +

+ 16.6797139 ui + 6.74837847 0.12622322 ui)/3

= 16.41892358 + 0.69316443 ui

Solución numérica Runge Kutta cuarto ordent u0 0

2 16.41894 27.79996 35.68898 41.157210 44.9476

solución que mucho más cercana a la verdadera, que las obtenidas utilizando métodos de segundo orden.

Métodos de solución de pasos múltiples, utilizados para resolver ecuaciones diferenciales ordinarias de cualquier orden, con condiciones iniciales o de frontera; se denominan así porque dividen el intervalo de solución en n subintervalos o pasos y, para cada uno de los puntos que los definen, se aplica recursivamente una ecuación en diferencias finitas.