Está en la página 1de 28

INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

1
INTRODUCCIÓN A LOS MÉTODOS
NUMÉRICOS

Introducción

El objetivo más amplio de este texto es que los estudiantes de ingeniería adquieran un alto grado de
comprensión de algunos de los métodos numéricos usados para resolver problemas científicos en una
computadora moderna. Podría decirse que emplearemos la computación científica para resolver
problemas matemáticos. Por esa razón y para ser coincidentes con el programa de estudios,
intencionalmente nos limitamos a resolver los problemas típicos que surgen en la ciencia, la ingeniería
electrónica, la ingeniería mecatrónica y la ingeniería mecánica. Por lo general, al buscar la solución de
un problema no pretenderemos deducir el modelo matemático para resolverlos. Típicamente, el punto
de inicio será un modelo matemático dado, el cual ha sido propuesto para intentar explicar y
comprender un fenómeno observado. Por esta razón, consideramos la solución del problema después
de que se han dado ciertas formas y procedimientos matemáticos estándar para su solución.

La diferencia básica entre los métodos numéricos y el análisis numérico, es que éste último implica
el estudio, desarrollo y análisis de algoritmos para obtener soluciones para los problemas matemáticos.
Frecuentemente al análisis numérico se le llama la matemática de la computación científica. La
computación científica es una disciplina de las matemáticas aplicadas que trata con la solución
numérica de problemas matemáticos que surgen en las diversas disciplinas de la ciencia y la ingeniería.
Entonces, el análisis numérico puede verse como la teoría que está detrás de estos algoritmos. Por su
parte, los métodos numéricos o matemática numérica, se encarga de examinar y aplicar las técnicas y
algoritmos subyacentes para la solución de problemas para que los estudiantes aprendan cómo el
software o la calculadora encontraron la respuesta. De esta forma, tendrían una mejor comprensión de
los límites inherentes a la precisión que debe preverse para trabajar con estos sistemas. Una de las
estrategias fundamentales detrás de muchos métodos numéricos es el reemplazo de un problema difícil
con un conjunto (dos o más) de otros problemas más simples. Mediante la implementación de un
proceso iterativo, las soluciones de los problemas más simples se pueden juntar para obtener la
solución del problema original más difícil. Esta estrategia la aplicaremos para: el cálculo de las raíces
(ceros), cálculo de raíces de funciones (unidad 2), resolver sistemas lineales (unidad 3), interpolación
y regresión por mínimos cuadrados (unidad 4), integración numérica (unidad 5) y solución de
ecuaciones diferenciales (unidad 6).

En ingeniería, lo más común es que la formulación no corresponda exactamente a una situación que se
pretende describir, sino más bien, una solución aproximada lo más exacta posible, es decir, lo menos
frecuente son las soluciones analíticas. Una solución analítica por sí misma es muy exacta, pero no
siempre se presenta de una forma aceptable debido al hecho de que a veces no es fácil dar una
interpretación directa en términos numéricos, o puede requerir muchos más pasos que la solución
numérica. O podría ser completamente impráctica, con una convergencia lenta o requerir una gran

1
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

cantidad de cálculos. Sin embargo, lo más frecuente, es que no exista algún método para obtener
una solución analítica, conveniente o de alguna otra forma. En este caso, es necesario, ya sea, intentar
aproximar el problema lo más satisfactoriamente posible mediante un método que sea susceptible de
un análisis preciso o mediante la obtención de una solución aproximada al problema original
mediante un método numérico o por la combinación de ambos enfoques.

Actualmente, muchos estudiantes tienen acceso a calculadoras graficadoras y a sistemas de software


matemático. Además ya han llevado un curso básico de programación por lo que se espera que puedan
introducirse a la solución de problemas con mínima dificultad. En este curso, utilizaremos como
herramienta de cómputo Matlab. Este es un lenguaje de cómputo interactivo, el cual, para nuestros
propósitos, podría verse como un conveniente ambiente para la resolución de problemas. Los
estudiantes que no puedan acceder a Matlab pueden utilizar Octave, éste que es un clon de Matlab y es
un software gratuito de licencia libre. También puede escribir los programas en Scilab o Python cuya
programación es similar a Matlab o si lo prefiere puede usar C, C++, C#, Java, Fortran, o Basic/Excel.

1.1 Aproximación y Algoritmos


1.1.1 Aproximaciones
Cuando usamos métodos numéricos para resolver los problemas que surgen en ingeniería,
generalmente se nos proporciona cierta información relativa a alguna función, por ejemplo f ( x) , y se
nos solicita obtener o mejorar la información, de forma tal que sea apropiada para su interpretación en
términos numéricos. Normalmente se requiere que f ( x) sea continua en un cierto intervalo de interés.
Para abordar el problema la técnica más frecuentemente usada en estos casos consiste en que: Primero
se selecciona un conjunto apropiado Sn de n  1 funciones 0 ( x), 1 ( x), , n ( x) , linealmente
independientes. En seguida se crea un procedimiento que proporcione la información adicional deseada
de un modo simple y exacto de si f ( x) es un elemento del conjunto Sn de todas las funciones que
pueden ser expresadas como combinaciones lineales de las funciones relacionadas ( ). A
continuación, de entre todas las funciones del conjunto Sn se selecciona una función, digamos , de modo
que sus propiedades estén identificadas, tan cerca como sea posible, con algunas de las propiedades
conocidas de f ( x) . Una vez que el proceso seleccione a f ( x) , entonces la propiedad requerida de
f ( x) es aproximada mediante la propiedad de yn ( x) . Finalmente, se idea un método para utilizar las
propiedades adicionales conocidas de f ( x) las cuales no se emplean en el proceso de selección para
estimar el error en esta aproximación.

Obviamente, es deseable, que en primer lugar, seleccionemos las funciones que sean convenientes para
nuestros propósitos de cálculo. Estas son el conjunto de las + 1 funciones 1, , , , , las cuales
tienen la propiedad de generar polinomios algebraicos de grado o menor que son, particularmente
apropiados debido a que los polinomios son fácilmente evaluables y a que sus integrales, derivadas y
productos también son polinomios.

Es requisito tomar n lo suficientemente grande. Esto para asegurarnos de que el conjunto de


funciones generadas contenga al menos un miembro que se aproxime a la función ( ) con una
tolerancia predeterminada sobre el intervalo de interés. El hecho más afortunado es que el polinomio
que consiste de todos los polinomios de grado n o menores, poseen esta propiedad solamente si
( ) es continua en el intervalo y este intervalo es de longitud finita.

2
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

El teorema de Weierstrass enuncia que, cualquier función ( ) continua en un intervalo cerrado [ , ]


puede ser aproximada uniformemente dentro de una tolerancia predeterminada, por un polinomio.
Con este enunciado queremos decir que, dada alguna tolerancia positiva , hay un polinomio ( ) tal
que | ( ) ( )| ≤ para toda tal que ≤ ≤ . Por las dos razones ya expuestas, los polinomios
de aproximación se utilizan ampliamente cuando la función a ser aproximada es continua y el intervalo
de aproximación es finito.

Después de seleccionar una función de aproximación , la cual toma los mismos valores como lo
hace ( ) para cada uno de los valores + 1 valores de , el problema consiste ahora en idear algunos
métodos apropiados para estimar el error, esta problemática la discutiremos un poco más adelante. En
este momento solamente diremos que la precisión de la estimación debe depender de la cantidad (y
calidad) de la información disponible respecto a ( ), y su utilidad dependerá de la forma en que se
suministre la información. En particular, si es necesaria toda la información para el proceso selectivo
de , no es posible estimar el error.

Como puede verse, el aspecto más importante de los cálculos numéricos es la inevitable presencia del
error. El resultado de cualquier cálculo de interés es solamente una aproximación y nuestro objetivo
es identificar el error resultante, controlarlo y asegurarnos que sea tolerablemente pequeño. Por ello,
importante comprender el origen, propagación, magnitud y tasa de crecimiento de estos errores. Sería
muy riesgoso familiarizarse con los métodos numéricos básicos sin darse cuenta de sus limitaciones.
Los métodos numéricos que proporcionan aproximaciones y estimaciones de los errores son más
valiosos que los que ofrecen sólo respuestas aproximadas. En la sección 1.4 se examinan los distintos
tipos de errores que pueden ocurrir en un problema.

