Está en la página 1de 7

REPORTE Nro.

Estimación de errores a través de procesos

iterativos

Esteban Viteri

16 de Abril de 2018

1. Resumen

El reporte se dearrolló con el n de estimar el error aproximado presente


en el cálculo de la primera derivada f 0 (2) de una función f (x) partiendo de su
denición geométrica. A travéz de un lenguaje de programación, se planteó
el problema que consiste en generar procesos iterativos, llevados acabo por el
ordenador, que encuentren los errores aproximados de la derivada. Matlab fue
el programa escogido para realizar esta tarea. Para este proceso fue necesario
plantear el incremento que sufriría la variable independiente de la función(h),
la cual iba disminuyendo conforme a un criterio establecido. A parte, se jó
una tolerancia, con la ayuda de una fórmula matemática, que fue de ayuda
para dar nalización al proceso iterativo. Así, el programa generado, ayuda
a la estimacion de errores en el cálculo de la primera derivada de una función
evaluada en un punto cualquiera. De este modo, se pudo observar la facilidad
que tiene un computador de resolver en unos instantes estos procesos con
mayor precisión que las personas.

2. Introducción

Los errores numéricos surgen del uso de aproximaciones para represen-


tar operaciones y cantidades matemáticas exactas. Éstas incluyen los errores
de truncamiento, de redondeo, de programación y de modelamiento. Alo
Quuarteroni menciona en su libro que :"(...)cualquier número real x es trun-
cado,en principio, por la máquina dando origen a un nuevo número(llamado
número de punto otante) que no necesariamente coincide con el número
original x ".(2006,p.2).Da a entender mejor el error de truncamiento que se
presentara en este trabajo. Para estos tipos de errores, la relación entre el
resultado exacto, o verdadero, y el aproximado está dada por

Valor verdadero=valor aproximado+error

1
Reordenado se encuentra que la diferencia entre el valor verdadero y el
valor aproximado nos da el error verdadero (Et ):

Et = Valor verdadero - valor aproximado

Una desventaja en esta denición es que no toma en consideración el or-


den de la magnitud del valor que se estima. Una manera de tomar en cuenta
las magnitudes de las cantidades que se evalúan consiste en normalizar el
error respecto al valor verdadero, es decir

Error verdadero
Error relativo porcentual verdadero: εt = V alor verdadero 100 %

En las situaciones reales a veces es difícil contar con el valor verdadero.


Uno de los retos que enfrentan los métodos numéricos es el de determinar
estimaciones del error en ausencia del conocimiento de los valores verdade-
ros. Ciertos métodos numéricos usan un método iterativo para calcular los
resultados. En tales métodos se hace una aproximación considerando la apro-
ximación anterior. Este proceso se efectúa de forma iterativa para calcular en
forma sucesiva, esperando cada vez mejores aproximaciones respecto a una
tolerancia. En tales casos, el error a menudo se calcula como la diferencia
entre la aproximación anterior y la actual.

Ea = aproximación actual − aproximación anterior

Por lo tanto, el error relativo porcentual está dado por:

error aproximado
εa = 100 %
aproximación actual

3. Objetivos

Generar un programa que ayude a la estimación de errores a travéz de


procesos iterativos en el cálculo aproximado de la primera derivada de una
función.

Establecer una tolerancia con criterio para la nalización de procesos ite-


rativos.

Determinar la precisión del procedimiento númerico desarrollado.

2
4. Desarrollo

El desarrollo de este trabajo se lo hizo tomando una función previamente


planteada en clase, f (x) = 7e(0,5x) , a la cual se requería hallar un valor
aproximado de f '(2). El primer paso fue expresar la derivada f 0 (x) de la
función f (x) de manera aproximada de la siguiente forma:

f (x + h) − f (x)
f 0 (x) ≈
h
El siguiente paso fue plantear una pequeña variación h y evaluar la aproxi-
mación de la derivada con este valor. Para aplicar el método de estimacion
del error aproximado, se hizo variar h, hasta que tienda a un valor cercano
a cero, con el criterio de que en cada aproximación se le dividiera para dos,
de esta forma se tendrá un valor aproximado actual y un valor aproxima-
do anterior con los cuales se hallarán los errores aproximados, aproxiamdos
relativos y aproximados relativos absolutos.
Para este método es importante jarse una tolerancia que nalice el pro-
ceso iterativo, caso contrario las aproximaciones se alargarán al innito. Para
la tolerancia(εs ) se tomó el criterio de Chapra Steven que en su libro Mé-
todos Numéricos para Ingenieros menciona: Es conveniente relacionar los
errores con el número de cifras signicativas en la aproximación. Es posible
demostrar que si el siguiente criterio se cumple, se tendrá la seguridad que
el resultado es correcto en al menos n cifras signicativas. εs = (0,5x102−n )
.(1987,p.59). Se quizo que el resultado sea correcto en 4 cifras signicativas
para el valor aproximado de la derivada por lo que la tolerancia, según el
criterio, salió 0.005.

