Download - Metodos numericos en ingenieria, Informe 2
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
1/13
Trimestre Septiembre-Diciembre 2015 (Enero-Marzo 2016)
Departamento de Computo Cientfico y Estadstica
Mtodos Numricos en Ingeniera - CO3212
Prof. Franklin Vargas
Laboratorio # 2
Luis Daniel Anselmi
12-11026
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
2/13
ANALISIS DE RESULTADOS
Pregunta 1
Problema Raiz1 P1 Raiz2 P2
Caso A -0.0010 -2.4812x10
-9
-10000
0Caso B -9.6858x10
-8 0.3142 -1.0x10
8 0
Tabla 1: Resultados obtenidos tanto para el caso A como el caso B de la pregunta 1.
(Ver Anexo 2 y 3).
Para la resolucin de los distintos casos, se ejecut un archivo.m en Matlab, el cual
recibi el nombre de Polinomio2 (ver Anexo 1).
Los resultados de la Tabla 1fueron obtenidos al aplicar la ecuacin de la resolvente para
resolver un polinomio de grado dos. raiz1 y raz2 son las races obtenidas al resolver la
ecuacin, P1y P2son los errores absolutos obtenidos para cada raz respectivamente.
Observamos que tanto para el caso A como para el caso B el error absoluto de la raz2
es cero. En otras palabras, el resultado obtenido es exacto. Sin embargo, para ambos casos, el
resultado de la raz1 no es exacto, ya que su error absoluto correspondiente no es igual a cero.
De hecho, el valor obtenido de P1 para el caso B es muy grande (0.3142), y un error del orden
de 10-9
como en el caso A tampoco se puede despreciar. Las razones de dichos errores son las
siguientes:
1. La magnitud de los nmeros. Primero, recordemos la ecuacin de la resolvente:
En este laboratorio, los valores de a, b y c son datos. Tanto para el caso A como el caso B, el
valor dado de b es muy grande (entre 104y 10
8) comparado con los valores dados de a=1 y
c=10. Por lo tanto, al analizar los trminos que se encuentran dentro de la raz cuadrada de la
ecuacin 1, nos damos cuenta que, por causa de la magnitud de los nmeros, la computadora
toma como despreciable el valor de 4ac comparado contra b2. Al hacer esto, se pierde
exactitud y precisin en los resultados. Nos topamos ahora con la siguiente ecuacin:
Donde b b
2. Por el error que ya cometi la computadora con respecto a la magnitud de los nmeros,
ahora contemplamos otro error: Error de cancelacin. Cuando se restan dos variables
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
3/13
que son casi iguales, para efectos de la computadora, el resultado es cero (o muy
cercano a cero). Por eso, analizando la Ecuacin 1.1, cuando la computadora calcule la
primera raz, tendremos (-b + b)/2a. Como el valor de b es muy cercano a b, el
resultado que obtendremos no ser el ms preciso o exacto, debido al error de
cancelacin. Esto no sucede cuando la computadora calcula la segunda raz, ya que b y b no se estarn restando, sino sumando.
As podemos decir que la ecuacin para calcular la raiz1 es una frmula inestable y la
ecuacin para calcular la raiz2 es una frmula estable. Debemos, entonces, utilizar otra
ecuacin para calcular la raiz1.
Problema Raiz1 P1
Caso A -0.0010 0
Caso B -1.0x10-7
1.7764x10-15
Tabla 2: Resultados obtenidos tanto para el caso A como el caso B de la pregunta 1 utilizando
la ecuacin 2. (Ver Anexo 2 y 3).
De esta manera evitamos los errores ya mencionados (de magnitud de los nmeros y de
cancelacin), obteniendo as un resultado exacto para la raz1 tanto en el caso A como en el
caso B (ver Tabla 2).
Pregunta 2
Para resolver la serie de Taylor de la funcin f(x) = excentrada en cero nos proponemos
escribir un algoritmo con el cual podamos resolver dicha serie:
El algoritmo es un archivo funcin.m de matlab, el cual llamamos taylorexp. El
argumento de salida es aprox,y los argumentos de entrada son xy n(ver anexo 4).
Para distintos casos, calculamos el valor del argumento de salida aprox:
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
4/13
Argumentos de
entrada (x,n)
Argumento de salida
aprox
Valor real de ex
( con x=0.1)
Error absoluto
EA
(0.1 , 1) 1.1000 1.1052 0.0052
(0.1 , 10) 1.1052 1.1052 4.4409x10-16
(0.1 , 50) 1.1052 1.1052 4.4409x10-16
(0.1 , 1000) 1.1052 1.1052 4.4409x10-16Tabla 3: Resultados obtenidos al ejecutar la funcin.m taylorexppara la resolucin de la
serie de Taylor de la funcin f(x)=excentrada en x=0.1 y para n variando desde 1 hasta 1000.
(Ver anexos 5 y 6).
Tomamos como valor de xuno que sea muy cercano a cero (x=0.1). Nos damos cuenta
que para un n=1 el error obtenido es muy grande. Esto se debe a que estamos truncando
prcticamente todos los trminos de la serie. Por lo tanto, debemos tomar valores de nms
elevados, como n=10, n=50 o n=1000. Observamos que para estos casos el error absoluto
obtenido es mayor que el eps, por lo que nuestros resultados son extremadamente precisos y
exactos. Sin embargo, hace falta mencionar que para valores muy elevados de n tambin se
cometen errores en la computadora. En este caso de n=1000 no hubo problema, pero no
siempre es as. Aunque en la vida real un n ms grande significa mayor precisin, en la
computadora debemos encontrar un nque no sea ni tan grande ni tan pequeo.
Ahora, qu pasara si xtoma valores negativos?
Argumentos de
entrada (x,n)
Argumento de salida
aprox
Valor real de ex
( con x=-10)
Error absoluto
EA
(-10 , 1) -9 4.5400x10-5
9
(-10 , 10) 1.3426x103 4.5400x10-5 1.3426x103
(-10 , 50) 4.5400x10-5
4.5400x10-5
3.2789x1013
(-10 , 1000) NaN 4.5400x10-5
NaN
Tabla 4: Resultados obtenidos al ejecutar la funcin.m taylorexppara la resolucin de la
serie de Taylor de la funcin f(x)=excentrada en x=-10 y para n variando desde 1 hasta 1000.
(Ver anexos 7 y 8).
Los errores obtenidos son catastrficos. Esto se debe a que al colocar x=-10 la serie de
Taylor se torna alternante, fuente principal del error conocido como Basura Flotante.En otras
palabras, la alternancia de los trminos de la serie ocasiona que el resultado se aleje de la
realidad. NO significa que el algoritmo diseado ( taylorexp ) este malo. Simplemente para este
tipo de series alternantes, el algoritmo falla.
Observamos que para n=1 y n=10 los errores son gigantescos. Para n=50 tuvimos
suertey el error fue mnimo. Para n=1000 el error fue TAN horrible que obtuvimos NaN.
Esto significa Not a Number, un error que varios software de programacin (como matlab)
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
5/13
arroja cuando el resultado obtenido es un nmero que el programa no puede representar. En
este ejemplo si se cumple lo que habamos dicho antes: para un nmuy pequeo o muy grande,
el resultado ser inexacto, se debe conseguir el nadecuadoque nos de el resultado correcto.
Para evitar este error ocasionado por la alternancia de la serie, basta recordar:
As, nos damos cuenta que ejecutando >>1/taylorexp(10,n) (como se muestra en
los anexos 9 y 10), obtendremos una mejor aproximacin.
Argumentos de
entrada (x,n)
Argumento de salida
aprox
Valor real de ex
( con x=-10)
Error absoluto
EA
(10 , 1) 0.0909 4.5400x10-5
0.0909
(10 , 10) 7.7868x10-5
4.5400x10-5
3.2468x10-5
(10 , 50) 4.5400x10-5 4.5400x10-5 1.3553x10-20
(10 , 1000) NaN 4.5400x10-5
NaN
Tabla 5: Resultados obtenidos al ejecutar >>1/taylorexp(10,n) para la resolucin de la
serie de Taylor de la funcin f(x)=excentrada en x=-10 y para n variando desde 1 hasta 1000.
(Ver anexos 9 y 10).
Efectivamente, los errores cometidos se han disminuido. Sin embargo, aun vemos que
para valores de nmuy pequeos como n=1 o n=10 los errores son significativos, y para valores
de nmuy grandes los errores son excesivos, como en el caso de n=1000. No obstante, para un
valor de nideal, como n=50 en este caso, el error es muy bueno, siendo mayor que el eps.
De hecho, comparando las Tablas 4 y 5, los resultados obtenidos y el valor real para
n=50 poseen (a simple vista) el mismo valor numrico. Sin embargo, el error absoluto obtenido
en el caso de la tabla 5 es muchsimo mejor que el de la tabla 4. Esto se debe a la modificacin
que hicimos para evitar el error ocasionado por la alternancia de la serie. En otras palabras, en
el resultado reflejado en la tabla 5 hay menos basura flotante.
Conclusin: el valor de n no debe ser ni tan pequeo ni tan grande, sino uno en el
medio. Conocer cul es este valor ideal nos lo dar la prctica y estar limitado por las
caractersticas de la serie.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
6/13
ANEXOS
Anexo 1: Screenshot del archivo.m polinomio2, utilizado para resolver la pregunta 1.
Anexo 2: Screenshot de la ejecucin del archivo polinomio2 para resolver el caso A de la
pregunta 1. Resultados reflejados en las Tablas 1 y 2.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
7/13
Anexo 3: Screenshot de la ejecucin del archivo polinomio2 para resolver el caso Bde la
pregunta 1. Resultados reflejados en las Tablas 1 y 2.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
8/13
Anexo 4: Screenshot del archivo function.m taylorexp utilizado para resolver la pregunta 2.
Anexo 5: Screenshot de la ejecucin del archivo taylorexpcon x=0.1 para resolver la
pregunta 2. Resultados reflejados en la Tabla 3.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
9/13
Anexo 6: Screenshot de la ejecucin del archivo taylorexpcon x=0.1 para resolver la
pregunta 2. Resultados reflejados en la Tabla 3.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
10/13
Anexo 7: Screenshot de la ejecucin del archivo taylorexpcon x=-10 para resolver la
pregunta 2. Resultados reflejados en la Tabla 4.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
11/13
s
Anexo 8: Screenshot de la ejecucin del archivo taylorexpcon x=-10 para resolver lapregunta 2. Resultados reflejados en la Tabla 4.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
12/13
Anexo 9: Screenshot tras ejecutar >>1/taylorexp(10,n) para resolver la pregunta 2.
Resultados reflejados en la Tabla 5.
-
7/25/2019 Metodos numericos en ingenieria, Informe 2
13/13
Anexo 10: Screenshot tras ejecutar >>1/taylorexp(10,n) para resolver la pregunta 2.
Resultados reflejados en la Tabla 5.