Por ejemplo, un modelo bien conocido es el de los cuerpos en caída libre que se deduce de la segunda
ley de Newton
F  ma (1.1)

donde F es la fuerza neta que actúa sobre el cuerpo (N o Kg m/s2), m es la masa del objeto (Kg) y a es
la aceleración (m/s2).

La segunda ley puede reacomodarse simplemente dividiendo ambos lados de la ecuación por m para
obtener
F
a (1.2)
m

donde a es la variable dependiente que refleja el comportamiento del sistema, F es la función fuerza y
m es el parámetro.

La ecuación (1.2) tiene algunas características que son típicas de los modelos del mundo físico.
- Describe un proceso natural o sistema en términos matemáticos.
- Representa una idealización y simplificación de la realidad. Es decir, se enfoca en lo esencial
e ignora los detalles poco significativos.
- Rinde resultados reproducibles por lo que puede usar para propósitos predictivos. Por ejemplo,
si se conocen la masa y la fuerza de un objeto, entonces la ecuación (1.2) puede utilizarse para
predecir la aceleración.

3
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

La ecuación (1.2) resuelve problemas muy simples pero no puede usarse directamente para el problema
de calcular la velocidad de un cuerpo en caída libre. Este requiere de un modelo más complejo, que
en este caso puede obtenerse una solución analítica y una solución numérica aproximada.

Ejemplo 1.1 Un saltador de bungee con una masa de 68.1 Kg salta desde una canastilla suspendida en
una grúa. Calcúlese la velocidad para los primeros 14 segundos de caída libre. También determine la
velocidad terminal que se obtendría para un cordón infinitamente largo si el coeficiente de resistencia
del aire es aproximadamente 0.25 kg/m.

- La fuerza total (F) con la que el paracaidista está cayendo libremente se compone de dos
fuerzas contrarias, pero en la misma dirección. Una fuerza hacia abajo ( Fg ), debida a la
gravedad de la tierra y una fuerza hacia arriba debido al rozamiento con el aire ( Fu ).
F  Fg  Fu (1.3)

Fg

Fu

- Si a la fuerza hacia abajo le asignamos un signo positivo, la fuerza hacia arriba tendrá uno negativo
y estarán dadas por:
Fg  mg (1.4)
y la resistencia al aire puede formularse de diversas maneras, una forma sencilla de obtenerse es
considerándola directamente proporcional a la velocidad, esto es:
Fu  cd v 2 (1.5)
donde cd es una constante de proporcionalidad denominada coeficiente de resistencia o arrastre y
está dada en kg/m. El parámetro cd depende de las propiedades del objeto que cae, tales como forma
o rugosidad que afectan la resistencia del aire. Para este caso, cd podría estar en función del tipo de
ropa usada por el saltador durante la caída libre.
- Entonces
F = Fg - Fu
ma  mg  cv 2
dv mg  cv 2 (1.5)

dt m

En este punto podemos intentar dos enfoques de solución para (1.5).


Solución Analítica o Exacta
- Resolviendo la ecuación diferencial obtenemos una expresión que nos permite calcular v en
función de tiempo (t).
mg  gcd 
v( t )  tanh  t (1.6)
cd  m 
 

4
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Al sustituir los valores para t desde 0 a 20, con incrementos de 2, obtenemos la tabla 1.1

Tabla 1.1 Velocidad en caída libre para el modelo analítico


i ti vi
0 0 0
1 2.0000 18.7292
2 4.0000 33.1118
3 6.0000 42.0762
4 8.0000 46.9575
5 10.0000 49.4214
6 12.0000 50.6175
7 14.0000 51.1871
8 16.0000 51.4560
9 18.0000 51.5823
10 20.0000 51.6416

La ecuación (1.6) es una función continua, entonces utilizando Matlab podemos obtener la gráfica
siguiente:
Velocidad de Caida
60

50
sqrt(m * g/c)*tanh(sqrt(g*c/m)*x)

40

30

20

10

0
0 5 10 15 20
tiempo

Figura 1.2 Gráfica de la velocidad de caída libre con un modelo analítico.

En el vector velocidad resultante, cuando t = 12 s es el séptimo elemento [v(7)], entonces la velocidad


correspondiente a este tiempo es

v(7)

ans =
50.6175
De acuerdo al modelo, el saltador acelera rápidamente. En 10 segundos adquiere una velocidad de
49.4214 m/s (aproximadamente 176.4 Km/h). También observe que después de un tiempo
suficientemente largo se alcanza una velocidad constante, llamada velocidad terminal; de 51.6938 m/s
(186.1 Km/h) en aproximadamente 48 segundos. En ese momento, la fuerza neta es cero y la aceleración
ha cesado.

Solución Numérica o Aproximada


Ejemplo 1.2. Efectuar el mismo cálculo que en el problema 1, pero haciéndolo con un método
analítico. Recuerde que ya dijimos que los métodos numéricos son aquellos en los que el problema
matemático se formula de tal modo que pueda resolverse aritméticamente.

5
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Solución:
dv v
Del cálculo elemental sabemos que:  lim
dt t 0 t
dv v v( ti 1 )  v( ti )
  (1.7)
dt t ti 1  ti

v v(ti1 )  v(ti ) c
  g  v(t )2
t ti1  ti m

 c 
v( ti 1 )  v( ti )   g  v( ti )2   ti 1  ti  (1.8)
 m 

La ecuación (18) es la solución aproximada y podemos reescribirla como

 c 
vi 1  vi   g  vi 2  t (1.9)
 m 
Si iniciamos con un tiempo inicial de cero, se decir cuando el contador i  0 , la velocidad inicial
también es cero, y además utilizamos un incremento de tiempo (tamaño de paso) de 2 segundos es
decir:
ti 1  ti  2 y Si t0  0 , entonces

vo  0
 0.25 2 
v1  0  9.81   0   * 2  19.62
 68.1 
Usamos Matlab y aplicamos la fórmula (1.9) usando intervalos t  2 para obtener los valores de
velocidad. Observe que el valor inicial de v, = 0, la usamos para calcula la v siguiente y este para
el siguiente y así sucesivamente.

Tabla 1.2 Velocidades en caída libre con el modelo aproximado.

Iteración t=tiempo v =velocidad


0 0 00.0000000
1 2 19.6200000
2 4 36.4136828
3 6 46.2983209
4 8 50.1801820
5 10 51.3122916
6 12 51.6007845
7 14 51.6712914
8 16 51.6883335
9 18 51.6924473
10 20 51.6934377

6
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Gráfica de la Solución Numérica


55

50

45
v=vi+(g-c/m*vi. )*2

40
2

35

30

25

20

15
0 5 10 15 20
t

Figura 1.3 Gráfica de la velocidad de caída libre con un modelo aproximado (numérico).

La gráfica de la figura 1.4 muestra el cambio de velocidad de un cuerpo en caída libre mediante un
modelo analítico y un modelo aproximado. Observe que a medida que el tiempo se incrementa las
aproximaciones son cada vez más parecidas a los valores exactos del modelo analítico. Los puntos que
están unidos mediante segmentos de recta son los valores aproximados para =2

Solución numérica y analítica


60

50

40

30
V

20

10

0
0 5 10 15 20
Tiempo

Figura 1.4 Gráfica comparativa entre los modelos analítico (exacto) y numérico (aproximado).

1.1.2 Algoritmo
A los procedimientos utilizados para realizar la aproximación de la función a ( ) se les llama
algoritmos. Un algoritmo es un procedimiento que describe sin ambigüedades, una serie de pasos a
realizar en una secuencia específica. El objetivo de un algoritmo es poner en práctica un procedimiento
para solucionar el problema o aproximarse a la solución de un problema. A continuación discutiremos
brevemente las características de rendimiento que podrían esperarse (o no) de un buen algoritmo
numérico y definimos algunas propiedades básicas, o características que tales algoritmos deben tener.

7
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Criterios para evaluar un algoritmo


La evaluación de la calidad y utilidad de un algoritmo podría estar basada en una serie de criterios como
los siguientes:

 Exactitud
