Professional Documents
Culture Documents
Los algoritmos numéricos son los métodos numéricos especificados en forma precisa y
completa como un conjunto de operaciones elementales a realizar en un orden determinado,
secuencial o paralelo.
MÉTODOS NUMÉRICOS
Por Métodos Numéricos denominamos un curso básico de Cálculo Numérico con especial
énfasis en los aspectos prácticos.
Los Métodos Numéricos está involucrados en las fases 2-4: el desarrollo, implementación
y uso de algoritmos numéricos y software.
ETSII - MÉTODOS NUMÉRICOS - Errores - ANGEL SANTOS 5
F (β, t, `, L) = {+.00 . . . .0 × β 0} ∪
{ ∓ .d1d2 d3 . . . dt × β e , 0 < d1 < β, 0 ≤ di < β, i = 2 : t, ` ≤ e ≤ L}
EC = −v × β e−t
| EC | = | v | β e−t < β e−t
| C | < β 1−t
Una máquina que trabaja con números en un sistema F (β, t, `, L) opera con ellos
en su unidad aritmético-lógica disponiendo para el almacenamiento de operandos y resul-
tados numéricos de registros aritméticos con s posiciones adicionales. Generalmente, los
registros son de doble longitud, es decir, con s = t; pero podrı́a suceder que fuesen de lon-
gitud simple con s = 0. Solución diferente, “económica”, es la de registros con una posición
centinela, es decir, con s = 1.
Las cotas del error en la aritmética de punto flotante (considerando desplazamientos de
mantisas en operandos y redondeo o truncamiento del resultado) son:
| f l(x∗ ◦ y ∗ ) − (x∗ ◦ y ∗) | 1
≤ rµ µ = β 1−t
| x∗ ◦ y ∗ | 2
para x∗ e y ∗ dos números de un sistema F (β, t, `, L), ◦ ∈ {+, −, ∗, /} y r dependiente de
s:
r = 1 si el sistema redondea
• si s = t
r = 2 si el sistema corta
r = 2 para × y /
• si s = 1
r = 4 para + y −
r = 4 para × y /
• si s = 0
r puede ser mucho mayor que 4 para + y −
f l(x∗ ◦ y ∗) − x ◦ y = fl(x∗ ◦ y ∗ ) − x∗ ◦ y ∗ + x∗ ◦ y ∗ − x ◦ y
fl(x∗ ◦ y ∗ ) − x∗ ◦ y ∗
cometido al realizar la operación un procesador, supuesto que los datos son exactos.
x∗ ◦ y ∗ − x ◦ y
que se comete por operar con datos inexactos o erróneos, supuesto que la operación aritmética
es realizada en forma exacta.
se satisfacen:
Ventajas e inconvenientes pueden ser señalados para cada uno de estos métodos (y de
otros como los de significación o de precisión múltiple). De todas formas su uso conjunto
e incluso simultáneo puede ser en algún caso preciso si se desea reducir las incertidumbres
sobre una cuestión simple pero fundamental:
¿La solución obtenida es válida?
ETSII - MÉTODOS NUMÉRICOS - Errores - ANGEL SANTOS 12
• Para x = 2 × 1012
√ √ 1
1+x− x = 3.5366975e − 007, √ √ = 3.5355339e − 007
1+x+ x
cos(2 ∗ x)
sin(x) − cos(x) = 3.6085578969e − 012, − = 3.6086572092e − 012
sin(x) + cos(x)
√
3
• Para x = 8.000025
1
= 480007.68, 40000(4 + 2x + x2 ) = 480000.5
−2 + x
Resolver la ecuación
x2 + 1000x + 6.2521308 = 0
utilizando aritmética de 8 dı́gitos con redondeo. Analizar la precisión de las
raı́ces.
b2 − 4ac = 9.999749914768000e + 005 f l(b2 − 4ac) = 999974.99
√ √
999974.99 = 9.999874949218116e + 002 f l( 999974.99) = 999.98749
x1 = (−1000 + 999.98749)/2 = −0.0062550000, x2 = (−1000 − 999.98749)/2 = −999.99375
Utilizando MATLAB
a=1; b=1000; c=6.2521308; roots([a b c])
ans = 1.0e+002 *
-9.99993747830110
-0.00006252169890
Es fácil comprobar que x2 tiene sus 8 dı́gitos significativos correctos. Pero x1 sólo tiene 4 dı́gitos
significativos correctos ya que para su error relativo se tiene que
Cálculo de Z 1
I20 = x20ex−1 dx
0
utilizando la recurrencia (justifı́quese integrando por partes)
Si para responder a la pregunta se utiliza una conocida fórmula de integración numérica (fórmula
del trapecio compuesta)
Z b " n−1
#
h X
f (x)dx ≈ f (a) + 2 f (a + ih) + f (b)
a 2
i=1
Utilizar la fórmula
−3f (x − 2h) − 10f (x − h) + 18f (x) − 6f (x + h) + f (x + 2h)
f 0 (x) ∼
=
12h
para estimar f 0 (0) en el caso de f (x) = e10x, con valores de h cada vez más
pequeños. Explicar los resultados.
Utilizando MATLAB
h=1e-8; x=-2*h:h:2*h; df= [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 9.99999899183498
h=1e-9; x=-2*h:h:2*h; df=[-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 9.99999993922529
h=1e-10; x=-2*h:h:2*h; [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 9.99999786680898
h=1e-11; x=-2*h:h:2*h; [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 10.00000082740371
h=1e-12; x=-2*h:h:2*h; [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 10.00000082740371
h=1e-13; x=-2*h:h:2*h; [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 9.99792841109108
h=1e-14; x=-2*h:h:2*h; [-3 -10 18 -6 1]*exp(10*x)’/(12*h)
ans = 10.00681019528808
Es claro que a partir de un cierto valor de h los resultados empeoran. La fórmula utilizada es
un método inestable.
ETSII - MÉTODOS NUMÉRICOS - Errores - ANGEL SANTOS 16
Cálculo de Z 1
x20
I20 = dx
0 x+6
1
utilizando la recurrencia (justifı́quese) Ik = − 6Ik−1 k = 1 : 20.
k
Utilizando MATLAB
I=log(7/6)
I=
0.15415067982726
for k=1:20, I=1/k-6*I, end
0.07509592103645
0.04942447378130
0.03678649064553
0.02928105612682
0.02431366323908
0.02078468723218
0.01814901946405
0.01610588321568
0.01447581181704
0.01314512909776
0.01203831632251
0.01110343539829
0.01030246453332
0.00961378422865
0.00898396129478
0.00859623223135
0.00724613602368
0.01207873941346
-0.01984085753341
0.16904514520048 % ¿ Es éste el valor de I20?
y justificar el resultado.