Professional Documents
Culture Documents
Aproximacin numrica 4 1.2 Errores: truncamiento, redondeo y su repercusin en los procesos 4 1.2.1 Error por truncamiento. ... 4 1.2.2 Error por redondeo 4 1.2.3 Clculo de error.. 5 1.3 Incertidumbre e importancia del error humano.. 5 1.4 Errores de redondeo y aritmtica de punto flotante 5 1.5 Exactitud y precisin: error absoluto y error relativo.. 6 1.5.1 Error absoluto... 6
1.1 1.5.2 Error relativo....
6
2
2.1
2.2
Mtodo de la secante..8
Sistemas de lineales.9
ecuaciones
Mtodo de solucin: eliminacin Gaussiana (GaussJordan)..10 3.2 Mtodo iterativo de Jacobi. ..11 3.2 Mtodo recursivo de Gauss-Seidel. 13
3.1
4 Regresin e Interpolacin14
4.1 Regresin lineal mediante el modelo de mnimos cuadrados14 4.2 Mtodo de interpolacin de Lagrange.16 5 Derivacin e numrica.16
integracin
Runge-
Introduccin
Los mtodos numricos constituyen procedimientos alternativos provechosos para resolver problemas matemticos para los cuales se dificulta la utilizacin de mtodos analticos tradicionales y, ocasionalmente, son la nica opcin posible de solucin.
la repeticin consistente de la tcnica, a lo cual se le denomina iteraciones, es lo que permite acercarse cada vez ms al valor buscado Se entiende por aproximacin numrica X* una cifra que representa a un nmero cuyo valor exacto es X. En la medida en que la cifra X* se acerca ms al valor exacto X, ser una mejor aproximacin de ese nmero Ejemplos: 3.1416 es una aproximacin numrica de , 1.4142 es una aproximacin numrica de 2, y 0.333333 es una aproximacin numrica de 1/3.
1.2.3 Clculo de error Cuando obtenemos un valor por aproximacin, independientemente del mtodo utilizado, podemos calcular el error de dos formas:
Error absoluto (EA).- Es la diferencia que existe entre el valor real (R V) y el valor aproximado (V A). Es decir: EA = | VR - VA | Error relativo.- Es la diferencia porcentual que existe entre el valor absoluto y el valor real. Y se calcula como: (EA/VR)* 100 = ((|VR VA |)/VR)* 100 = % Error EA = | VR VA |
significativas del resultado, g x 10n-t: X = F x 10n = f x 10n + g x 10n-t En virtud de que F, f y g son nmeros normalizados, su valor absoluto puede tomar algn valor dentro del intervalo semiabierto [0.1, 1). F est formado por m dgitos, f est formada por t dgitos y g est formada por (m-t) dgitos. 0.1 |F| < 1; [0.1, 0.999...99] m dgitos 0.1 |f| < 1; [0.1, 0.999...99] t dgitos 0 |g| < 1; [0, 0.999...] (m-t) dgitos
e (%) = |E/X| x 100 (1.4) Las ecuaciones (1.1), (1.2), (1.3) y (1.4) suponen que se conoce el valor verdadero de X, lo que hace que los errores absoluto y relativo: E y e sean tambin verdaderos. Pero normalmente X no se conoce; no tendra sentido considerar una aproximacin, si se conociese el valor verdadero. La mejor estimacin posible del verdadero valor de X es su aproximacin X* y se define entonces una estimacin del error relativo como: e* = |E/X*| Pero el problema est en cmo estimar E, en ausencia de conocimiento del verdadero valor de X. Algunos mtodos numricos usan un esquema iterativo en los que se hace una aproximacin con base en la aproximacin previa y esto se hace varias veces, para obtener cada vez mejores aproximaciones: e* = | (valor actual - valor anterior)/valor actual | Los clculos se repiten hasta que: e* < e0, donde e0 es un valor prefijado previamente. Los errores numricos se clasifican, por su origen, en tres tipos: errores inherentes, errores de redondeo y errores por truncamiento, cada uno de los cuales merece un tratamiento por separado.
f(x)
x2 x1 x0 Modelo general del mtodo Newton Raphson. Formula de Newton Raphson: xi+1 = xi ((f(xi))/(f(xi)))
Ejemplo: usar el mtodo de Newton Raphson para aproximar la raz de f(x)= e-x ln x comenzando con x0 = 1 y hasta que e (%)<1% En este caso tenemos que: f(x) = -e-x (1/x) Aqu tenemos que: xi+1 = xi ((e-xi ln(xi))/(-e-xi (1/xi))) = xi + ((e-xi ln(xi))/(e-xi + (1/xi))) Comenzamos con x0 = 1 y obtenemos: x1 = x0 + ((e-x0 ln(x0))/(e-x0 + (1/x0))) = 1.268941421 En este caso, el error aproximado es: e (%) = |((1.268941421 1)/( 1.268941421))*100%| = 21.19% Continuamos con el proceso hasta reducir el error aproximado hasta que el e (%) < 1% Resumimos los resultados en la siguiente tabla: Aprox. a la raz 1 1.268941421 1.309108403 1.3097999389 Error aprox. 100% 21.19 % 3.06 % 0.52
Se observa que cuando el mtodo de Newton Raphson converge a la raz, lo hace de una forma muy rpida y de hecho el error aproximado disminuye a pasos agigantados en cada paso del proceso. 2.2
Mtodo de la secante
El principal inconveniente del mtodo de Newton estriba en que requiere conocer el valor de la primera derivada de la funcin en el punto. Sin embargo la forma funcional de f(x) dificulta en ocasiones el clculo de la derivada. En este caso en ms til emplear el mtodo de la secante. El mtodo de la secante parte de dos puntos y no solo de uno como el mtodo anterior y estima la tangente es decir, la pendiente de la recta, por una aproximacin de acuerdo con la expresin: f(x0) = ((f(x1) f(x0))/(x1 x0)) Sustituyendo esta expresin en la ecuacin del mtodo de Newton, obtenemos la expresin del mtodo de la secante que nos proporciona el siguiente punto de iteracin: x2 = x0 ((x1 x0)/(f(x1) f(x0))) * f(x0) Ejemplo: usar el mtodo de la secante para aproximar la raz de fx = e-x2 x, comenzando con x0 = 0, x1 = 1 hasta que el e(%) <1%. Primera iteracin para la fx = e-x2 x con x0 = 0, x1 = 1 xn = x n-1 - |((xn-1 xn-2)/f(xn-1) - f(xn-2))|f(xn-1) = 0.612699837 Con un error aproximado de: e(%) = |((x2 x1)/x2) * 100%|= 63.2% como todava no se logra el objetivo, continuamos con el proceso. Resumimos los resultados en la siguiente tabla: Aprox. a la raz 0 0.612699837 0.653442133 0.652917265 Error aprox. 100 % 63.2 % 6.23 % 0.08 %
10
0.652917265
am1x1+am2x2+ + amnxn = bm y su soluciones un conjunto de valores:k1, k2, kn tales que: a11k1+a12k2+ + a1nkn = b1 a21k1+a22k2+ + a2nkn = b2
.. ..
am1x1+am2k2+ + amnkn = bm
11
Para ilustrar la idea central del mtodo, consideremos el problema de resolver el siguiente sistema de ecuaciones: 3x1 + 3x2 + 6x3 = 9 3x1 + 4x2 + 1x3 = -1 -2x1 - 4x2 - 1x3 = 0 El cual est representado por el siguiente arreglo matricial: 3 3 -2 3 4 -4 6 1 -1 9 -1 0
Primer paso ser obtener un regln pivote, cuyo primer elemento sea 1,normalizado un regln, en este caso el segundo, antes de comenzar el escalonamiento, intercambiaremos los reglones 1 y 2. Ahora para comenzar a escalonar, multiplicaremos el primer regln por -3 1/3(R2) 3 4 1 -1 3 4 1 -1 3 3 6 9 1 1 2 3 -2 -4 -1 0 -2 -4 -1 0 R1 = R 2 -3(R1) 1 1 2 3 -3 -3 -6 -9 3 4 1 -1 3 4 1 -1 -2 -4 -1 0 -2 -4 -1 0 Ahora sumaremos el primer regln al segundo y sustituiremos este ltimo con el resultado. Despus, volveremos a normalizar el regln 1. Justo como antes, multiplicaremos el primer regln, por el primer elemento del tercer rengln, cambiado de signo, en este caso por 2. Una vez ms sumaremos renglones, ahora el primer y el tercero, sustituyendo este ltimo con el nuevo resultado y despus normalizamos de nuevo el pivote R1+R2 -3 -3 -6 -9 1 1 2 3 3 4 1 -1 -1/3(R2) 01 -5 -10 -2 -4 -1 0 -2 -4 -1 0
12
2(R1) 2 0 1 -2 2 4 6
Una vez que la primera columna se ha llenado de ceros, cambiamos de pivote al regln inmediato hacia abajo y llenamos de ceros la segunda columna, hacia abajo. Este algoritmo se repite hasta convertir la matriz en una matriz diagonal superior, con solo ceros por debajo de su diagonal principal. Esta primera parte del mtodo se conoce como eliminacin Gaussiana. Como se aprecia el sistema ha sido transformado en uno equivalente cuyas ecuaciones son de 1, 2 y 3 variables. A partir de aqu, con la eliminacin Gaussiana se obtiene los valores de las incgnitas a travs de una sustitucin hacia atrs, como se muestra: x3 = -14 / -7 = 2 x2 = -10 + 5 (x3) = -10 + 5 (2) = 0 x1 = 3 2 (x3) x2 = 3 2 (2) 0 = -1
13
Debemos primeramente despejar de la ecuacin la incgnita correspondiente. x = 0.20 + 0.00x - 0.40y y = 0.00 + 0.25x +0.00y Escrito en la notacin vectorial quedara: x 0.20 0.00 -0.40 x = + y 0.00 0.25 0.00 y Aplicamos la primera iteracin partiendo de x0 = 1.00 y y0 = 2.00 x1 = 0.20 + 0.00(1.00) - 0.40(2.00) = -0.60 y1 = 0.00 + 0.25(1.00) + 0.00(2.00) = 0.25 Aplicamos la segunda iteracin partiendo de x1 = 0.60 y y1 = 0.25: x2 = 0.20 + 0.00 (0.60) 0.40 (0.25) = 0.10 y2 = 0.00 + 0.25 (0.60) + 0.00 (0.25) = 0.15 Aplicamos la siguiente iteracin partiendo de x2 = 0.10 y y1 = 0.15: x3 = 0.20 + 0.00 (0.10) 0.40 (0.15) = 0.26 y3 = 0.00 + 0.25 (0.10) + 0.00 (0.15) = 0.025 Aplicamos la siguiente iteracin partiendo de x3 = 0.26 y y3 = 0.025: x4 = 0.20 + 0.00 (0.26) 0.40 (0.025) = 0.190 y4 = 0.00 + 0.25 (0.26) + 0.00 (0.025) = 0.065 Aplicamos la siguiente iteracin partiendo de x4 = 0.190 y y4 = 0.065: x5 = 0.20 + 0.00 (0.19) 0.40 (0.065) = 0.174 y5 = 0.00 + 0.25 (0.19) + 0.00 (0.065) = 0.0475 Aplicamos la siguiente iteracin partiendo de x5 = 0.174 y y5 = 0.0475: x6 = 0.20 + 0.00 (0.174) 0.40 (0.0475) = 0.181 y6 = 0.00 + 0.25 (0.174) + 0.00 (0.0475) = 0.0435 Dnde: Di = mx (|xi - xi+1|,|yi - yi+1|)
14
Resumimos los resultados en la siguiente tabla: i 0 1 2 3 4 5 6 xi 1.00 0.60 0 0.10 0 0.26 0 0.19 0 0.17 4 0.18 1 yi 2.00 0.250 -0.150 0.025 0.065 0.047 0.043 xi+1 yi+1 -0.600 0.250 0.100 -0.150 0.260 0.190 0.174 0.181 0.182 0.025 0.065 0.047 0.043 0.045 Di 1.750 0.700 0.170 0.070 0.017 0.007 0.001
Este Di es utilizado como criterio de paro en las iteraciones: Cuando Di es menos que cierto valor dado (digamos 0.001) uno ya no realiza la siguiente iteracin. Si se grafica las aproximaciones obtenidas en el plano x y se obtendr algo como:
Sucesin de Soluciones
15
3.3
El mtodo de Gauss-Seidel es muy semejante al mtodo de Jacobi. Mientras que en el de Jacobi se utiliza el valor de las incgnitas para determinar una nueva aproximacin, en el de Gauss-Seidel se va utilizando los valores de las incgnitas recin calculados en la misma iteracin, y no en la siguiente. Por ejemplo, en el mtodo de Jacobi se obtiene en el primer clculo xi+1, pero este valor de x no se utiliza sino hasta la siguiente iteracin. En el mtodo de Gauss-Seidel en lugar de eso se utiliza de xi+1 en lugar de xi en forma inmediata para calcular el valor de yi+1 de igual manera procede con las siguientes variables; siempre se utilizan las variables recin calculadas. Ejemplo: Partiendo de (x = 1, y = 2) aplique dos iteraciones del mtodo de Gauss-Seidel para resolver el sistema: 5x+2y=1 x4y=0 Debemos primeramente despejar de la ecuacin la incgnita correspondiente. x = 0.20 + 0.00 x 0.40 y y = 0.00 + 0.25 x + 0.00 y Aplicamos la primera iteracin partiendo de x0 = 1.00 y y0 = 2.00: x1 = 0.20 + 0.00 (+1.000) 0.40 (2.00) = 0.600 y1 = 0.00 + 0.25 (0.600) + 0.00 (2.00) = 0.15 Aplicamos la segunda iteracin partiendo de x1 = 0.600 y y1 = 0.15: x2 = 0.20 + 0.00 (0.600) 0.40 (0.15) = 0.26 y2 = 0.00 + 0.25 (0.26) + 0.00 (0.15) = 0.065 Aplicamos la tercera iteracin partiendo de x2 = 0.26 y y2 = 0.065: x2 = 0.20 + 0.00 (0.26) 0.40 (0.065) = 0.174 y2 = 0.00 + 0.25 (0.174) + 0.00 (0.174) = 0.0435
Regresin e Interpolacin
4.1 Regresin lineal mediante el modelo de mnimos
16
cuadrados.
La forma ms simple de interpolacin es la de conectar dos puntos con una lnea recta. Este mtodo, llamado interpolacin lineal. Usando tringulos semejantes, se tiene ((f1 (x) - f (x0))/ (x - x0)) = ((f (x1) - f (x0))/ (x1 - x0)) Que se puede ordenar como: f1 (x) = f (x0) + ((f (x1) - f (x0))/ (x1 - x0)) *( x - x0)
Esquema grfico de la interpolacin lineal. Las reas sombreadas muestran tringulos semejantes usados en la derivacin de la frmula de interpolacin lineal. La cual es una frmula de interpolacin lineal. La notacin f1(x) indica que se trata de un polinomio de interpolacin de primer orden. Ntese que adems de representar la pendiente de la lnea que conecta los dos puntos, el trmino (f(x1) - f (x0)) / (x1 - x0) es una aproximacin de diferencias divididas finitas a la primera derivada. En general, entre ms pequeo sea el intervalo entre los puntos, ms exacta ser la aproximacin. Esta caracterstica se demuestra en el ejemplo siguiente. Ejemplo: calclese el logaritmo natural de 2 (ln 2) usando interpolacin lineal. Primero, llvense a cabo los clculos interpolando entre ln 1 = 0 y In 6 = 1.791 759 5. Despus reptanse el procedimiento, pero usando un intervalo ms pequeo desde ln 1 a In 4 (1.386 294 4). Ntese que el valor real
17
de In 2 = 0.693 147 18 f1 (2) = 0 + (1.791 759 5 - 0)/(6 - 1)*(2 - 1) = 0.35835190 La cual representa un error relativo de = 48.3%. Usando el intervalo ms pequeo desde x = 1 a x = 4 da: f1 (2) = 0 + (1.3862944 - 0)/(4 - 1)*(2 - 1) = 0.46209813 Por lo tanto, usando el intervalo ms pequeo reduce el error relativo de = 33.3%.
18
4) y (6 , 8)procederemos as: P (x) = 1* (((x -3)*(x-6))/10) +4* (((x -1)*(x-6))/-6)+ 8*(((x -1)*(x3))/15)=P(4)=22/5= 44
tg = ( y0)/h d/dx f(x) = 1/h[ y0] dnde: y0 = y1 y0 El problema de la derivada consiste en obtener el valor de las derivadas en una funcin tabulada en algunos puntos: x = x0, x1, x2, x3, , xn Si: yk = f(xk) yk = y0 + (k 1) y0 +(k 2) 2 y0 + (k 3) 3 y0 + + (k j) j y0 La primera derivada es: d/dx f(x) = d/dx[y0 + (k 1) y0 +(k 2) 2 y0 + (k 3) 3 y0 + + (k j) j y0] Considerando que : k = ((x x0)/h) (k 1) = ((k(k - 1))/(k - 1)) = k (k 2) = ((k(k-1)(k-2))/((k-2)2!))) = ((k(k -1))/2) (k 3) =((k(k -1)(k-2))/6) Remplazando en k, dk/dx, (k 1), (k 2), (k 3) en d/dx f(x), y derivando, tenemos: y dk/dx = 1/h
19
d/dx f(x) = 1/h d/dk [y0 + (k ) y0 +((k(k -1))/2)2 y0 + ((k(k -1)(k-2))/6) 3 y0 +.] d/dx f(x) = 1/h [ y0 +((2k - 1)/2)2 y0 + ((3k2 -6k +2)/6) 3 y0 +.]
Se llama mtodo de Euler al mtodo numrico consistente en ir incrementando paso a paso la variable independiente y hallando la siguiente imagen con la derivada. Calculemos la ecuacin de la recta tangente a la curva solucin de la ecuacin diferencial dad en el punto (x0, y0). De los cursos de Geometra analtica, sabemos que la ecuacin de la recta es: y = m(x x0) +y0 Donde m es la pendiente. En este caso, sabemos que la pendiente de
20
la recta tangente se calcula con la derivada: m = y(x0, y0) = f(x0 y0) Por lo tanto, la ecuacin de la recta tangente es: y = f(x0, y0)(x x0)+y0 Ahora suponemos que x1 es un punto cercano a x0, y por lo tanto estar dado como x1 = x0 + h. De esta forma, tenemos la siguiente aproximacin: y(x1)= y( x0 + h) f(x0, y0)( x0 + h - x0)+ y0 De aqu, tenemos nuestra frmula de aproximacin: y(x0 + h) y0 + h * f(x0, y0)
Esta aproximacin puede ser suficientemente buena, si el valor de h es realmente pequeo, digamos de una dcima o menos. Pero si el valor de h es ms grande, entonces podemos cometer mucho error al aplicar dicha frmula. Una forma de reducir el error y obtener de hecho un mtodo iterativo, es dividir la distancia k=|x1 x0| en n partes iguales (procurando que estas partes sean de longitud suficientemente pequea) y obtener entonces la aproximacin en n pasos, aplicando la frmula anterior n veces de un paso a otro, con la nueva h igual a | x1 x0|/n. En una grfica, tenemos lo siguiente: X0 x0 + h x0 +2h x1 | | | | y0 y1 y2 yn
y1 = y0 + hf(x0, y0)
Para obtener y2 nicamente hay que pensar que ahora el papel de (x0, y0) lo toma el punto (x1, y1), y por lo tanto, si sustituimos los datos adecuadamente, obtendremos que: y2 = y1 + hf(x1, y1)
Esta es la conocida frmula de Euler que se usa para aproximar el valor de y(x1) aplicndola sucesivamente desde x0 hasta x1 en pasos de longitud h. Ejemplo: y = 2xy y(0) = 1 Dada la siguiente ecuacin diferencial con la condicin inicial: aproximar y(0.5).
21
Primero observamos que esta ecuacin s puede resolverse por mtodos tradicionales de ecuaciones diferenciales. Por ejemplo, podemos aplicar el mtodo de separacin de variables. Veamos la solucin Numrica: Aplicamos el mtodo de Euler y para ello, observamos que la distancia entre x0 =0 y x1 = 0.5 no es lo suficientemente pequea. Si dividimos esta distancia entre cinco obtenemos un valor de k= 0.1 y por lo tanto, obtendremos la aproximacin deseada en cinco pasos. De esta forma, tenemos los siguientes datos: x0 = 0 y0 =1 k = 0.1 f(x, y) = 2xy Sustituyendo estos datos en la frmula de Euler, tenemos, en un primer paso: x1 = x0 + h = 0.1 y1 = y0 + hf(x0, y0) = 1 +0.1[2(0)(1)] =1 Aplicando nuevamente la frmula de Euler, tenemos, en un segundo paso: X2 = x1 + k = 0.2 y1 = y1 + hf(x1, y1) = 1 +0.1[2(0.1)(1)] =1.02 Y as sucesivamente hasta obtener y5. Resumimos los resultados en la siguiente tabla: n 0 1 2 3 4 5 xn 0 0.1 0.2 0.3 0.4 0.5 yy 1 1 1.02 1.0608 1.12445 1.2144
6.2
Mtodos de Runge-Kutta.
22
Sin entrar en mucho detalle, mencionamos solamente que el mtodo de Runge-Kutta cambia la direccin en el sentido de que no sigue la misma lnea de los mtodos de Euler. De hecho est basado en una aplicacin de los polinomios de Taylor. Comentamos sin embargo, que el mtodo de RungeKutta si contiene como casos especiales los de Euler. Las formulas: yn-1 = yx + 1/6[k1 + 2k2 + 2k3 + k4] Dnde: k1 = k * f(xn * yn) k2 = k * f [xn + 1/2k, yn + 1/2 k1] k3 = k * f [xn + 1/2 k, yn + 1/2 k2] k4 = k* f [xn + k, yn + k3] Se conocen como las reglas o frmulas de Runge-Kutta de orden cuatro para la ecuacin diferencial: y = f (x, y) y (x0) = y0 Ejemplo: Usar el mtodo de Runge-Kutta para aproximar y(0.5) dada la siguiente ecuacin diferencial: y = 2xy y(0) = 1 Primero, identificamos el mismo ejemplo 1 de los dos mtodos anteriores. Segundo, procedemos con los mismos datos: x0 = 0 y0 =1 k = 0.1 f(x, y) = 2xy Para poder calcular el valor de y1, debemos calcular primeros los valores de k1, k2, k3 y k4. Tenemos entonces que: k1 = k*f(x0, y0) =0 k2 = k*f(x0 +1/2 k,y0 +1/2 k1) = 0.1[2(0.05)(1)] = 0.01 k3 = k*f(x0 +1/2 k,y0 +1/2 k2) = 0.1[2(0.05)(1.005)] = 0.01005 k4 = k*f(x0 +1/2 k,y0 +1/2 k3) = 0.1[2(0.1)(1.005)] = 0.020201 Por lo tanto: y1 = y0 + 1/6 [0+2(0.01)+2(001005)+0.020201] = 1.01005 Con el fin de un mayor entendimiento de las frmulas, veamos la siguiente iteracin: x2 = x1 + k =0.2 k1 = k *f(x1, y1) = 0.1 [2(0.1)(1.01005)] =0.020201 k2 = k *f(x1 +1/2 k,y1 +1/2 k1) =0.1[2(0.15)(1.02010)] = 0.0306
23
k3 = k *f(x1 +1/2 k,y1 +1/2 k2) =0.1[2(0.15)(1.02535)] = 0.03076 k4 = k *f(x1 + k,y1 + k3) =0.1[2(0.2)(1.04080)] = 0.04163 Por lo tanto: y2 = y1 + 1/6 [k1 + 2k2 + 2k3 + k4] = 1.04081 El proceso debe repetirse hasta obtener y5. Resumimos los resultados en la siguiente tabla: n 0 1 2 3 4 5 xn 0 0.1 0.2 0.3 0.4 0.5 yn 1 1.01005 1.04081 1.09417 1.17351 1.28403
Concluimos que el valor obtenido con el mtodo de Runge-Kutta es: y(0.5) 1.28403 Finalmente, calculamos el error relativo verdadero: e(%) = |((1.28402 1.284003)/1.28402)*100%| = 0.0007% Con lo cual vemos que efectivamente se ha reducido muchsimo el error relativo. De hecho observamos que tenemos 6 cifras significativas en la aproximacin!
24
Bibliografa
Prawda Witenberg, Mtodos y Modelos de Investigacin de Operaciones, Edit. Limusa, 1976 Nakamura, Mtodos numricos Carrasco Venegas, Luis, Editorial Amrica, Lima Per, 1era. Edic. 2002
25