Este tema está entrelazado con el tema de los errores generados por las aproximaciones. Lo
importante del punto es que la exactitud de un algoritmo numérico es un parámetro
fundamental para su evaluación y cuando diseñamos el algoritmo, debemos ser capaces de
señalar cual es la magnitud del error que se espera cuando se estén llevando acabo los
cálculos.
 Eficiencia. Un buen algoritmo es aquel que termina rápido y con el mínimo error posible. La
eficiencia depende tanto de los requerimientos de tiempo como de espació de almacenamiento
del CPU. Los detalles de la implementación de un algoritmo en un lenguaje de computación
dado y la configuración del hardware podrían jugar un papel importante en el rendimiento
eficiente del código. Otro indicador teórico de la eficiencia es la velocidad de convergencia.
Frecuentemente las computadoras pueden calcular la cantidad de operaciones elementales sean
esta sumas, restas, divisiones o multiplicaciones, dándonos una idea de la eficiencia del
algoritmo. Normalmente para los números reales se una representación de punto flotante y
entonces los costos de esas diferentes operaciones elementales en punto flotante, llamadas
flops, pueden considerarse iguales entre ellos.

Ejemplo 1.3 Un polinomio de grado n, está dado como


pn ( x )  a0  a1 x    an x n
2
requiere de  ( n ) operaciones para evaluar x en un punto fijo, si se hace sin almacenar las
potencias de intermedias de x. Pero si se usa una forma anidada, también conocida como regla
de Horner y dada por
pn ( x)  ( (( an x  an 1 ) x  an  2 ) x ) x  a0
sugiere que la evaluación del algoritmo requiere solamente de n operaciones elementales.

 Robustez. Frecuentemente, el mayor esfuerzo al escribir un software numérico, tal como las
rutinas disponibles en Matlab para resolver sistemas de ecuaciones lineales o para la
aproximación de funciones o la integración, se invierte no en la implementación de la esencia
de un algoritmo, sino en garantizar que funcionará bajo todas las condiciones. Entonces, la
rutina debe proporcionar ya sea el resultado correcto con un error con un nivel de tolerancia
aceptable o debe fallar graciosamente (por ej., terminar con un mensaje de advertencia), si no
lo hace, no garantiza un resultado correcto.
Hay propiedades numéricas intrínsecas que se toman en cuenta para la robustez y confiabilidad
de un algoritmo. Entre estas está la acumulación de errores. En particular, el algoritmo debe
ser estable.

Condiciones del problema y estabilidad


En vista del hecho de que tanto el problema y el algoritmo producen errores, surge naturalmente una
pregunta en cuanto a la valoración de una determinada solución computarizada. Aquí las nociones de
sensibilidad del problema y estabilidad del algoritmo juegan un papel importante. Si un problema es
muy sensitivo, o mal condicionado, significa que aún una pequeña perturbación en los datos produce
una gran diferencia en los resultados, entonces no se puede encontrar ningún algoritmo para el problema

8
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

que cumpla con nuestros requisitos de robustez de la solución. Por el contrario, si el algoritmo es
estable y está bien condicionado, entonces el resultado calculado está cerca de la solución exacta .
El trabajo de un algoritmo estable para un problema dado es producir una solución numérica la cual
es una solución exacta de un problema perturbado solo ligeramente.

1.2 Definición y Fuentes de Error

Los sistemas digitales como calculadoras y computadoras difícilmente cometen un error por sí mismas,
ya que siguen fielmente un orden programado. No obstante, a menudo encontramos algunos errores
numéricos en los resultados de informáticos realizados por los sistemas digitales, en su mayoría
procedentes de la representación de números en una cantidad de bits finitos, que es una limitación
intrínseca del mundo digital. Si se deja que el equipo calcule algo sin considerar lo que se llama el
efecto de la longitud finita de la palabra, se podría obtener respuestas muy raras. En este caso, no es
el equipo, si no usted como usuario o el programador, quien es culpable de ese mal resultado. Por ello,
debemos tratar de disminuir la magnitud de los errores para minimizar el impacto en los resultados
finales. Para hacerlo, debemos conocer las fuentes de los errores de cálculo y también comprender las
propiedades computacionales de los algoritmos numéricos. Veremos cómo el equipo representa y
almacena los números y después analizaremos la causa y el efecto de propagación del error
computacional para no ser engañados por errores no intencionales del equipo o cometidos por nosotros
mismos y con ello, poder tomar algunas medidas contra ellos.

1.2.1 Cifras significativas de precisión


Los dígitos o cifras significativas son dígitos que comienzan con el dígito distinto de cero más a la
izquierda y terminando en el dígito correcto más a la derecha, incluyendo ceros finales que son
exactos. Así, los números 1.129, 0.05075, y 70.00 cada uno contiene cuatro cifras significativas. Cada
dígito es una cifra significativa, excepto el cero como los de la izquierda del cinco en 0.05083. Como
puede verse, los ceros no siempre son significativos, a veces solo se utilizan para fijar el punto
decimal. En algunos casos determinar los dígitos significativos es confuso. Por ejemplo, en el número
el número 36 700, puede tener cinco, cuatro o tres cifras significativas, dependiendo de si los ceros se
conocen o no con exactitud. La incertidumbre puede eliminarse utilizando la notación científica, donde
3.6700 × 10 , 3.670 × 10 , 3.67 × 10 tienen cinco, cuatro o tres cifras significativas
respectivamente. Que los ceros sean o no sean significativos depende del contexto, si se sabe que un
número está entre 32 655 y 32 675, entonces en el número 32 670, el cero no es significativo y
preferentemente será escrito de la forma 3.267 × 10 . De lo contrario, expresarlo de la forma
3.2670 × 10 sería la apropiada.

El proceso convencional de redondear o "forzar" un número a reducir el número de dígitos (cifras)


significativas, conduce a dos redondeos permisibles. Uno de ellos es el método de redondeo a par que
consiste en que el n-ésimo dígito del número redondeado sea par. Generalmente este método es el que
se selecciona debido a su tendencia a reducir el error total promedio de redondeo en igual proporción
de números redondeados hacia arriba y los redondeados hacia abajo. Otra forma, menos usada, es la
cuestión de redondear hacia arriba o hacia abajo el enésimo-dígito decimal según termine con un
número ≥ 5 o ≤ 5 respectivamente. Sin embargo, lo mejor es seleccionar siempre el número
redondeando el n-dígito con el enésimo dígito par. Esto puede parecer extraño al principio, pero
esencialmente, esto es lo que hacen las computadoras en el redondeo de los cálculos decimales cuando
se utiliza la aritmética de punto flotante estándar. (Este es un tema lo discutiremos en la sección 1.5.)

9
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

En algunos sistemas computacionales se prefiere el "corte" a n dígitos. Se dice que un número es


recortado a n dígitos cuando todos los que le siguen son descartados y ninguno de los restantes es
modificado.

Así por ejemplo, los resultados de redondear a tres dígitos, los siguientes números con cuatro cifras
decimales son 0.4565 ≈ 0.456; 0.3875 ≈ 0.388; 0.5127 ≈ 0.513 y 0.3492 ≈ 0.349, mientras que
el corte da 0.4565 ≈ 0.456; 0.3875 ≈ 0.387; 0.5127 ≈ 0.512 y 0.3492 ≈ 0.349. En la
computadora, el usuario a veces tiene la opción de escoger que todas las operaciones aritméticas sean
hechas con corte o con redondeo. Por supuesto, esta última opción es la mejor.
El concepto de cifras significativas tiene dos implicaciones importantes en el estudio de los métodos
numéricos: 1) Como se mencionó en los párrafos anteriores, los métodos numéricos dan resultados
aproximados. Por lo tanto, se deben desarrollar criterios para especificar qué tan confiables son
dichos resultados. Una manera de hacerlo es en términos de cifras significativas. Por ejemplo, es
posible afirmar que la aproximación es aceptable siempre y cuando sea correcta con cuatro cifras
significativas; 2) Aunque los números , √2, , y otros más representan cantidades específicas, no
se pueden expresar exactamente con un número finito de dígitos. Por ejemplo, √2 =
1.414213562373095048801688 hasta el infinito. Como las computadoras solamente pueden
manejar un número finito de cifras significativas, tales números jamás se podrán representar con
exactitud. A la omisión del resto de cifras significativas se le conoce como error de redondeo o de
corte, según se vio anteriormente.

