You are on page 1of 7

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

Las estimaciones de error para los mtodos iterativos

Planteamiento del problema. En matemticas, a menudo las funciones se pueden


representar mediante series infinitas.
Por ejemplo, la funcin exponencial puede ser calculada utilizando

x2 x2
xn
e 1 x

...
2 3!
n!
x

(1.1)

Por lo tanto, a medida que se agregan ms trminos en la secuencia, la


aproximacin se hace una estimacin mejor y mejor del verdadero valor de la

ex

La ecuacin (1.1) se llama una serie de Maclaurin.


Comenzando con la versin ms simple,
fin de estimar

e0.5

e x 1 , aadir los trminos uno a la vez a

. Despus de aadir cada nuevo trmino, calcular los errores

verdaderos y el error relativo porcentual aproximado en relacin con las ecuaciones.

valor verdadero valor aproximado


100
valor verdadero

Error Relativo Aproximado

(1.2)

presente aproximacin aproximacion anterior


a
100
presente
aproximacin

Error relativo porcentual

(1.3)

Respectivamente.
Tambin es conveniente para relacionar estos errores al nmero de cifras
significativas en la aproximacin.
Se puede demostrar que, si se cumple el siguiente criterio, se puede asegurar que
el resultado es correcto con las cifras al menos n significativas.

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

s 0.5 102n %

(1.4)

e0.5 1.648721 ... Aadir trminos hasta que


el valor absoluto de la estimacin del error aproximado a cae por debajo de un
Tenga en cuenta que el valor real es

criterio de error especificado previamente

conforme a tres cifras significativas.

En primer lugar, la ecuacin. (1.4) puede ser empleado para determinar el criterio
de error que asegura un resultado que es correcto al menos a tres cifras
significativas:

s 0.5 102 3 % 0.05%


Por lo tanto, vamos a aadir trminos a la serie hasta

cae por debajo de este

nivel.
La primera estimacin es simplemente con un nico trmino. Por lo tanto, la primera
estimacin es igual a 1. La segunda estimacin se genera a continuacin mediante
la adicin del segundo trmino como se denota a continuacin:

ex 1 x
Para x 0.5

e0.5 1 0.5 1.5


Esto representa un error relativo porcentual verdadero de

1.648721 1.5
100% 9.02%
1.648721

La ecuacin (1.3) se puede utilizar para determinar una estimacin aproximada del
error, como

1.5 1
100% 33.3%
1.5

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

Debido

no es menor que el valor requerido de

s ,

continuaramos el clculo

x2
mediante la adicin de un nuevo termino,
, y repitiendo los clculos de error. El
2!
proceso contina hasta que

a s

. Todo el clculo se puede resumir como

Trminos

Resultado

t %

39.3

1.5

9.02

33.3

1.625

1.44

7.69

1.645833333

0.175

1.27

1.648437500

0.0172

0.158

1.648697917

0.00142

0.0158

a %

Por lo tanto, despus de se incluyen seis trminos, el error aproximado cae por
debajo de

s 0.05% , y el clculo se termina. Sin embargo, observe que, en lugar

de tres cifras significativas, el resultado es una precisin de cinco.


Es decir, se aseguran de que el resultado es al menos tan bueno como lo
especifican. Aunque, este no es siempre el caso para la ecuacin. (1.3), es cierto la
mayor parte del tiempo.
Algoritmo computacional para Clculos iterativos
Muchos de los mtodos numricos descritos en posteriores clases implican clculos
iterativos de la clase ilustrada en el Ejemplo 1. Todos ellos implican la solucin de
un problema matemtico mediante el clculo de aproximaciones sucesivas a la
solucin a partir de una estimacin inicial.
La aplicacin informtica de tales soluciones iterativas implica bucles. Existen dos
tipos de clase: conteos-controlados y bucles de decisin. La mayora de las
soluciones iterativas utilizan bucles de decisin. Por lo tanto, en lugar de emplear
un nmero pre-especificado de iteraciones, el proceso tpicamente se repite hasta

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

que una estimacin de error aproximado cae por debajo de un criterio de detencin
como como se muestra en el siguiente ejemplo 1.
La expansin de la serie se puede expresar como

xn
e
i 0 n!
n

Un archivo-m que crearemos para aplicar esta frmula se muestra en la figura


siguiente. La funcin se pasa el valor a ser evaluado

x junto con un criterio es

de error de detencin y un nmero mximo permitido de iteraciones

maxit . Si el

usuario omite cualquiera de los dos ltimos parmetros, la funcin asigna valores
predeterminados.

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

function [fx,ea,iter] = IterMeth(x,es,maxit)


% Maclaurin series of exponential function
% [fx,ea,iter] = IterMeth(x,es,maxit)
% input:
% x = value at which series evaluated
% es = stopping criterion (default = 0.0001)
% maxit = maximum iterations (default = 50)
% output:
% fx = estimated value
% ea = approximate relative error (%)
% iter = number of iterations
% defaults:
if nargin<2|isempty(es),es=0.0001;end
if nargin<3|isempty(maxit),maxit=50;end
% initialization
iter = 1; sol = 1; ea = 100;
% iterative calculation
while (1)
solold = sol;
sol = sol + x ^ iter / factorial(iter);
iter = iter + 1;
if sol~=0
ea=abs((sol - solold)/sol)*100;
end
if ea<=es | iter>=maxit,break,end
end
fx = sol;
end
Figura1. Un archivo-m para resolver un clculo iterativo. Este ejemplo est
configurado para evaluar la expansin de la serie de Maclaurin para

ex

cmo

se describe en el Ejemplo 1
La funcin inicializa tres variables:
a. iter, que mantiene un registro del nmero de iteraciones,
b. Sol, que tiene la estimacin actual de la solucin, y
c. una variable, ea, que tiene el error relativo porcentual aproximado. Tenga
en cuenta que ea Inicialmente se establece en un valor de 100 para
asegurar que el bucle se ejecuta al menos una vez.

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

Estas inicializaciones son seguidas por un bucle de decisin que en realidad


implementa el clculo iterativo. Antes de generar una nueva solucin, el valor previo,
sol, primero se asigna a solold. A continuacin, un nuevo valor del sol se calcula y
el contador de iteracin se incrementa.
Si el nuevo valor del sol es distinto de cero, el error relativo porcentual, ea, se
determina.
A continuacin, se ponen a prueba los criterios evaluados. Si ambos son falsos, el
bucle se repite. Si bien es cierto, el ciclo termina y la solucin final se enva de nuevo
a la funcin que se llam.
Cuando se implementa el archivo-M, se genera una estimacin de la funcin
exponencial que se devuelve junto con el error aproximado y el nmero de
iteraciones. Por ejemplo,

e1

se puede evaluar como

>> format long


>> [approxval, ea, iter] = IterMeth(1,1e-6,100)
approxval =
2.718281826198493
ea =
9.216155641522974e-07
iter =
12
Podemos ver que despus de 12 iteraciones, se obtiene un resultado de 2.7182818
con una estimacin de error aproximado de

9.2162 107% . El resultado se puede

verificar utilizando la funcin incorporada de exp para calcular directamente el valor


exacto y el verdadero porcentaje relativo de error,
>> trueval=exp(1)

Ejemplo 1 Algoritmo Computacional para Clculos iterativos

trueval =
2.718281828459046
>> et=abs((trueval- approxval)/trueval)*100
et =
8.316108397236229e-08
Como era el caso con el Ejemplo 1, se obtiene el resultado deseable de que el
verdadero error es menor que el error aproximado.

You might also like