0% encontró este documento útil (0 votos)
6 vistas8 páginas

Análisis de Errores en Cálculos Numéricos

El capítulo II analiza la resolución numérica de problemas físicos mediante la traducción a problemas matemáticos y la convergencia de soluciones. Se discuten diferentes tipos de errores en cálculos numéricos, incluyendo errores iniciales, de redondeo, truncamiento y propagación, así como su impacto en la precisión. Además, se enfatiza la importancia de la estabilidad de los algoritmos y el crecimiento del error en relación con la convergencia de las soluciones.

Cargado por

Fran J Gal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas8 páginas

Análisis de Errores en Cálculos Numéricos

El capítulo II analiza la resolución numérica de problemas físicos mediante la traducción a problemas matemáticos y la convergencia de soluciones. Se discuten diferentes tipos de errores en cálculos numéricos, incluyendo errores iniciales, de redondeo, truncamiento y propagación, así como su impacto en la precisión. Además, se enfatiza la importancia de la estabilidad de los algoritmos y el crecimiento del error en relación con la convergencia de las soluciones.

Cargado por

Fran J Gal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

[Link] Análisis de los errores — Cap.

II

CAPITULO II. ANALISIS DE LOS ERRORES

1. ESQUEMA DE RESOLUCION NUMERICA DE UN PROBLEMA

Si se desea resolver un problema fı́sico B, lo primero que se suele hacer es traducirlo


al lenguaje matemático para dar un problema matemático A. Se estudia la existencia y
unicidad de la solución u de este problema, pero en la mayor parte de los casos y después
de probado esto, no se sabe cómo determinar la solución de forma efectiva. Por ello,
se sustituye el problema matemático A por un problema proximo a él, Ah , en el que
aparecerá algún parámetro h que se va a hacer tender hacia un cierto valor (normalmente
0). Se exige que este problema tenga solución única, uh , y se espera que al tender h hacia
el valor elegido, uh converja hacia u. Esquemáticamente este tratamiento tı́pico (pero no
único), es el siguiente:

De este planteamiento surgen algunos problemas interesantes:


a) ¿Cuál es la velocidad de convergencia de uh hacia u?
b) Problemas de estabilidad; es inevitable cometer errores en el cálculo, debido a los
redondeos que efectúan los computadores. Interesa que pequeños errores cometidos en
los cálculos que conducen a uh hagan que el resultado no difiera mucho de u; (de eso
hablaremos más en el siguiente párrafo).
c) Coste del proceso. ¿Cuántas operaciones deben realizarse? ¿Cuánto tiempo se precisará
para realizarlas?

Veamos ahora unos ejemplos que muestran la importancia de esas últimas cuestiones:

Ejemplo 1.
Supongamos que se necesita evaluar el polinomio

p(x) = 3 x4 + 4 x3 + 5 x2 + 2 x + 1

que es equivalente a:

p(x) = ((((3 x + 4) x + 5) x + 2) x + 1)

El número de operaciones para evaluarlo en el primer caso es de:


4 + 3 + 2 + 1 = 10 Multiplicaciones
4 Sumas,

15
[Link] Análisis de los errores — Cap. II

mientras que en el segundo se requieren solamente:


4 Multiplicaciones
4 Sumas.
En el caso general de un polinomio de orden n:

p(x) = a0 xn + a1 xn−1 + ... + an−1 x + an ,

p(x) = ((...((a0 x + a1 ) x + a2 ) x + ... + an−1 ) x + an ) ,

sólo hay diferencia en el número de multiplicaciones (el de sumas es n en ambos casos),


que es de
2
n + (n − 1) + ... + 1 = (n+1)n2 ≈ n2 en el primer caso y
n en el segundo .
Se comprende pues, que es preferible usar el segundo método porque exige menos
operaciones (y por lo tanto existen menos posibilidades de que se propaguen los errores de
redondeo, lo que dará lugar a una solución más exacta). El algoritmo que lleva a evaluar
el polinomio con el segundo método se denomina algoritmo de Horner y es:
b0 = a0
bi = ai + bi−1 x, i = 1, ..., n .
Ejemplo 2.
Para resolver sistemas de ecuaciones de orden n con el método de Cramer se precisa
un total de (n + 1)! (n − 1) operaciones (multiplicaciones) (cada determinante exige
n! (n − 1) multiplicaciones ap(1) ap(2) ...ap(n) y hay n + 1 determinantes a calcular).
El método de Gauss (que explicaremos en un capı́tulo posterior) exige, sin embargo,
3
sólo n3 operaciones. Ası́, una tabla comparativa de estos métodos serı́a:

Por ejemplo, para n = 5, haciendo una operación cada medio minuto (manualmente) se
tarderı́an 24 horas en resolver el sistema por el método de Cramer, mientras que por el
de Gauss se tardarı́an sólo 21 minutos.
Si se intentase utilizar el método de Cramer para resolver un sistema de orden 15
en un ordenador que efectuase 106 operaciones por segundo, tardarı́a más de 9 años
en obtener la solución, que además posiblemente no se parecerı́a en nada a la solución
verdadera debido a los errores de redondeo que se hubieran producido. ¡Con el método
de Gauss, el mismo ordenador tardarı́a centésimas de segundo!
Este último ejemplo justifica suficientemente la necesidad de buscar algoritmos que
sean prácticos.

16
[Link] Análisis de los errores — Cap. II

2. DISTINTOS TIPOS DE ERRORES

Generalmente el resultado de un cálculo numérico es aproximado (sólo en casos


excepcionales es exacto), y por eso necesitamos conocer la precisión.
Si p y p∗ son dos números reales y p∗ se considera como aproximación de p, una
medida de la precisión de p∗ es
E = |p − p∗ | .

De costumbre el conocimiento de E no basta para establecer si p∗ es una aproximación


buena de p. Por ejemplo:
p1 = 5.1346, p∗1 = 5.1345
E = |p1 − p∗1 | = 10−4 ,
y
p2 = 0.0005, p∗2 = 0.0004
E = |p2 − p∗2 | = 10−4 .
En los dos casos E es igual a 10−4 , pero sólo en el primer caso pensamos que p∗1 es una
buena aproximación de p1 . En el segundo caso, p2 y E son del mismo orden de magnitud,
y entonces nos parece mejor considerar su razón.
Damos entonces la siguiente definición: si p∗ es una aproximación de p, el error

absoluto está dado por Ea = |p − p∗ |, y el error relativo está dado por Er = |p−p |p| ,
|

siempre y cuando p 6= 0.
En el ejemplo previo, obtenemos:
|p −p∗ |
Er = 1|p1 | 1 = 0.000019476 ,
|p2 −p∗ 2|
Er = |p2 | = 0.2 .

Muchas son las causas que pueden interferir en la precisión de un cálculo, y generar
errores. Esos errores se pueden clasificar en:
a) errores iniciales;
b) errores de redondeo;
c) errores de truncamiento;
d) errores de propagación.
Los errores iniciales no se pueden evitar si, por ejemplo, son el resultado de medidas
de precisión limitada. Supongamos que debemos calcular f (x) en un cierto punto x.
Puede ocurrir que estemos obligados a sustituir x por x0 , con lo cual se calculará f (x0 )
en vez de f (x). Se llama error inicial al valor f (x0 ) − f (x) = εi .
Los errores de redondeo son debidos a redondeos en los cálculos porque están
hechos con un número finito de cifras significativas. Entonces, y continuando con el
ejemplo previo, no calcularemos f (x0 ) sino f1 (x0 ). El valor f1 (x0 ) − f (x0 ) = εr se llama
error de redondeo.
Los errores de truncamiento generalmente corresponden a truncamientos de pro-
cedimientos infinitos (desarrollos en serie, etc.). En el ejemplo previo puede ocurrir que

17
[Link] Análisis de los errores — Cap. II

f (y f1 ) sea poco manejable y estamos obligados a sustituirla por otra función próxima a
ella, f2 . El valor f2 (x0 ) − f1 (x0 ) = εt es llamado error de truncamiento o de discretización.
Aquı́ es útil, por ejemplo, recordar el Teorema de Taylor: supongamos que f ∈
C [a, b] y f (n+1) existe en [a, b). Sea x0 ∈ [a, b]. Para toda x ∈ [a, b], existe ξ(x) entre
n

x0 y x tal que
f (x) = Pn (x) + Rn (x)

donde

f 00 (x0 ) f (n) (x0 )