El concepto de cifras significativas está relacionado con el error de redondeo/corte y se relaciona


íntimamente con el cálculo del error relativo. Las cifras significativas se usan para expresar nuestra
confianza en un resultado numérico y se estudiarán con mayor detalle en las siguientes secciones donde
se define el concepto de error y en de la definición de exactitud y de precisión.

1.2.2 Diferencia entre exactitud y precisión


En el análisis de los errores, es frecuente decir que un valor tiene cierta precisión y exactitud y aunque
están íntimamente relacionados ambos términos, no significan lo mismo.
 Exactitud. Se refiere a que tan cercano está un valor obtenido, medido o calculado del valor
verdadero. Está relacionada estrechamente con los tipos de errores, la exactitud de un
algoritmo es un parámetro fundamental para su evaluación, y cuando se diseñan algoritmos
numéricos es necesario ser capaces de señalar cual es la magnitud del error esperado cuando se
lleven a cabo los cálculos. Una exactitud de n cifras decimales significa que usted puede
confiar n dígitos a la derecha del punto decimal. Una exactitud de n dígitos significativos
significa que puede confiar en un total de n dígitos significativos iniciando con el dígito más a
la izquierda distinto de cero.
Supongamos que utiliza una regla graduada en milímetros como la que usa comúnmente para
medir longitudes. Las mediciones serán de una precisión de un milímetro, o 0.001 m, que es de
tres cifras decimales escritos en metros. La lectura de una medida como 5.236 m sería con tres
cifras decimales. Una medida como 5.236789 m no tendría sentido, ya que la regla sólo se
produce tres lugares decimales. Aun cuando visualmente nos diésemos cuenta que la medida
marca un valor por arriba de 5.236 m, pero menor que 5.237 m, entonces, como la regla
produce solamente tres lugares decimales, el número debe ser 5.236 m o 5.237 m. Si la medida
5.236 tiene cuatro cifras significativas confiables, entonces es exacto en cuatro cifras
significativas. Si la medida de 12.345 m tiene cinco dígitos confiables, entonces se tiene una
precisión de cinco cifras significativas. Por otra parte, una medición tal como 0.094 m tiene
sólo dos cifras significativas.

10
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

 Precisión. Se refiere a que tan cercano está un valor medido o calculado en relación a otros
valores medidos, obtenidos, o calculados. Esto se relaciona con el número de dígitos que
puede guardar una computadora o una calculadora. Al utilizar una calculadora o una
computadora en un experimento de laboratorio, se puede obtener una falsa sensación de tener
una mayor precisión que se justifica por los datos. Por ejemplo, en Matlab se calcula el
resultado de

>> (4.5) + (2.78)


ans = 7.2800

en realidad sólo tiene dos dígitos significativos de precisión debido a que el segundo dígito en
4.5 puede ser el resultado del efecto de redondeo hacia arriba de 4.48 o redondeo hacia abajo
de 4.547 hasta dos cifras significativas. El número 2.78 podría ser el resultado del redondeo a
par de 2.785. Entonces, el lado izquierdo de la suma podría ser tan pequeño como

>> 4.48 + 2.785


ans = 7.2650

o tan grande como

4.547 + 2.785
ans = 7.3320

dando resultados diferentes.

En realidad ¡Hay sólo dos cifras decimales significativas en la respuesta! En la suma y resta
de números, el resultado es exacto sólo para el menor número de dígitos significativos
utilizados en cualquier etapa del cálculo. En el ejemplo anterior, el término 4.5 tiene dos dígitos
significativos; Por lo tanto, el cálculo final tiene una incertidumbre en el tercer dígito.
 Imprecisión (o incertidumbre). Se refiere al grado o magnitud de separación entre los
resultados obtenidos.
 Inexactitud (o sesgo). Es el alejamiento sistemático de la verdad o del valor verdadero.

1.2.3 Tipos de Error


Cuando un procedimiento de cálculo está implicado en la solución de un problema científico-
matemático, los errores a menudo estarán involucrados en el proceso. La mayoría de los cálculos son
inexactos ya sea debido a inexactitudes de los datos obtenidos, sobre los cuales los cálculos se basan,
o porque se introduzcan inexactitudes en el análisis subsecuentes de esos datos. Además de estos
errores, en ocasiones graves, se producen errores debido los equipos de cómputo y otros debido a los
procedimientos matemáticos de aproximación utilizados. En este punto, es conveniente proporcionar
una clasificación aproximada de los tipos principales de errores que podrían ocurrir es el siguiente:

1. Errores de Modelado: El modelado matemático es un proceso en el cual se utilizan ecuaciones


matemáticas para representar un sistema físico. Debido a la complejidad de la realidad física, se utiliza
una variedad de supuestos simplificadores con el fin de construir un modelo matemático más
manejable. El modelo resultante tiene limitaciones en su precisión como consecuencia de estos
supuestos, y estas limitaciones pueden o no ser problemáticas, dependiendo de los usos del modelo. En

11
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

el caso de que el modelo sea inexacto, la solución numérica del modelo no mejorará debido a esta
carencia básica de exactitud. Este modelo introduce errores y se llaman errores de modelado.

 Pérdida de significancia o cancelación por resta: causada por una "mala resta", lo que
significa la sustracción de un número de otro con valores casi idénticos.
Por ejemplo, considere las dos fórmulas siguientes:


f1 ( x )  x x  1  x ,  f2 ( x ) 
x
x 1  x
(1.10)

Teóricamente, las dos expresiones son equivalentes, por lo tanto, se espera que al evaluarse
produzcan exactamente el mismo valor. Sin embargo, al ejecutar el programa "mnu13.m" para
calcular los valores con las dos fórmulas, vemos el sorprendente resultado de que, a medida
que x aumenta f1 ( x ) se mueve incoherentemente de "arriba hacia abajo", en cambio, f2 ( x )
se acerca continuamente a 1/2 a un ritmo constante. Esto podría hacernos sentir desconfianza
hacia la computadora y dudar de su confiablidad. ¿Por qué ocurre esto con f1 ( x ) ? Lo que
ocurre es que el número de bits significativos disminuye abruptamente cuando se lleva a cabo
la resta  
x  1  x para valores grandes de x, esto es conocido como pérdida de
significancia. El tipo de error introducido debido al uso de ecuaciones matemáticas para
representar un sistema físico también es llamado error de modelado o error de modelado
matemático.

Listado 1.3
%mnum13
clear
f1 = inline('sqrt(x)*(sqrt(x + 1) - sqrt(x))','x');
f2 = inline('sqrt(x)./(sqrt(x + 1) + sqrt(x))','x');
x = 1;
format long e
for k = 1:15
fprintf('En x=%15.0f, f1(x)=%20.18f, f2(x) = %20.18f\n',
x,f1(x),f2(x));
x = 10*x;
end
sx1 = sqrt(x+1); sx = sqrt(x); d = sx1 - sx; s = sx1 + sx;
fprintf('sqrt(x+1) = %25.13f, sqrt(x) = %25.13f\n',sx1,sx);
fprintf(' diff = %25.23f, sum = %25.23f\n',d,s);

En x= 1, f1(x)=0.414213562373095150, f2(x) = 0.414213562373095090


En x= 10, f1(x)=0.488088481701514750, f2(x) = 0.488088481701515480
En x= 100, f1(x)=0.498756211208899460, f2(x) = 0.498756211208902730
En x= 1000, f1(x)=0.499875062461021870, f2(x) = 0.499875062460964860
En x= 10000, f1(x)=0.499987500624854420, f2(x) = 0.499987500624960890
En x= 100000, f1(x)=0.499998750005928860, f2(x) = 0.499998750006249940
En x= 1000000, f1(x)=0.499999875046341910, f2(x) = 0.499999875000062490
En x= 10000000, f1(x)=0.499999987401150920, f2(x) = 0.499999987500000580
En x= 100000000, f1(x)=0.500000005558831620, f2(x) = 0.499999998749999950
En x= 1000000000, f1(x)=0.500000077997506340, f2(x) = 0.499999999874999990
En x= 10000000000, f1(x)=0.499999441672116520, f2(x) = 0.499999999987500050
En x= 100000000000, f1(x)=0.500004449631168080, f2(x) = 0.499999999998750000
En x= 1000000000000, f1(x)=0.500003807246685030, f2(x) = 0.499999999999874990
En x= 10000000000000, f1(x)=0.499194546973835970, f2(x) = 0.499999999999987510
En x=100000000000000, f1(x)=0.502914190292358400, f2(x) = 0.499999999999998720
sqrt(x+1) = 31622776.6016838100000, sqrt(x) = 31622776.6016837920000
diff = 0.00000001862645149230957, sum = 63245553.20336760600000000000000