Una vez que se ha planteado todas las variables, se procedió a generar


el código en un lenguaje de programación que realice el proceso iterativo
para poder comparar el error relativo porcentual absoluto con la tolerancia
jada. Para este trabajo se uso Matlab. Luis Torres maniesta en su artículo
Métodos Numéricos que :"Los cálculos hechos por computador o calculadora
llevan aproximaciones en ellos y, por ello, en los resultados, además, como
existen representaciones de cantidades con un número innito de dígitos
no periódicos, en general sólo se toman unos pocos".(2010,p.10). En este
programa se trabajo con cinco cifras decimales para las aproximaciones y
errores.

4.1. Código

syms x
f=7*exp(0.5*x) %funcion a ser analizada

3
x=2; %valor en la cual la funcion va ser evaluada
h=0.3;
fprintf('Valor de h incial es: %2.1f ',h);
tolerancia=0.005; %se propone una tolerancia
fprintf('La tolerancia propuesta es de: %5.3f ',tolerancia);
a=x+h;
a1=x+(h/2);
aproxAnterior=(subs(f,a)-subs(f,x))/h;
aproxActual=(subs(f,a1)-subs(f,x))/(h/2);
fprintf('La aproximación actual de la derivada es: %5.5f ',aproxAnterior);
Ea=aproxActual-aproxAnterior;
fprintf();

%Inicio del ciclo while para el proceso iterativo de cálculo de errores


while (abs(Ea)>tolerancia)

h0=h;
a=x+h0;
a1=x+(h0/2);
aproxAnterior=(subs(f,a)-subs(f,x))/h;
aproxActual=(subs(f,a1)-subs(f,x))/(h/2);
Ea=((subs(f,a1)-subs(f,x))/(h/2))-((subs(f,a)-subs(f,x))/h);
ea=Ea/((subs(f,a1)-subs(f,x))/(h/2));
vlrAbsea=abs(ea);
h=h/2;
fprintf('Valor de h: %5.5f ',h);
fprintf('Aproximación actual: %5.5f ;', aproxActual);
fprintf('Aproximación anterior: %5.5f ;', aproxAnterior);
fprintf('Error aproximado Ea: %5.4f ', Ea);
fprintf('Error aproximado relativo porcentual: %5.5f ', ea);
fprintf('Error aproximado relativo porcentual absoluto : %5.5f ', vlrAb-
sea);
fprintf();

end

fprintf('El error aproximado relativo absoluto alcanzó la tolerancia :');

5. Resultados

Los resultados arrojados por el programa fueron los distintos valores de


h, las aproximaciones actual y anterior, y los errores aproximados, aproxi-
mados relativos y aproximados relativos absolutos. El programa se detiene

4
cuando el error aproximado es menor que la torelancia (| εa | < εs ).

5
6
5.1. Conclusiones

Se pudo generar un programa, con ayuda de Matlab, con el cual se desa-


rrolló procesos iterativos en los cuales, se determinaban los errores en las
aproximaciones de la primera derivada de una función , de esta manera la
estimación requerida se dio con precisión ya que el error aproximado relativo
que arrojó el programa fue de 0.00029 %.

Se estableció una tolerancia, teniendo la seguridad de que cuatro cifras


signicativas de la última aproximación resultante estén correctas, y asi ga-
rantizar una mejor aproximación en el resultado nal.

Con la comparación de la tolerancia y el error aproximado, se pudo de-


terminar la precisión de este procedimiento numérico en la aproximación de
la derivada de una función.

5.2. Recomendaciones

Se recomienda acudir a fuentes bibliogracas especializadas en programa-


ción de Matlab para garantizar el correcto ingreso del código del programa.

Entender la teoría de la medición de errores antes de generar el código del


programa para evitar confusiones al escribir los algoritmos que intervienen
en la aproximación del cálculo de la derivada de una función.

Usar los comandos adecuados en el lenguaje de programación para que


los procesos iterativos que genere el ordenador estén correctamente efectua-
dos para que arrojen resultados precisos.

Escoger los criterios con los que se va a trabajar la tolerancia y la va-


riación de h, de manera técnica, investigando antes como trabajar con estas
variables.

6. Referencias

Chapra, S. (1987). Métodos numéricos para ingenieros. Editorial Mc-


Graw:C.D.México. pp.57,58,59

Quarteroni, A. (2007). Cálculo cientíco con Matlab y Octave. Editorial


Springer: Milano. pp.2,3,5

Torres, L. (2010). Métodos Numéricos.Bogotá. p.10

También podría gustarte