Pn (x) = f (x0 ) + f 0 (x0 ) (x − x0 ) + (x − x0 )2 + ... + (x − x0 )n
2! n!
n
X f (k) (x0 )
= (x − x0 )k
k!
k=0
y
f (n+1) (ξ(x))
Rn (x) = (x − x0 )(n+1) .
(n + 1)!
A Pn (x) se le llama el polinomio de Taylor de grado n para f alrededor de x0 y a Rn (x)
se le llama el residuo (o error de truncamiento) asociado con Pn (x). La serie infinita
que se obtiene tomando el lı́mite de Pn (x) cuando n → ∞ se denomina Serie de Taylor
para f alrededor de x0 . En el caso de que x0 = 0, el polinomio de Taylor se conoce
frecuentemente como polinomio de MacLaurin, y la serie de Taylor se denomina serie de
MacLaurin.
Los errores de propagación son debidos a la propagación de errores previos en el
algoritmo.
Ejemplo 3. √
Supongamos que se desea calcular e 2/8 , y que disponemos de una calculadora de
seis dı́gitos significativos que no dispone de la función exponencial. Es sabido que

X∞
xn x2
ex = =1+x+ + ...
n=0
n! 2

- El primer paso consistirá en calcular 2 ≈ 1.41421
- A continuación el punto en el que se evalúa la función será x0 = 1.41421/8 en vez del

verdadero 2/8. El error que estamos cometiendo f (x0 ) − f (x) = εi es el error inicial.
- Pasamos a utilizar una función aproximada a ex , como puede ser los tres primeros términos
02
de la serie. Se comete ası́ el error de truncamiento εt = 1 + x0 + x2 − ex .
- La necesidad de utilizar 6 dı́gitos significativos hace que las operaciones se hagan sólo con
esos 6 dı́gitos, con lo cual se pierden partes decimales: se está produciendo el error de
redondeo.

18
[Link] Análisis de los errores — Cap. II

3. CONVERGENCIA
Hemos dicho ya que los cálculos que involucran aproximaciones en la máquina pueden
resultar en el crecimiento de los errores de redondeo. Por supuesto, estamos interesados
en escoger métodos que produzcan resultados fiables en su precisión. Un criterio que
impondremos en un algoritmo, cuando sea posible, es que cambios pequeños en los datos
iniciales produzcan correspondientemente cambios pequeños en los resultados finales. Un
algoritmo que satisfece esta propriedad se llama estable. Es inestable cuando este crite-
rio no se cumple. Algunos algoritmos serán estables para ciertos grupos de datos iniciales
pero no para todos. Se tratará, siempre que se pueda, de caracterizar las propiedades de
estabilidad de los algoritmos.
Para considerar un poco más el tema del crecimiento del error de redondeo y su
conexión con la estabilidad de los algoritmos, supongamos que se introduce un error ε
en alguna etapa de los cálculos y que el error después de n operaciones subsecuentes se
denota por En . Los dos casos que se presentan más frecuentemente en la práctica se
definen a continuación.
Definición. Supongamos que En representa el crecimiento del error después de n ope-
raciones subsecuentes. Si |En | ≈ C n ε, donde C es una constante independiente de n, se
dice que el crecimiento del error es lineal. Si |En | ≈ k n ε, para algún k > 1, el crecimiento
del error es exponencial.
El crecimiento lineal del error es usualmente inevitable, y cuando C y ε son pequeños
los resultados son generalmente aceptables. El crecimiento exponencial del error debe ser
evitado, ya que el término k n será grande aún para valores pequeños de n. Esto lleva
a imprecisiones inaceptables, no importando la magnitud de ε. Como consecuencia, un
algoritmo que exhibe crecimiento lineal del error es estable, mientras que un algoritmo
en el que el crecimiento del error es exponencial es inestable.

19
[Link] Análisis de los errores — Cap. II

Ejemplo 4.
La sucesión pn = ( 31 )n , n > 0, puede generarse recursivamente tomando p0 = 1 y
definiendo pn = ( 31 ) pn−1 , para n > 1. Si obtenemos la sucesión de esta manera, usando
aritmética de redondeo a cinco dı́gitos, los resultados vienen dados en la tabla 1.
El error de redondeo introducido en reemplazar 13 por 0.33333 produce un error de sólo
(0.33333)n ×10−5 en el n-ésimo término de la sucesión. Este método de generar la sucesión
es claramente estable.
Tabla 1
n pn