12
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Para comprender mejor este fenómeno, veámoslo más de cerca. Sea x  1015 , entonces
tenemos que

sqrt(x+1) = 3.1622776 x 107 = 31622776.60168381


sqrt(x) = 3.162277660168379 x 107 = 31622776.601683792

Estos dos números tienen 52 bits significativos, o su equivalente 16 cifras significativas así
que las cifras significativas van desde 108 a 10-8. Según esto, la cifra menos significativa de su
suma y diferencia también es el octavo número después del punto decimal (10-8).
x  1  x  63245553.20336761

x  1  x  0.00000001862645149230957  0.00000002

Obsérvese que en la resta el número de cifras significativas disminuye de 16 a 1. ¿Podría usted


imaginar que una simple resta puede aniquilar a la mayoría de los números significativos? Esta
es una gran "pérdida de significancia", a la que a menudo se le llama "cancelación
catastrófica".

 Sumas insignificantes: causada por la adición de dos números de magnitudes diferentes por
más de 52 bits.

2. Torpezas (metidas de pata) y equivocaciones: Errores ocurren en cualquier etapa del proceso de
elaboración de modelos matemáticos y constan de todos los demás componentes de error. Los errores
se pueden evitar mediante un buen conocimiento de los principios fundamentales del problema y con
el cuidado adecuado en el enfoque y el diseño de una solución. Antes de la era de las computadoras la
probabilidad de cometer errores aritméticos siempre fue un problema grave. Con la introducción de las
computadoras digitales, la probabilidad de ocurrencia de los errores aritméticos ahora es relativamente
rara, los más frecuentes son los debidos a los errores de programación. A menudo, un error de
programa se repetirá muchas veces en el curso de la ejecución del programa, y su existencia se hará
evidente debido a una salida numérica absurda (aunque el origen del error todavía puede ser difícil de
encontrar). Pero a medida que los programas informáticos se vuelven más complejos y largos, la
existencia de un pequeño error de programa puede ser difícil de detectar y corregir, a pesar de que el
error puede hacer un sutil, pero crucial en los resultados numéricos su detección y corrección, a veces
se realiza hasta después de que ha ocurrido algo muy serio.

3. Representación numérica de la máquina y errores aritméticos: Estos errores son inevitables


cuando se usa una aritmética de representación de punto flotante al usar computadoras o calculadoras.
En concreto, nos referimos a los errores de redondeo/errores corte y a los de desbordamiento/
subdesbordamiento.

 Error de redondeo: es la consecuencia de usar un número finito de dígitos especificados por


n dígitos correctos para aproximar un número el cual requiere más de n dígitos (generalmente
una cantidad n muy grade o infinita de dígitos) para su especificación exacta. Estos errores
frecuentemente están presentes en los datos, en cuyo caso se les denomina errores inherentes,

13
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

debido al hecho de que son datos "empíricos" y se conocen solamente cierto n dígitos, o por el
hecho de que, aun cuando se conocen exactamente, ellos son "redondeados" a cierta cantidad
de dígitos según lo dicte la conveniencia o la capacidad del equipo para representar las
cantidades almacenadas en datos numéricos en palabras de bits finitas.
 Desbordamiento/subdesbordamiento: causados por números demasiado grandes o
demasiado pequeños para ser representados y almacenados correctamente en una cantidad de
bits finita – más específicamente, cuando se intenta representar o almacenar números con
valores absolutos mayores/menores que el máximo (realmax) o el mínimo (realmin) número
que puede representarse en MATLAB.

4. Errores matemáticos de aproximación: Este error también se conoce como un error de


truncamiento o error discretización. Estos errores surgen cuando se utiliza una formulación
aproximada a un problema en lugar de la función real a evaluar y que no se puede resolver con exactitud
de algún otro modo. La formulación puede implicar la discretización de procesos continuos, tales como
la interpolación, diferenciación e integración

 Error de truncamiento: este tipo de error corresponde al hecho de que mientras un resultado
exacto se obtiene mediante una secuencia infinita de pasos, el proceso de cálculo es truncado
después de cierto número de pasos. También se relaciona con el tamaño de paso h utilizado en
la discretización. Por ejemplo, sucede cuando se suma un número finito de términos, mientras
que deberíamos añadir una cantidad infinita de términos para obtener, en teoría, una respuesta
exacta.

 Los errores de convergencia surgen por el uso de métodos iterativos. Por ejemplo, en el
cálculo de raíces de ecuaciones no lineales, la solución de sistemas de ecuaciones lineales y no
lineales. Los procesos iterativos deben converger a la solución exacta en un número infinito
de iteraciones.

5. Además de los errores mencionados, otras situaciones complicadas y sobre las que hay que tener
cuidado son:
 Ampliación del error: causados y amplificados/propagados por multiplicar/dividir un número
que contiene un pequeño error por números muy grandes/muy pequeños.
 Errores dependientes de los algoritmos numéricos, número de iteraciones, tamaño de paso
y así sucesivamente

1.2.4 Definición de Error: Absoluto y Relativo


Cuando se resuelve un problema mediante cálculos numéricos es inevitable la presencia de error y en
consecuencia, generalmente es necesario medir el error, por tanto debemos definir qué es el error.

Los errores son introducidos por el propio proceso computacional debido a que realizan operaciones
matemáticas con sólo un número finito de dígitos. En la solución de un problema, buscamos una
solución exacta o verdadera la cual denotaremos como . Si el número xa es una aproximación al
resultado exacto xv entonces la diferencia – se llama error verdadero o total; esto es, el error
verdadero es el valor exacto menos el valor aproximado. Por lo tanto el error asociado con un valor
aproximado se define como el resultado restar el valor aproximado del valor verdadero y representa
el grado o magnitud de imprecisión e inexactitud de las aproximaciones.

14
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

= – (1.12)

Como por lo general no estamos interesados en el signo del error, al error verdadero lo escribimos como
valor absoluto. Así el error verdadero absoluto de como una aproximación a es | |
y lo dentaremos como .

Error Absoluto Verdadero = |Valor exacto – Valor aproximado|


=| | (1.13)

Para la mayoría de los propósitos es preferible obtener y estudiar el error relativo o el porcentual si
multiplicamos al relativo por cien. El error relativo mide el error como una porción del error
verdadero.
xv  xa
v  (1.14)
xv

Si el error relativo se multiplica por 100 se tiene el error relativo porcentual.


xv  xa
v  100% (1.15)
xv
Donde v simboliza el error relativo verdadero porcentual.
En aplicaciones a la solución del mundo real el error verdadero nunca se conoce de antemano (a
menos que se trate de una función que pueda resolverse analíticamente), por lo tanto es mejor
“normalizarlo” utilizando la mejor estimación disponible al valor verdadero, que es la
aproximación en sí misma.

a  error relativo normalizado o simplemente error relativo y está dado por

| |
= | |
(1.16)

Si multiplicamos por 100, entonces tendremos el error relativo porcentual

| |
= | |
% (1.17)

En la aplicación de métodos numéricos el interés se centra en obtener un error menor a un error que
estamos dispuestos a aceptar o tolerancia s . Por esta razón, con frecuencia se utiliza el valor absoluto
de la ecuación (1.16). En estos caso los cálculos se repiten hasta que

| |<| | (1.18)

La tolerancia se relaciona con el número de cifras significativas (redondeo o corte) y con el número
de iteraciones que se ejecutan en un cálculo numérico, por tanto, el  a con frecuencia se utiliza como
criterio de paro si tenemos el error, calculamos en número de cifras significativas y si se conoce el
número de cifras significativas, podemos calcular el error.

