Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
2
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
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
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
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
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.
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(ti1 ) v(ti ) c
g v(t )2
t ti1 ti m
c
v( ti 1 ) v( ti ) g v( ti )2 ti 1 ti (1.8)
m
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.
6
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
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
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
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.
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.
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.
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.
9
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
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.
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
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.547 + 2.785
ans = 7.3320
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.
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);
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
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
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.
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.
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
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 .
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
| |
= | |
(1.16)
| |
= | |
% (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 ·
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.
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
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
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*1023 )% .05%
Empleando Matlab
s 0.5* 101
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! n0
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
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
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 .
mientas que para números positivos menores que uno estos están dados por
n 1
x bk 2k (1.25)
k 0
19
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
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.
De ahí que
(0.1875)10 (b1b2b3b4 ) 2
(0.0011) 2
20
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
(0.1875)10 (0.0011) 2 ,
tenemos que
(11.1875)10 (1011.0011) 2 .
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 (b1b2b3b4b5 ) 2 (0.01001) 2
.
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:
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!
x x2 xn xn
ex 1 ... ... R
1! 2! n! n0
n!
Como consecuencia:
22
INSTITUTO TECNOLÓGICO DE LOS MOCHIS
DCB
(1)n x n
e x R=
n0 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 n1 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 n0
1
1 x x 2 x 3 ... ( 1) n x n R=1
1 x n0
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 n0 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!
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 n1 ( ) 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:
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 .
Solución. Para aplicar la serie hacemos x 0.1 y la sustituimos en los primeros cinco términos de la
serie.
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
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
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
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
20.50 19.028
0.15
9.8799
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%
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
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