0 0.10000 × 101
1 0.33333 × 100
2 0.11111 × 100
3 0.37036 × 10−1
4 0.12345 × 10−1

Otra manera de generar la sucesión es definiendo p0 = 1, p1 = 13 , y calculando para


cada n ≥ 2,
10
pn = ( ) pn−1 − pn−2 .
3
La tabla 2 muestra los resultados tanto exactos como redondeados a cinco dı́gitos usando
esta fórmula.
Tabla 2

n pn calculado pn exacto

0 0.10000 × 101 0.10000 × 101


1 0.33333 × 100 0.33333 × 100
2 0.11111 × 100 0.11111 × 100
3 0.37000 × 10−1 0.37037 × 10−1
4 0.12230 × 10−1 0.12346 × 10−1
5 0.37660 × 10−2 0.41152 × 10−2
6 0.32300 × 10−3 0.13717 × 10−2
7 −0.26893 × 10−2 0.45725 × 10−3
8 −0.92872 × 10−2 0.15242 × 10−3
Este método es obviamente inestable.
Nótese que la fórmula dada, pn = ( 10
3 ) pn−1 − pn−2 , se satisface si pn es de la forma
1
pn = C1 ( )n + C2 3n
3
para cualquier par de constantes C1 y C2 . Para verificar esto, notemos que
10 10 1 1
pn−1 − pn−2 = [C1 ( )n−1 + C2 3n−1 ] − [C1 ( )n−2 + C2 3n−2 ]
3 3 3 3
10 1 n−1 1 n−2 10 n−1
=C1 [ ( ) −( ) ] + C2 [ 3 − 3n−2 ]
3 3 3 3
1
=C1 ( )n + C2 3n = pn .
3
20
[Link] Análisis de los errores — Cap. II

Para tener p0 = 1 y p1 = 13 , las constantes C1 y C2 deben escogerse como C1 = 1 y


C2 = 0. Sin embargo, en la aproximación de cinco dı́gitos, los dos primeros términos son
p0 = 0.10000 × 101 y p1 = 0.33333 × 100 , los cuales requieren una modificación de estas
constantes a C1 = 0.10000 × 101 y C2 = −0.12500 × 10−5. Este pequeño cambio en C2 da
lugar a un error de redondeo de 3n (−0.12500 × 10−5) al producir pn . Como consecuencia
resulta un crecimiento exponencial del error, lo cual se refleja en la pérdida extrema de
exactitud encontrada en la tabla 2.
Para reducir los efectos del error de redondeo, podemos usar una aritmética de un
orden grande de dı́gitos, como las opciones de doble o múltiple precisión, disponibles en la
mayoria de las computadoras digitales. Una desventaja del uso de la aritmética de doble
precisión es que toma mucho más tiempo de computadora. Por otro lado, no se elimina
completamente el crecimiento serio del error de redondeo, sino que sólo se postpone si es
que se realizan un gran número de cálculos posteriores. Hay también otros métodos para
estimar el error de redondeo (aritmética de intervalo, métodos estadı́sticos, etc.) que no
estudiaremos.

21
[Link] Análisis de los errores — Cap. II

EJERCICIOS.

1. Considerar los siguientes valores de p y p∗ . ¿Cuál es el (i) error absoluto,


(ii) error relativo al aproximar p∗ por p?
a) p = π, p∗ = 3.1 ;
b) p = 13 , p∗ = 0.333 ;
π
c) p = 1000 , p∗ = 0.0031 ;
d) p = 100 3 , p∗ = 33.3 ;
e) p = π, p∗ = 3.141 ;
f) p = 13 , p∗ = 0.33333 ;
π
g) p = 1000 , p∗ = 0.00314 ;
h) p = 100 3 , p∗ = 33.33 .
2. Considerar los siguientes valores de p y p∗ . ¿Cuál es el (i) error absoluto,
(ii) error relativo al aproximar p∗ por p?
a) p = e, p∗ = 2.5 ;
b) p = 10 3 , p∗ = 3.33333 ;
e
c) p = 1000 , p∗ = 0.0025 ;
d) p = 100003 , p∗ = 3333.333 .
3. Calcular los siguientes valores en el caso que se disponga de una calculadora
de seis dı́gitos significativos que no dispone de la función exponencial (usar
el desarrollo en serie de Taylor hasta el cuarto orden):
a) e2 ;
b) e−1 + e3 .

22

También podría gustarte