En lugar del error relativo, con frecuencia utilizamos el concepto de cifras significativas para el cálculo
del error. Decimos que el xa tiene n dígitos decimales significativos con respecto a xv si el error

15
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

= tiene una magnitud menor o igual a 5 en la (n + 1)-ésima cifra de xe, contando hacia la
derecha desde el primer dígito distinto de cero en xv ·

Ejemplos 1.4 (a) Sean = = 0. 33. =. , =| | = 0.000 3


Puesto que el error es inferior a 5 en el cuarto dígito a la derecha del primer dígito distinto de cero en
xv, decimos que xa tiene tres cifras significativas con respecto a la xv.

(b) Sean = . 6 = . 4 =| | = 0.0020

El término tiene cuatro cifras significativas con respecto a , ya que el error es inferior a 5 en el
quinto lugar a la derecha del primer dígito distinto de cero en . Tenga en cuenta que si se
redondeara a cuatro lugares, se introduce un error adicional y ya no contará con cuatro cifras
significativas, si no que con tres.

(c) Sean = 0.0 38, = 0.0 44, = | | = 0.00 06

El número tiene dos dígitos significativos, pero no tres, con respecto a .

La fórmula siguiente es la que con frecuencia se emplea en la medida de los números significativos. Si

| | | |
= | |
= | |
≤ 5 × 10 (1.1.9)

Entonces tiene n dígitos significativos con respecto a . Para mostrar esto, consideremos el caso
de la parte decimal , . 1 ≤ | | < 1. Entonces (1.1.8) implica que el error es una fracción de .

| |≤ × | |< . ×

Como el  a   s , entonces, para un cierto error aceptable dado podemos calcular el número de cifras
significativas de la aproximación respecto a mediante

= . × (1.20)

Para el error porcentual podemos afirmar que un resultado es correcto en al menos n cifras
significativas si:
 s  0.5*10 2  n %  
(1.21)

Otro criterio de paro es el número de pasos en una iteración influye en el grado del error. Si tenemos n
iteraciones y partiendo de que
a   s

 x1  x0 
 2n   s
 

Donde n es el número de iteraciones.

16
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

x x 
log  1 n 0   log  s
 2 
log  x1  x2   log 2 n  log  s
 x  x0 
n  log2  1  (1.22)
 s 
Por ejemplo, si x1  x0   1 y  s  0.0001 , entonces, usando MATLAB

n = log2(1/0.0001)

n = 13.2877

Nota: La instrucción log2(x), en Matlab calcula el logaritmo de x en base 2.

Ejemplo 1.5. Estimación del error para métodos iterativos.


Determine el valor de y  e.5 mediante la expansión en serie de Taylor utilizando un criterio de error
que asegure que el resultado correcto tendrá al menos tres cifras significativas.

Solución:
- Según el enunciado se requiere un resultado correcto con al menos tres cifras significativas, entonces
el error aceptable debe ser menor que

 s  (0.5*1023 )%  .05%

Empleando Matlab
s  0.5* 101
 s  0.0500 %
Entonces a la serie se le agregarán términos hasta que s sea menor que ese valor.
- La serie que representa a e x está dada por

x x2 xn xn
ex  1   ...   ...   R
1! 2! n! n0
n!
-
- La primera estimación la hacemos tomando solamente un término de la serie, esto es e.5  1 .
- Si adicionamos el segundo término tendremos la siguiente aproximación para x = 0.5.
- e x  1  x ; e 0.5  1  0.5  1.5
- El error relativo porcentual estará dado por
1.5  1
- a  *100  33.3%
1.5
- El listado 1.2 nos proporciona la tabla siguiente que da el resultado de las primeras 10
aproximaciones, el error en cada una de ellas y el número de iteraciones realizadas.

Listado 1.4
% El programa se ejecuta como serie1.m
% Tabla para el cálculo de e^1/2 utilizando la serie de Taylor
x=input('entre el valor de x:' );

17
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

ts=input('entre el número de térnimos de la suma:' );


n=0;
Sk=0;
fprintf('__________________________________\n')
fprintf('Término Resultado Ea\n')
fprintf('__________________________________\n')
while n <=ts;
[suma]=x^n/factorial(n);
for k = n+1
Sk=suma+Sk;
error = abs((Sk-(suma+Sk))/Sk)*100;
fprintf( '%2.0f %3.9f %1.4f\n',k,Sk,error)
end
n=n+1;
end
disp(Sk)

Entre el valor de x = 0.5

Entre el número de términos de la suma:

Término Resultado Ea
1 1.000000000 100.0000
2 1.500000000 33.3333
3 1.625000000 7.6923
4 1.645833333 1.2658
5 1.648437500 0.1580
6 1.648697917 0.0158
7 1.648719618 0.0013
8 1.648721168 0.0001
9 1.648721265 0.0000
10 1.648721270 0.0000
1.6487

1.3 Errores por Redondeo y los Números en la Computadora


Los errores por redondeo se originan por los instrumentos de medición o cálculo con los que trabajamos.
En nuestro caso, usaremos las computadoras o las calculadoras, estas solamente puede almacenar en su
memoria un número finito de cifras significativas durante el cálculo. Por otro lado, existen números
como  , e, 7, 3 , que no pueden ser expresados por un número fijo de cifras, por lo tanto no pueden
ser representados con exactitud con un número definido de dígitos por la computadora o las
calculadoras; además, las computadoras representan los números en base dos y por ello no pueden
representar, con exactitud a todos los números en base diez. Por ejemplo, el número 1 10 , se representa
con un número infinito en base dos. Cuando se redondea un número se utiliza una cierta cantidad de
números llamados "dígitos significativos". Los dígitos o cifras significativas son los que pueden
utilizarse en forma confiable. Esto significa que al momento de resolver un problema debemos
establecer criterios de confiabilidad para los resultados que se pretenden obtener. Es decir, debemos

18
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

especificar cuantas cifras significativas son suficientes para obtener datos confiables. Al omitir el resto
de cifras significativas se está cometiendo un error por redondeo. En el proceso de redondeo el número
se representa por el número de la computadora más cercano al número dado.

Decimos que un número x es truncado a n dígitos o cifras cuando todos los dígitos que le siguen al
enésimo dígito se descartan y ninguno de los restantes n dígitos es cambiado. Por el contrario, x es
redondea n dígitos o cifras cuando x es reemplazado por un número de n dígitos que se aproxima a x
con el mínimo error. La cuestión de si se debe redondear hacia arriba o hacia abajo un número decimal
con (n + 1)-dígitos que termina con un 5, es mejor manejarlo seleccionando siempre el redondeo a un
número con n dígitos con el n-ésimo decimal que sea un número par. Esto puede parecer extraño al
principio, pero esencialmente esto es lo que hacen las computadoras para el cálculo del redondeo de
decimales cuando se utiliza la aritmética estándar de punto flotante.

Los errores de redondeo se relacionan directamente con la forma en que la computadora guarda los
números en su memoria. Las computadoras almacenan los números en una cadena de dígitos (palabra)
de unos y ceros. Es decir utiliza un sistema numérico binario. Por ejemplo, el número decimal 53 escrito
en un sistema de base 2, se representa con la secuencia 110101 2 .

Los números binarios


El sistema binario, al igual que el sistema decimal, es un sistema posicional solo que de base 2. Así
para transformar el número 101011012 a su equivalente en base 10 basta con hacer:

1 2    0   2  1x 2    0 x 2   1x 2   1x2    0 x 2   1x2   173


7 6 5 4 3 2 1 0

Los números enteros decimales están dados en base dos por:

I   bt 2k  bt 1 2k 1 b2 22  b1 21  b0 20  (1.23)

mientas que para números positivos menores que uno estos están dados por

b1 21  b2 2 2  b3 23  (1.24)

La conversión entre la base 10 y la base 2 se realiza automáticamente mediante lenguajes de


programación. Así, la conversión de un entero binario de n bits b  bn 1 ... b0 a su equivalente
decimal x se hace como una suma de n potencias de 2.

n 1
x   bk 2k (1.25)
k 0

Un número como (1011.0011) en base-2 representa el número decimal como


 
(1011 .0011) 2  (1  2 3  0  2 2  1  21  1  2 0 )  (0  2 1  0  2 2  1  2 3  1  2 4 ) 10
 11 .1875

