Professional Documents
Culture Documents
La mayor de los problemas matemticos que surgen de sistemas reales de ingenier no son a a a manejables mediante clculo simblico. Los principales motivos son los siguientes: a o 1. No existe mtodo simblico: e o Las integrales que aparecen en el clculo de probabilidades: a
1
ex dx
0
Clculo de polos en un circuito resuelto mediante transformadas: a s6 + 3s4 + 2s3 + s + 1 = 0 2. El mtodo simblico es extremadamente lento: e o Resolucin de sistemas que surgen de redes con miles de nodos. o 3. El mtodo simblico inexplicablemente falla al ejecutarlo en un ordenador e o Para resolver la ecuacin x2 + 1060 x + 1 = 0 usamos la frmula simblica para la o o o ecuacin de segundo grado o
a1
.c om
1060
4. El modelo matemtico es generalmente una aproximacin de la situacin real. Adems, a o o a los datos de los que se dispone son habitualmente aproximaciones inexactas de los datos reales, as que no tiene sentido usar mtodos exactos. e
1.2.
Tipos de mtodos. e
1. Mtodos directos: Conseguimos mediante un n mero nito de operaciones la solucin e u o exacta (al menos en teor en la prctica no siempre es as Se suelen trasladar directaa, a ). mente desde los mtodos del clculo simblico. Algunos ejemplos son e a o Frmula de la ecuacin de segundo grado. o o Mtodo de Gauss para resolver sistemas. e Mtodo de Barrow para integrales. e 2. Mtodos iterativos. Generamos una sucesin (xn ) tal que (al menos en teor l n xn = e o a) m x, donde x es solucin del problema. Por ahora entendemos l o mite en un sentido coloquial, ya que los elementos x pueden ser n meros, vectores, funciones, ... u
ww
w.
at
x1 = 9.9999 1059 , x2 = 0
em
at
ic
x=
1060
1.3.
Representacin de n meros. o u
Cuando un n mero no tiene representacin decimal exacta o no nos interese guardar todos los u o decimales, lo podemos redondear con el n mero de cifras signicativas que queramos, siguiendo u las mismas reglas que para redondear euros. En general para escribir un n mero decimal en u notacin cient o ca escribimos x = 0.d 10k Los ordenadores tienen una memoria limitada, as que esto lo tienen que hacer muy a menudo. Los n meros se guardan en base 2: slo se guardan ceros (0) y unos (1). Muchos n meros que en u o u decimal son exactos, en binario son peridicos. Por ejemplo, 0.1diez = 0.00011dos es un n mero o u peridico. En los PCs ordinarios, para cada n mero se reservan generalmente 64 bits (espacios o u de memoria). Esto se llama representacin en doble precisin. As cada n mero se codica o o , u como x = (1)s 1.m 2e1023 donde s se llama signo y ocupa 1 bit, m se llama mantisa y ocupa 52 bits y e se llama exponente y ocupa 11 bits. Esto quiere decir que el ordenador tiene una precisin de 52 bits. Esta precisin dene un o o n mero bastante importante: el psilon de la mquina. En doble precisin es eps= 252 . Es la u e a o cantidad ms peque a comparable con el n mero 1. En un ordenador se tienen las siguientes a n u igualdades: 1 + eps 1 = eps eps 1 =0 2 Este fenmeno se conoce como error de redondeo o pero
Ojo! eps no es el n mero ms peque o representable en el ordenador. Los n meros ms peque o u a n u a n realmin y ms grande realmax vienen denidos por las limitaciones en el tama o del exponente. a n Al tener 11 bits, se tiene que (para n meros de la norma IEEE) 0 < e < 2047 y por tanto u 1023 < e 1023 < 1024. Cualquier clculo que de lugar a n meros mayores que realmax va a a u dar un error de overow. En Matlab se representa como innito Inf y no se paran los clculos. a Si por el contrario intentamos conseguir un n mero x tal que 0 < x < realmin dar un error u a de underow. En general se representa como x = 0 y se siguen los clculos. a
1.4.
Midiendo errores
Sea x una magnitud (escalar, vectorial, ...) y xord la magnitud que obtenemos en su lugar. Usemos el s mbolo x para medir esa magnitud (valor absoluto, norma de alg n tipo, ...) u Error absoluto: x xord
ww
w.
at
em
1+
at
ic
a1
.c om
Error relativo:
x xord x
1.5.
Si sumamos 0.1 cien mil veces con un ordenador, no obtenemos 10000, sino que tenemos >> s=0;for k=1:1e5, s=s+0.1; end, s s = 1.000000000001885e+004 >> s-1e4 ans = 1.884836819954217e-008 Los error absoluto y relativo cometidos al sumar 0.1 cien mil veces son: |s 104 | = 1.8848 108
w.
Haciendo bien los clculos (luego explicamos cmo), se tiene que a o Pero >> sqrt(1e15+1)-sqrt(1e15) ans = 1.8626e-008 Los error absoluto y relativo cometidos al calcular 1015 + 1 1015 son 1015 + 1
ww
at
|1.8626 108 1.5811 108 | = 2.8151 109 |1.8626 108 1.5811 108 | = 0.1780 |1.5811 108 | Slo hay 1 cifra correcta! o Este problema aparece en la frmula de la ecuacin de segundo grado y en el clculo de derivadas o o a mediante la denicin. o
em
at
1015 = 1.5811 108
ic
La octava cifra decimal ya es errnea! Tenemos que el error de redondeo se propaga. Este error o
a1
.c om
Para evitarlo, hay que intentar transformar las operaciones para no hacer restas de ese tipo. La solucin depender de cada caso. En nuestro ejemplo, hay que multiplicar y dividir por una o a expresin conjugada: 1015 + 1 + 1015 . o Nota: Tambin genera errores de redondeo dividir por n meros peque os en valor absoluto, e u n ya que esta operacin genera n meros grandes que son ms propensos a producir error de o u a cancelacin. o
1.6.
1. Errores debidos al redondeo: Afectan a todos los mtodos. e 2. Errores debidos al mtodo: No afectan a los mtodos directos. Slo a los iterativos. e e o 3. Errores debidos a la falta de precisin en los datos. Afectan a todos los mtodos. o e
1.7.
Ejercicios Tema 1
.c om
ex 1 x f (x) = x2
M
w.
at
em
Calcular f (0.01) y p(0.01) usando 6 slo 6 decimales para todos los clculo y calcular en cada o a caso el error absoluto y relativo cometido si el resultado correcto es 0.50167084168057542. Qu efecto ha causado el error de redondeo al calcular f (0.01)?. e Teniendo en cuenta que slo podemos manejar 6 cifras, se ha cometido error al tomar f (0.01) = o p(0.01)? Repetir el clculo usando 16 cifras (necesitars Matlab, las calculadoras no suelen tener ms a a a de 10 12 cifras). o Ejercicio 1.3 Encuentre en cada caso una frmula equivalente que evite el error de cancelacin o o ln(x + 1) ln(x) para x >> 1. x2 + 1 x para x >> 1. cos2 (x) sin2 (x) para x /4
ww
at
y
ic
i=1
s=
a1
1 3i 1 x x2 p(x) = + + 2 6 24