Sunteți pe pagina 1din 80

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 M
1 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 IX


1 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 2x 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 Decimal


000 ó 0000 0 0 0
001 ó 0001 1 1 1
010 ó 0010 2 2 2
011 ó 0011 3 3 3
100 ó 0100 4 4 4
101 ó 0101 5 5 5
110 ó 0110 6 6 6
111 ó 0111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 A 10
1011 13 B 11
1100 14 C 12
1101 15 D 13
1110 16 E 14
1111 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 π, 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 π, e
ó √ 2.

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: π es un número irracional, constituido por un número infinito de


dígitos; 3.141592653589793... es una aproximación tan buena de π, que tal
podría considerarse que es su valor exacto. Al considerar las siguientes
aproximaciones de π:
π = 3.15 es impreciso e inexacto.
π = 3.14 es exacto pero impreciso.
π = 3.151692 es preciso pero inexacto.
π = 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.5


X* =  ______ (1.8)
 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 = 
 |(1−g)/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* = 
 |(1−g)/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 π, pero el valor
exacto π 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 Y
ex ey
b) Resta: − er

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

X Y
ex ey

c) Producto: • er

1 1

X Y
ex ey

c) Cociente: / er

1 −1

X Y
ex 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

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 + er


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

eA+B+C = __A+B__ eA+B + ___C____ eC + er


A+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 + er


A+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 1
1424 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: 1110100110111102

Le sumamos 1: 1110100110111112
________________________________
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 mmmmmmmmmmmmmmmmmmmmmmm

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 = −12710

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
Σ2-j = 1 −2-24 = 0.999999940395
j=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:

0.5 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
( Σ2-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 0
0.6250 0 50 0
0.2500 1 25 1
0.5000 0 12 0
0.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 1
0.001443238 0 0.336182272 0
0.002886476 0 0.672364544 0
0.005772952 0 0.344729088 1
0.011545904 0 0.689458176 0
0.023091808 0 0.378916352 1
0.046183616 0 0.757832704 0
0.092367232 0 0.515665408 1
0.184734464 0 0.031330816 1
0.369468928 0 0.062661632 0
0.738937856 0 0.125323264 0
0.477875712 1 0.250646528 0
0.955751424 0 0.501293056 0
0.911502848 1 0.002586112 1
0.823005696 1 0.005172224 0
0.646011392 1 0.010344448 0
0.292022784 1 0.020688896 0
0.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 −64, 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
Σ2-j = 1 −2-8 = 0.99609375
j=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(X−Xi) + b2(X−Xi)2 + b3(X−Xi)3 + ... + bn(X−Xi)n + ...
_____ (1.15)

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


obtiene:
a0 = b0 − b1Xi + b2Xi2 − b3Xi3 + b4Xi4 − ...
a1 = b1 − 2b2Xi + 3b3Xi2 − 4b4Xi3 + ...
a2 = b2 − 3b3Xi + 6b4Xi2 − ... _____ (1.16)
...
an = bn − ...

Las n primeras derivadas del polinomio son:

P'(X) = b1 + 2b2(X−Xi) + 3b3(X−Xi)2 + ... + nbn(X−Xi)n−1 + ...


P''(X) = 2b2 + 3⋅ 2b3(X−Xi) + ... + n(n−1)bn(X−Xi)n−2 + ...
P'''(X) = 3⋅ 2b3 + ... + n(n−1)(n−2)bn(X−Xi)n−3 + ... _____ (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) = b0
P'(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)(X−Xi) + f''(Xi)(X−Xi)2/2! + f'''(Xi)(X−Xi)3/3! + ...

... + f(n)(Xi)(X−Xi)n/n! + ... _____ (1.20)

que en forma sintética se expresa:



f(X) = Σ f(j)(Xi)(X−Xi)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) = Σ f (Xi)(Xi+1−Xi)j/j! =
(j) Σ f (Xi)hj/j!
(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 Xi−1, con lo que se indica que es menor que Xi.

X = Xi−1 < Xi ; Xi − Xi−1 = h > 0


∝ ∝
f(Xi−1) = Σ f(j)(Xi)(Xi−Xi−1)j/j! −Σ f(j)(Xi)(Xi−Xi−1)j/j! _____ (1.22)
j par j impar

∝ ∝
ó f(Xi−1) = Σ f(j)(Xi)hj/j! −Σ 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 Xi−1 = 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 −Xi−1 = 1 −0 = 1

f(Xi−1) = 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° = π/6 ; h = Xi+1 − Xi = π/6 − 0 = π/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 = 1


f'(X) = −sen X f'(0) = − sen 0 = 0
f''(X) = − cos X f''(0) = − cos 0 = −1
f'''(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(π/6) = 1 −1(π/6)2/2! + 1(π/6)4/4! −1(π/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
ξ, entre Xi y Xi+1, para el cual el valor de la primera derivada f'(ξ), es decir, la
pendiente de la tangente de la función en ese punto, es paralela a la recta
mencionada previamente: R0/h = f'(ξ); y entonces:

R0 = f'(ξ)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 R 0, pero ahora
considerando el teorema extendido del valor medio, también se puede evaluar
de manera exacta mediante:

R1 = f''(ξ)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)(ξ)⋅ 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) = 1
f''(X) = ex f''(0) = 1
f'''(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(ξ)(1)8/8! = fviii(ξ)/40320 = 0.00002786

fviii(ξ) = eξ = 1.1233152 ξ = 0.11628431

Observamos que, efectivamente ξ se localiza entre Xi y Xi+1: 0 < ξ < 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'''(ξ)(1)3/3! = f'''(ξ)/6 = 0.21828183

f'''(ξ) = eξ = 1.30969098 ξ = 0.26979122

Vemos también que el valor de ξ 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)(ξ) ξ

0 1 1.71828183 1.71828183 0.54132486


1 2 0.71828183 1.43656366 0.36225391
2 2.5 0.21828183 1.30969098 0.26979172
3 2.66666667 0.05161516 1.23876384 0.21411398
4 2.70833334 0.00994849 1.19381880 0.17715724
5 2.71666667 0.00161516 1.16291520 0.15092996
6 2.71805556 0.00022627 1.14040080 0.13137978
7 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 ξ el punto medio entre
Xi y Xi+1, es decir:

ξ* = (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)(ξ*)⋅ 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 = 0
y' = 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 = 0
y = 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 υ(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 = − kυ (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 − kυ ; F = ma ; a = dυ/dt ; F = m dυ/dt

mg − kυ = m dυ/dt ; dυ/dt = g −kυ/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):

dυ/dt = g −kυ/m ; dυ = (g − kυ/m)dt ; dυ/(g − kυ/m) = dt ;

dυ/(g − kυ/m) = dt ;

du/u = ln u ; u = g − kυ/m ; du = (−k/m)dυ ; dυ = (−m/k)du

−m/k du/u = −m/k ln (u) = −m/k ln (g −kυ/m)

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

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

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

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

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

υ = (9.81 x 68.1/12.5)[1 − e(−12.5/68.1)t] = 53.44488 [1 − e−0.1835536t]

Solución analítica exacta


t υ
0 0
2 16.42
4 27.80
6 35.68
8 41.14
10 44.92
20 52.08
30 53.23
40 53.41
50 53.44
100 53.44

Solución numérica:
dυ/dt ≅ ∆υ/∆t = [υ(ti+1) −υ(ti)]/(ti+1 − ti) ;

dυ/dt = g −kυ/m ; [υ(ti+1) − υ(ti)]/(ti+1 −ti) = g − kυ(ti)/m

υ(ti+1) = υ(ti) + [g −kυ(ti)/m](ti+1 −ti) ;

pero h = ti+1 − ti ; υ(ti+1) = υ(ti) + [g −kυ(ti)/m] h ;

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

υ(ti+1) = υ(ti) + gh −khυ(ti)/m ;

υ(ti+1) = gh + [1 − kh/m]υ(ti) ; ó υi+1 = gh + [1 − kh/m]υi ;

si h = 2: υi+1 = 9.81 x 2 + [1 − (12.5 x 2)/68.1]υi = 19.62 + 0.6328928 υi

Solución aproximada
t υ
0 0
2 19.62
4 32.04
6 39.90
8 44.87
10 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: dυ/dt = g − cυ/m ; υ(0) = 0

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

t0 = 0 ; υ(t0) = 0 ;

υ'(t) = g − (k/m)υ(t) ; υ'(0) = g − (k/m)υ(0) = g ;

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

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

υiv(t) = − (k/m)υ'''(t) ; υiv(0) = − (k/m) g(k/m)2 = − g(k/m)3

υ(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 Taylor


t υ
0 0
2 16.42
4 27.71
6 35.07
8 38.71
10 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(n−1)(xi,yi)hn/n! + Rn

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

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

yi+1 = yi + Φh

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

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(xi,yi)

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

y el error que se comete es: E = R1 = f'(ξi,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:
dυ/dt = g −kυ/m ; υ(0) = 0 ; h=2;

υi+1 = υi + f(ti,υi)h ; υi+1 = υi + [g − kυi/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 + 12xi2 −20xi + 8.5)(0.5)

= yi −xi3 + 6xi2 − 10xi + 4.25

Solución numérica Euler Solución analítica


x y x y
0 0 0 0
0.5 5.25 0.5 3.21875
1 5.875 1 4
1.5 5.125 1.5 2.21875
2 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ítica


x y x y
0.5 1 0.5 1
0.6 1.15 0.6 1.174
0.7 1.348 0.7 1.407
0.8 1.607 0.8 1.715
0.9 1.944 0.9 2.126
1.0 2.384 1.0 2.676
Método de Heun: Es un método de segundo orden que considera:

Φ= [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.

dυ/dt = g −kυ/m ; υ(0) = 0 ; h=2;

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

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

υi+1 = υi + [g − (k/m)υi + g − (k/m)υ°i+1]2/2 =

= υi + 2g −(k/m)(υi + υ°i+1) = υi + 19.62 − (12.5/68.1)(υi + υ°i+1)

= υi + 19.62 −0.18355360(υi + υ°i+1)

= υi + 19.62 −0.18355360(υi + 19.62 + 0.6328928 υi)

= υi + 19.62 −0.18355360 υi − 3.60132159 − 0.11616975 υi

= 0.70027665 υi + 16.01867841

Solución numérica Heun


t υ
0 0
2 16.02
4 27.24
6 35.09
8 40.59
10 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 −e−0.5X) + 2e−0.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ítica


x y x y
0 2 0 2
1 6.7011 1 6.1946
2 16.3198 2 14.8439
3 37.1992 3 33.6772
4 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(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).

dυ/dt = g −kυ/m ; υ(0) = 0 ; h=2;

υi+1 = υi + f(ti+0.5,υi+0.5)h ; υi+0.5 = υi + f(ti,υi)h/2


υi+0.5 = υi + [g −(k/m)υi]2/2 = υi + g −(k/m)υi
= υi + 9.81 − (12.5/68.1)υi = υi + 9.81 −0.1835536υi

= 9.81 + 0.8164464 υi

υi+1 = υi + [g − (k/m)υi +0.5]2 = υi + 2g −(2k/m)υi +0.5

= υi + 19.62 −0.3671072 υi+0.5

= υi + 19.62 −0.3671072(9.81 + 0.8164464 υi)

= υi + 19.62 −3.60132159 − 0.29972335 υi

= 0.70027665 υi + 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 mejorado


x y
0.5 1
0.6 1.1732
0.7 1.4038
0.8 1.7094
0.9 2.1150
1.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: Φ(xi,yi,h), para
estimar el promedio de la pendiente sobre el intervalo.

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

Φ(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; Φ(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; Φ(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; Φ(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; Φ(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.

dυ/dt = g −kυ/m ; υ(0) = 0 ; h=2;

k1 = f(ti,υi) = g −(k/m)υi = 9.81 −0.18355360 υi

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

= g −(k/m)[υi + 9.81 −0.18355360 υi]

= 9.81 −0.18355360[υi + 9.81 −0.18355360 υi]

= 9.81 −0.18355360υi − 1.80066082 + 0.03435661 υi

= 8.00933918 − 0.14919699 υi

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

= g −(k/m)[υi + 8.00933918 − 0.14919699 υi]

= 9.81 −0.18355360[υi + 8.00933918 − 0.14919699 υi]

= 9.81 −0.18355360υi − 1.47014305 + 0.02738565 υi

= 8.33985695 − 0.15616795 υi

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

= g −(k/m)[υi + 2(8.33985695 − 0.15616795 υi)]


= 9.81 −0.18355360[υi + 16.6797139 − 0.31233590 υi]

= 9.81 −0.18355360υi − 3.06162153 + 0.05733038 υi

= 6.74837847 − 0.12622322 υi

υi+1 = υi + (9.81 − 0.18355360 υi + 2(8.00933918 − 0.14919699 υi) +

+ 2(8.33985695 − 0.15616795 υi) + 6.74837847 −0.12622322 υi)2/6

υi+1 = 3 υi + 9.81 − 0.18355360 υi + 16.01867836 − 0.29839398 υi +

+ 16.6797139 − 0.31233590 υi + 6.74837847 − 0.12622322 υi)/3

= 16.41892358 + 0.69316443 υi

Solución numérica Runge Kutta cuarto orden


t υ
0 0
2 16.4189
4 27.7999
6 35.6889
8 41.1572
10 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.

S-ar putea să vă placă și