En el sistema de numeración binario, la expresión matemática del entero es

19
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

bt bt 1bt  2  b2b1b0 (1.26)

En una computadora, el máximo de t se limita debido al diseño del hardware y al software. Las
computadoras PC modernas usan 32 o 64 bits para representar un número entero. De igual modo,
los software algunos usan 32 y otros 64 bits donde bt es un bit con valor de 0 o 1.

El algoritmo para convertir números enteros decimales a números binarios consiste en dividir
repetidamente el entero por dos y el residuo de la división (0 o 1) es el dígito a del binario. El
primer residuo es a0, el segundo es b1 y así sucesivamente, el proceso para cuando el cociente se 1 y la
división es ½ , como no es divisible en forma entera el cociente es cero y el residuo es 1, 1 será el
binario bk.
Ejemplo 1.6 Convierta el 11 en base 10 a binario 2.

Cociente Residuo
11/2 5 1  b0
5/2 2 1  b1
2/2 1 0  b2
1/2 0 1  a3
De ahí que
(11)10  (b3b2b1b0 )2
 (1011) 2

Para convertir números con punto decimal a su equivalente binario el número en base 10
multiplica por 2 y la parte entera, a la izquierda del punto decimal, será el primer dígito binario
(0 o 1). La parte decimal restante se vuelve a multiplicar por 2. El proceso se repite hasta que el último
resultado sea 1.0.

Ejemplo 1.7 Transformar el número 0.1875 en base 10 a base 2.

Número después del Número antes del


Número
punto decimal punto decimal
0.1875
2 0.375 0.375 0  b1
0.375 
2
0.75 0.75 0  b2
0.75  2 1.5 0.5 1  b3
0.5  2 1.0 0.0 1  b4

De ahí que
(0.1875)10  (b1b2b3b4 ) 2
 (0.0011) 2

Ejemplo 1.10 Exprese en formato binario el número decimal 11.1875.


Habiendo calculado
(11)10  (1011) 2
y

20
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

(0.1875)10  (0.0011) 2 ,
tenemos que
(11.1875)10  (1011.0011) 2 .

Ejemplo 1.8 Represente en número binario al decimal 0.3


Este es un caso en el que la conversión de una fracción en base-10 solo puede representarse de forma
aproximada en el sistema binario.

Número después Número antes


Número
del decimal del decimal
0.3  2 0.6 0.6 0  b1
0.6  2 1.2 0.2 1  b2
0.2  2 0.4 0.4 0  b3
0.4  2 0.8 0.8 0  b4
0.8  2 1.6 0.6 1  b5

Como puede ver, el proceso nunca terminará. En este caso, el número solo puede ser aproximado en el
formato binario, esto es,
(0.3)10  (b1b2b3b4b5 ) 2  (0.01001) 2
.

1.6 Errores de Truncamiento o de Aproximación y las Series de Taylor


Las soluciones numéricas son aproximaciones a las soluciones exactas. Resultan de utilizar
aproximaciones en lugar de valores exactos. Gran parte de los métodos numéricos se basan en las
aproximaciones a funciones por medio de polinomios, aun cuando esto no sea evidente. Se construyen
algoritmos más avanzados conjuntando algoritmos más básicos. Por tanto, cuando se objeta el error de
un método numérico, hay que investigar la precisión con la que el polinomio se aproxima a la función
verdadera. Los errores por truncamiento son aquellos que resultan al usar una fórmula o procedimiento
de aproximación en lugar de una fórmula o un procedimiento exacto.

Frecuentemente encontraremos dos tipos de errores de aproximación:

 Los errores por discretización surgen de la discretización de procesos continuos, tales como
la interpolación, diferenciación e integración.
 Los errores de convergencia surgen en los métodos iterativos. Por ejemplo, los problemas no
lineales generalmente deben de resolverse mediante métodos iterativos (como el ejemplo 1.4).
Tales procesos convergerían a una solución exacta usando un número infinito de iteraciones.

Los errores de convergencia y discretización pueden ser evaluados mediante el análisis del método
utilizado, y esto lo veremos frecuentemente a lo largo de este texto. A diferencia de los errores de
redondeo, los de aproximación tienen una estructura relativamente suave que ocasionalmente puede ser
aprovechada. Nuestra suposición básica es que los errores de truncamiento predominan sobre los
errores de redondeo en magnitud en los cálculos reales y exitosos.

21
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

El desarrollo de Taylor es una serie infinita de potencias, representa de manera exacta una función
dentro de un cierto radio alrededor de un punto dado. Por tanto, mediante la comparación del desarrollo
polinomial de la solución numérica con la serie de Taylor de la solución exacta – Particularmente al
descubrir el orden donde aparece la discrepancia - es posible evaluar el error. El cual se conoce como
error de truncamiento. En el proceso de truncamiento el número se representa por el número mayor
de la computadora, pero menor que el número dado.

La serie Taylor también se usa para obtener métodos numéricos. Si se ignoran todos los términos de la
serie de Taylor, excepto unos pocos, se puede obtener un polinomio que se acerque a la función
verdadera. Este polinomio se llama una serie de Taylor truncada y se usa como punto de partida para
obtener métodos numéricos. Es obvio que si en la representación de una función se ignoran (cortando)
algunos términos del polinomio, se está cometiendo un cierto error aunque este sea muy pequeño.

Serie de Taylor
En esencia, la serie de Taylor proporciona un medio para predecir el valor de una función en un punto
en términos del valor de la función y sus derivadas en otro punto.

El teorema establece que cualquier función suave (continua) puede ser aproximada como un polinomio.
Un buen procedimiento para construir la serie de Taylor es hacerlo iterativamente término a término
empezando su aproximación con un valor xi hasta llegar a un valor x i+1. Si x i+1 es un valor alrededor
de xi, la serie completa quedaría expresada por:

Teorema de las series de Taylor.


Suponga que f ( x) tiene n +1 derivadas en un intervalo que contiene los puntos x0 y x , entonces
f ( x0 ) 2 f ( x0 ) 3
f ( x )  f ( x0 )  f ( x0 )( x  x0 )   x  x0    x  x0    (1.27)
2! 3!
en un cierto intervalo abierto centrado en x0.

Serie de MacLaurin
La serie de Taylor suele denominarse serie de Maclaurin de f (x) si x0  0
En otras palabras el teorema de Taylor nos dice que una función suave puede aproximarse como un
polinomio dado por
f ( x0 ) 2 f ( x0 ) 3
f ( x )  f ( x0 )  f ( x0 ) x  x  x   (1.28)
2! 3!

Ejemplos de desarrollos en serie

Por simplicidad se van a hacer desarrollos en torno a x0 = 0. En el caso de tomar x0  0 , bastaría


hacer el cambio x - x0 = t y desarrollar en torno a t0 = 0.
Utilizando el desarrollo de Maclaurin obtenemos las siguientes fórmulas estándar:


x x2 xn xn
ex  1   ...   ...   R
1! 2! n! n0
n!
Como consecuencia:

22
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB


(1)n x n
 e x   R=
n0 n!


3n x n
 e3x   R=
n 0 n !

2

x 2n
 ex   R=
n 0 n !
Utilizando también el desarrollo de Maclaurin se obtiene:

senx  x 
x3 x5
   

 1 x 2 n1 R=
3! 5! n  0  2 n  1 !
n

cos x  1 
x2 x4
   

 1 x 2 n R=
2! 4! n 0  2n  !

1
 1 x  x2    xn R=1
1 x n0

Luego también, por ejemplo:


1
  1  x  x 2  x 3 ...   ( 1) n x n R=1
1 x n0


1 2 4 6
  1  x  x  x ...   ( 1) n x 2 n R=1
1 x2 n 0

2 4
 1 1
9 1  x  x   x 2n R=3
  1        ...  
9  x2  x
2
9   3   3   n0 3 x
2 n 2

1  
 3

En la expresión utilizada para determinar una función f(x) mediante la serie de Taylor n es la n–ésima
derivada de la función. Sin embargo al asignarle un valor a n, necesariamente se habrá cometido un
error al estimar f(x) puesto que n tiende a infinito. Este valor faltante para que la función sea exacta se
conoce con el nombre de residuo y se denota por Rn. Si tomamos en cuenta el residuo de la función
entonces, la función exacta queda expresada como:

f ( x0 ) 2 f ( x0 ) 3
f ( x )  f ( x0 )  f ( x0 )( x  x0 )   x  x0    x  x0   
2! 3!
(1.29)
f n ( x0 ) n
  x  x0   Rn
n!

Donde el residuo se define como:

23
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Rn 
x
x  t n f n 1 (t )dt (1.30)

x0
n!
Para t  x0 .
Podemos escribir una forma alternativa de la serie de Taylor considerando el teorema del valor medio
para integrales y también que h  ( x  x0 )  ( xi 1  xi ) , entonces el término residual podemos
expresarlo como
f n1 ( ) n 1
Rn  h (1.31)
(n  1)!
donde n indica que este es el residuo de la aproximación de n-ésimo orden y  un valor que se
encuentra en algún lugar entre xi 1 y xi .
Una forma simplificada de la serie de Taylor es definiendo un tamaño de paso o incremento
h  ( xi 1  xi ) por h y Rn  O h n 1 , la serie de Taylor se expresa como:

f ( x i ) 2 f ( x i ) 3 f n ( xi ) n (1.32)


f ( x i  1 )  f ( x i )  f ( x i ) h  h  h   h  O h n 1
2! 3! n!

Aunque no es fácil conocer Rn es de utilidad porque nos indica el tamaño del error. A menor
incremento h menor es el error cometido. También al adicionar más términos a la serie de Taylor se
disminuye el error. En general, la expansión de la serie de Taylor en n-ésimo orden es exacta para un
polinomio de n-ésimo orden. Para funciones senodales y exponenciales entre más términos se agreguen
a la serie más exacta serán las funciones. No se obtiene una aproximación exacta con un número finito
de términos. El último término de la ecuación (1.23) significa que el error es menor, en valor absoluto,
n 1
que una constante que multiplica a h .

Ejemplo 1.9 Use cinco términos de la serie


x2 x3 
xn
ln( x  1)  x       ( 1) n1 ,  1  x  1
2 3 n1 n
para estimar ln(1.1) .

Solución. Para aplicar la serie hacemos x  0.1 y la sustituimos en los primeros cinco términos de la
serie.

0.01 0.001 0.0001 0.00001


ln(1.1)  0.1      0.0953103333....
2 3 4 5

Usted puede escribir en Matlab un listado sencillo para obtener este mismo resultado. Pruébelo usando
el formato largo (format long) y luego el formato short de Matlab.

Listado 5.
format long
%% listado3
% Este lsitado calcula el valor de la función ln(x+1) mediante una serie
de
% Taylor de cinco términos. Aquí n es el número de términos.

24
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

% Para correr el programa debmos dar el valor de x. En este caso x=0.1


%
for n=1:5
s(n)=((-1).^(n-1)*x.^n/n);
suma=sum(s);
end
disp(suma)
0.095310333333333

Ejemplo 1.10 Derivada. Considere el problema de aproximar la derivada f '( x) de una función suave
f ( x) en el punto x  x0 . Por ejemplo, ( ) = sin(1.2) ≈ 0.932
Además considere la situación donde f ( x) pudiera ser evaluada en cualquier punto x cerca de x0 ,
pero f '( x0 ) pudiera no estar directamente disponible o que su evaluación no sea económica
computacionalmente. Entonces, buscamos la forma de aproximar f '( x0 ) evaluar f en x cerca de x0 .
Podemos usar la serie de Taylor para obtener un algoritmo sencillo. Para un valor pequeño, positivo h
que escogeremos en algún momento, escribimos

f ( x0 ) 2 f ( x0 ) 3 f n ( x0 ) n
f ( x )  f ( x 0  h )  f ( x0 )  f ( x0 ) h  h  h   h
2! 3! n!
Entonces

f ( x0  h )  f ( x0 )  h h2 h3 
f ( x 0 )    f ( x0 )  f ( x0 )  f ''''( x0 )  
h 2 6 24 
Nuestro algoritmo para la aproximación de f '( x0 ) es calcular

f ( x0  h)  f ( x0 )
f ( x0 )  .
h
Geométricamente, lo que hicimos fue aproximar la pendiente de la recta tangente en el punto
mediante la tangente de cuerda que pasa a través de dos puntos vecinos de f. En la figura, al tangente
está en rojo y la cuerda en azul.
Si conocemos f ''( x0 ) , y es diferente de cero, entonces para h lo suficientemente pequeño podemos
calcular el error de aproximación por discretización mediante
f ( x0  h)  f ( x0 ) h
f ( x0 )   f ( x0 )
h 2
Cuando f ''( x0 ) no se conoce podemos calcular el error relativo

25
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

Figura 1.5 Error en el cálculo de la derivada numérica

Ejemplo 1.11 Para un ejemplo particular, sea la función f ( x)  7e 0.5 x , encuentre el error relativo
aproximado en el cálculo de f ( 2) usando valores de h  0.3 y h  0.15 .

Solución
a) La expresión aproximada para la derivada de una función es

f ( x  h)  f ( x)
f ' ( x)  .
h
Para x  2 y h  0.3 ,

f ( 2  0.3)  f (2)
f ' (2) 
0.3

f ( 2.3)  f (2)

0. 3

7 e 0.5( 2.3)  7 e 0.5 ( 2 )



0 .3

22.107  19.028

0 .3
 10.265

b) con h  0.15,

f ( x  h)  f ( x )
f ( x) 
h
Para x  2 y h  0.15 ,

f (2  0.15)  f (2)
f ' ( 2) 
0.15

26
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

f (2.15)  f ( 2)

0.15

7 e 0.5 ( 2.15 )  7 e 0.5 ( 2 )



0.15

20.50  19.028

0.15
 9.8799

c) entonces el error aproximando, Ea es

E a  Aproximación Actual – Aproximación Anterior

 9.8799  10.265

 0 .38474
El error relativo aproximado se calcula como

Error Aproximado
a 
Aproximación Actual

 0.38474

9.88799
 0.038942
Los errores relativos aproximados también son presentados como porcentajes. Para este ejemplo,

a  0.038942  100%

=  3.8942%

El error relativo aproximado absoluto. En este ejemplo es

a  | 0.038942 |

 0.038942 o 3.8942%
En los ejemplos anteriores la derivada aproximada se calculó tomando h como un incremento hacia la
derecha del valor de x respecto al cual se calcula la derivada, pero también podemos usar un incremento
hacia la izquierda o bien tanto a la derecha como a la izquierda, usando las fórmulas siguientes.

27
INSTITUTO TECNOLÓGICO DE LOS MOCHIS

DCB

f ( x )  f ( x  h)
f '( x) 
h
f ( x  h)  f ( h  h)
f '( x) 
2h

1.8 Ejercicios
1. Escribir el número decimal correspondiente a los siguientes números
a) (1101110)2; b) (1101110:01)2; c) (100111:101)2; d)(101101:001)2

2. Escribir en base dos los siguientes números dados en base 10


a) 2324.6 b) 3475.52 c) 45632 d) 1234.83

3. Haga una aproximación usando aritmética de redondeo a cuatro cifras


a) 0.3258132 b) 1.425138 c) 0.4263289 d) 3.2514326

4. Calcule en forma exacta y luego usando aritmética de redondeo a cuatro cifras, las siguientes
operaciones. NOTA. Debe redondear en cada operación, no redondear después de la operación total.
)= + ) + × ) × ) +

5. Use aritmética de 5 dígitos para calcular las raíces del polinomio 5000.002 + 10 = 0:
a) Por redondeo; b) por corte (Chopping); c) Calcule el error relativo porcentual en ambos casos.

0.25
6. Encuentre el valor de e usando los primeros cinco términos de la serie de Maclaurin.
0.25
Calcule el valor exacto de e en su calculadora y determine el error relativo verdadero.
7. Escriba 1/10 en base 2.
8. Determine el error verdadero de la integración de
9
2
 x dx
3
9. La derivada de la función f (x ) para un valor particular de x puede calcularse aproximadamente
por
f ( x  h)  f ( x )
f ' ( x) 
h
0.5 x
Para f ( x)  7e y h  0.3 , encuentre el error verdadero relativo en x  2 .

28

También podría gustarte