Está en la página 1de 62
Leccién 5. Punto flotante MIGUEL ANGEL UH ZAPATA! Aniflisis Numérico I Facultad de Matematicas, UADY Agosto 2014 En esta Teccin aprenderemos lo que es la repre- sentacién de un mimero en formato punto flotante EL ponqué de su delinicién. Su formato para timeros en sistemas decimal y binario, La detini- cién de precisién y el épsilon de la maquina, asi como Ia representaci6n de un niimero en punto flotante con precision simple y doble IEEE. Analisis Numérico Punto Flotante La aritmética que se realiza en una calculadora o en una computadora es distinta a la aritmética de nuestros cursos de Algebra o Célculo. Uno pensaria que siempre se tuviera como enunciados ver- daderos operaciones como 2 +2 = 4, 4-4 = 16, (V3), sin embargo, la tercera no siempre se da. En nuestro mundo matematico tradicional permitimos que existan nimeros con una cantidad infinita de cifras. Sin embargo, en el mundo de las computadoras, cada nimero representable tiene s6lo un ‘iimero finito de cifras. Esto significa que s6lo los nimeros enteros y algunos numéros racionales se pueden presentar con exacttud. Puesto que V3 no es racional, se da una representacién aproximada, ‘uno cuyo cuadrado no es 3, aunque si lo bastante cercano a3 para que sea aceptable en la mayor parte de las situaciones. Numeros punto flotante Todos los niimeros deben ser guardados en la computadora y ademas operaciones aritméticas deben serejecutadas con estos niimeros. La mayoria de las computadoras tiene dos maneras de guardar estos riimeros: en formato de enteros y en formato de punto flotante. Los enteros son relaivamente directos Y no los vamos a considerar aqui. El formato punto flotante es una forma ms general permitiendo almacenar mimeros que no son enteros, y en esta seccidn definiremos el formato punto flotante. ‘A continuacién discutiremos el formato més popular usado actualmente por las computadoras en binario, pero empezaremos con el formato punto flotante para niimeros decimales. 1.1. Formato punto flotante para ntimeros decimales Para simplificar la explicacién de punto flotante de un nimero, consideremos un mimero diferente a cero x escrito en el sistema decimal Un nlimero x puede ser escrito de manera inica como F-10" wo donde ¢ = +1 0-1, ¢ es un entero, y 1 < # < 10, Estos tres niimeros son lamados signo, exponente (también llamado caracteristica) y significante de la representacién (1) respectivamente. El significante también es llamado mantisa en muchos libros de text. Ejemplo. Consideremos el mimero 124.62 = (1.2462) 10° con el signo o = +1, el exponente e = 2, y el significante x = 1.2462. El formato (1) es usualmente amado notacién cientifica en libros de texto de mateméticas de nivel bisico o en otras ciencias. Ta representacion de panto fotante de niimeros decimales esta basicamente dada por (I), con limitaciones en el nimero de dgitos en 2 y ene tamafo de ¢ Ejemplo. ‘Supongamos que limitamos el mimero de digitos de x a cuatro y el tamatio de e entre —99 a 99. Decimos que una computadora con tal representacién tiene una aritmética de cuatro digitos decimales punto flotante. OBSERVACION: Punto flotante 3 1.2 Formato punto flotante en binario Analisis Numérico = Como un corolario a las limitaciones de la longitud de 7, nosotros no podemos sgarantizar que guardaremos de manera precisa (exacta) més que los primeros 4 digitos de un niimero, y mas atin los cuatro digitos necesitan ser cambiados por redondeo (el cual definiremos mis precisamente mis adelante), Porque la aritmética decimal es més intuitiva para la mayoria de las personas, ocasionalmente ilus- traremos Varias ideas usando aritmética de punto flotante decimal mas que aritmética de punto flotante binaria 1.2. Formato punto flotante en binario Iniciemos dando una breve introduccién al sistema de niimeros binarios y su conversi6n al sistema "mo una suma de mulliplos de enteros 2s la base del sistema binaro, sma binario representa todos Tos icamente dos digitos: 0 y Ejemplo. El siguiente numero + en el sistema binario tiene el valor (1101.11), = 1-28 + 1-27 41-2! 40-8 41-21 $12? Q cen el sistema decimal, Por claridad cuando discutimos un ntimero con respecto a diferente base, nosotros encerramos el nimero entre paréntesis y escribimos la base con subindice. En este caso, (1101.11), = (13.75)19 OBSERVACIONES: + Normalmente un niimero sin paréntesis es un nimero en base 1 += En general, para convertr un nimero binario a su equivalente en sistema decimal procedemos de manera similar ala hecha en (2, “Ahora consideremos un numero + escrito en Torna binaria. Andlogamente con (1), pode mos escribir pao-2-2 @) jp SF < (10)2 Ejemplo. Consideremos v= (LIDLL.OLL), = (110110111). 24 centonces )2 yr = (L10L10L11), OBSERVACION: 1 Notar que para todo nimero 1 £ 0 el primer dgito de la izquierda del punto en x es siempre 1. ro consiste de (3) con una rest dee Ta representacion de punto Hotante de un nimero bi en el mimero de digitos binarios en # y en el tama Punto flotante 4 Analisis Numérico 2. Precisién Elniimero permitido de digitos binarios en # es llamado precisién de la representacion de punto flotante binario. El dpsilon de la maquina (cero de Ta maquina) es una manera de medir que tan precio puede ser guardado un nimero en la representacién de punto flotante utilizada. El épsilon de la maquina consiste de la diferencia entre el 1 y el siguiente mimero més grande que puede ser guardado en ese formato, En las siguientes subsecciones veremos unos ejemplos, El estindar IEEE para la aritmética en punto flotante es el formato para nimeros puntos flotante usado casi en todas las computadoras actuales. Por ejemplo, todos los procesadores Intel usan este formato. A continuacién presentaremos dos formatos estindar IEEE: simple y doble. 21. Precisin simple En este estindar, la representacién de punto flotante de precisién simple IEEE de un niimero « tiene luna presicién de 24 digitos binarios y el exponente es limitado a —126 < e < 127: o-(Layazay o En binario, =(II10)2 Se < (LM), este formato usa 4 bytes (32 bits) y el esquema de guardado esta bosquejado en Ia siguiente tabla ti Groh ~ El signo o es guardado en un bit by (b1 = 0 para ¢ = +Ly by = 1 para = ~1), Definimos E = e + 127 como el valor del exponente desplazado 127 lugares. Mas que e, se guarda el entero binario positivo en los bits de by aby. El mimero binario a1a2~--a2y son guardados en los bits de dng a ba + El primer digito binario 1 de 2 no es guardado en la representacidn de punto flotante cuando el mimero es uandado en la memoria, pero este digito es insertado en 7 cuando un niimero en punto flotante es lamado de la memoria para ejecutar alguna operacién aritmética, 1+ Necesitamos una representacidn especial del niimero = 0, este es guardado como # = con = OY baba bya = (00---O)a. + En precisin simple, el nimero 1 es representado por |.9000000000000000000000 y el siguiente nimero binario mis grande es |.9000000000000000000001 con el digito final binario 1 en la posicién 23 a la parte derecha del punto. Asi el épsilon de la ‘maquina es 2-8, Entonces 2 x 119 x 1077, asi decimos que el formato IEEE de precisién simple puede ser usado para aproximar de 7 digitos decimales de un niimero « cuando es escrito en su formato decimal Punto flotante 5 22 Precision doble Analisis Numérico 2.2, Precis n doble La representacién de punto flotante de precision doble IEEE de un nimero « tiene una precisién de 53 digitos binarios y el exponente es limitado a —1022 < e < 1023: 2 = (havent Agua) 2 ° La precisién doble utiliza 8 bytes (32 bits) y los nimeros son guardados siguiendo el esquema de la siguiente tabla Ta, | aba tag | atin bag ‘als bag | baat bag Los bits son guardados de manera andloga a la precisién simple pero con E = e + 1023. ‘El épsilon de la méquina en precisién doble es 2~%* ~ 2,22 x 10-"°. Asi el formato en doble precision puede ser usado para guardar aproximadamente 16 digitos de un nimero «. En Matlab, el épsilon de la maquina es disponible con el comando llamado eps, Punto flotante 6 Leccién 6. Errores MIGUEL ANGEL UH ZAPATA! Aniflisis Numérico I Facultad de Matematicas, UADY Agosto 2014 En esta Teccion conoceremos y analizaremos Tos errores de los nimeros punto flotante. Al final debemos de: ‘= Conocer el tipo de errores de truncamiento y redondeo. = Analizar los errores absolutos y relativos Analisis Numérico Errores En a prictica del célculo numérico es importante tener en cuenta que las soluciones calculadas por la computador no son soluciones matematicas exactas. La precisién de una solucién numérica puede verse disminuida por diversos factores, algunos de naturaleza sutl,y la comprension de estas dificul- tades puede guiamos a menudo a desarrollar 0 a construir algoritmos numéricos adecuados. 1. Errores aritméticos Uno de los principales errores que surgen al realizar cdlculos en una calculadora o una computadora son debido a a representacién del punto flotante de un ntimero, Este hecho es porque realizamos calculos con mimeros reales utilizando nimeros con una cantidad finita de cifras. La mayoria de los mimeros reales deben ser representados por un mimero cercano al exacto que pueda ser representado en la maquina. Dado un niimero arbitrario «» denotaremos como {fl() a su aproximacién en la computadora, es decir a su representacién punto flotante. Existen dos maneras principales de producir f(x) de «: truncamiento y redondeo. 1.1, Forma decimal normalizada Sea « un nimero real cualquiera expresado de forma decimal normalizada como == ads dy. dy dpa) 10" o donde o es el signo +1 0 —1 y mes el exponente en el sistema decimal, dy € {0,1,2.---.8.9} y dy #0, paracada i = 1,2,3---,k,k+ 1 OBSERVACIONES: + Todo niimero real puede ser normalizado. 1 Los niimeros de esta forma se Haman niimeros de maquina decimales. 1 Supongamos que é es el niimero méximo de cifras decimales que se admiten en la aritmética de un computador, entonces el niimero real es representado mediante el nimero de méquina decimal con k digits. 1.2. Truncamiento Consiste simplemente en truncar (contr) los digitos di-+ids-+2.. para obtener Jie) = o(O.dyds. dy) «10 @ Eneste caso, la h—Esima cifra dex coincide con la k—ésima cifra de f(x) OBSERVACION: + Larazén de introducir el concepto de truncamiento en vez de redondeo después de realizar cada operaciones aritmética, 1.3. Redondeo Una manera alternativa de usar representaciones con k cifras, esté dado por el redondeo definido o- [(Oudyds-+-ly) + (0.00-+-1)]-10" si 5 < dug < 10, 8) c(O.dyda--- ely) 10" si OS duu <5. Exrores 3 Analisis Numérico OBSERVACION: 1 El redondeo anterior es llamado redondeo hacia ariba 1» Podemos definir el redondeo hacia abajo de manera similar, Ejemplo. El nimero tiene un desarrollo decimal nfnito de la forma x = 314159265 1. {Cua es ta forma decimal normalicada de 5? = 0314159265... x 10! 2. ¢Cuél es el valor de® com un truncamiento a cinco cifras? Jin) = 3.1415 4 2Cuail es el valor de = con un redondeo a cinco cifras? JU) = 3.1416 [_ ee SST aS anna ecolal sr | or que esa unum nimero por arma une o edo oo 2. Error Absoluto y error relativo En la siguiente definicin se describen dos métodos para medi errores de aproximacién, Definicisr Sea p una aproximacin a p. El enor absoluto de la aproxims p— al o y elerror relativo es b= BoA 6) siempre que p # 0. El error relativo tambign se puede multiplicar por 100% para expresarlo como © donde cr denota el error relative porcentual OBSERVACIONES: 1 El error absoluto no es ms que la distancia entre el valor exacto y el valor aproxi- mado, mientras que el error relativo mide el error entendido como una porcién del valor exacto, = Como una medida de la precisin, el error absoluto puede llevar a confusiones, en tanto que el error relativo es ms significative, pues toma en cuenta el tamaiio del valor. Muchas veces no conoceos el valor exacto, pero si su error absoluto y el valor aproximado, entonces el valor relativo puede ser approximado como: ER® Be o Exrores 4 Analisis Numérico Ejemplo 1: Sean =3.141592 el valor exacto y 2 ‘absolut y relaivo de este nimero. SOLUCION: Elerror absoluto es 14 una aproximacién a este valor, caleular ef valor [8.141592 ~ 3.14] = 0.001592 vel error relative es 0.001592 STIs 00507 Ejemplo 2: Se tiene que medir la longitud de un puente y la de un remache, y se obtiene 9999 y 9 em, respec- tivamente. Silos valores reales son 10000 y 10 em, caleular el error absoluto y el error relative porcentual en cada caso SOLUCION: + Elerror absoluto en la medicién del puente es Eq = 10000 ~ 9999 = Lem yen la del remache es de Eq = 10-9= lem. + Elerror relative porcentual para el puente es En= 10% 7am 0.01% ¥ para el remache es de 1 100% = 10% Eq = 2.100% = 10% "0 Por lo tanto, aunque ambas medidas tienen un error absoluto de I em, el error relative porcentual del remache es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en la medicién del puente; mientras que la estimacién para el remache se dejé mucho que desear Ejemplo 3: Se conoce que el error absoluto de aproximar el cero de una ecuacién no lineal es de 0.002. Sise sabe que el valor de la solueién es cercana al valor 0.1. ;Cual send un aproximado de su error relaivo? SOLUCION: Como no conocemos el valor exacto de la solucién, pero si el valor aproximado, entonces podemos ‘aproximar el error relative como Error absoluto _ 00002 _ yng ae = 002 Es decir el error relativo es aproximadamente el 2% del valor exacto. Exrores 3 Leccién 7. Aritmética Computacional MIGUEL ANGEL UH ZAPATA! Analisis Numérico I Facultad de Matematicas, UADY Agosto 2014 "Cem de Investigacin en Matemiticas, Unidad Mérida, En esta leccion analizaremos los errores al reali- zar operaciones con los mimeros punto flotante Al final debemos de: 1 En base al andlisis de errores indicar si distintas operaciones aritméticas con pun- to flotante son bien condicionadas 0 no. 1» Explicar la razén por Ja cual tenemos érdida de digitos significativos en la res- ta de dos mimeros muy parecidos. Anilisis Numérico Aritmética Computacional En la clase anterior vimos que ya sea por redondeo o por truncamiento, denotaremos la versién punto flotante de la méquina de un niimero x como fl(x). 1. Aritmética computacional Ademds de la representacién imprecisa de los nimeros, la aritmética realizada por la compu- tadora no es exacta, ‘Suponga que se tienen representaciones de punto flotante fI(z.) y f1(y) para los nimeros reales ry y. ¥ que los simbolos ©,©, ©, © representan las operaciones de suma, resta, multiplica- cidn y divisién de la maquina, respectivamente, Supondremos que se usa una aritmética con un iimero finito de cifras dada por rey = fulfllx)+ flty)) roy FUCFU(e) — fly) AUFUz) x Fly) AUFU2)/ fly) Esto corresponde a hacer Ia aritmética exacta con las representaciones de punto flotante x y y para luego convertir el resultado exacto en su representacién de punto flotante con un nimero finito de cifras. Ejemplo: Suponga que x = 5/7 y x = 1/3 y que se usa el truncamiento a cinco cifras para los eéleu- los aritméticos donde intervienen x y y. En la siguiente tabla se muestra los valores de estas ‘operaciones de tipo computadora con fll) = 0.71428 x 10° Fl(y) = 0.83833 x 10° Operacién Resultado Valor real_Error absolut Error relativo FSy O10 x 1 WA 0190 x10 OBIT 0.38096 x 10° 8/21 0.238 x 10"? 0.625 x 10-8 0.23809 x 1095/21 0.524 x 10- 0.220 x 10-4 1775, O.5TL x 10" 0.267 x 10-* Como el méximo error relativo para las operaciones de este ejemplo es 0.267 x 10~ entonces Ia aritmética produce resultados satisfactorios con cinco cifras. Erores 3 Anilisis Numérico 2. Cancelacion de cifras significativas Uno de los célculos mas comunes que producen errores tiene que ver con la cancelacién de cifras significativas debido a la resta de nimeros casi iguales. Ejemplo: Consideremos una representacién punto flotante de 6 digitos y los mimeros x = VTOT 10.0448756.... y y = VT00=10. Entonces el mimero punto flotante para representar a de 6 cifras es f(x) = 0.100499 x 10? f(y) 0.100000 x 10 fiz) ~ f(y) = 0.000199 x 102 Entonces x © y =0.0499000 mientras que el valor real deberia ser 0.0498756. 3. Anilisis de la propagacién del error Es importante que los célculos realizados por la computadora sean bien considionados, es decir pequefios cambios en los datos deben de resultar en pequefios cambios en la solucién. A con- tinuacién veremos como la suma, la multiplicacién y un ejemplo de una funcidn resultan en pequeiios errores al considerar las operaciones en punto flotante. Consideremos la siguiente representacién de punto flotante. Puede ser mostrato que un nlimero Jl(z) puede ser escrito de la forma file) = 2(1+2) wo donde < es un niimero pequeiio dependiente de 2 Como © es pequefio, se dice que fl(x) es una pequeiia perturbacién de x. Entonces el error relativo del nimero punto flotante en esta forma est dado pot n= fla) _ |e- (e+ e)| cl lel Entonces el error relativo del mimero punto flotante esté determinado por |-| el cual es pequefio. 3.4. Enlasuma Consideremos los nimeros punto flotante fiz) = ater Sly) =a eny Erores 3.2_ En la multiplicacién Anilisis Numérico y sea c el maximo entre las perturbaciones: Je] = max(|=1], |=2])- Entonces calculando el error relativo \fl(a) + fly) ~ (@ +9) _ lene Te + yl Te + yl En el caso de que ambos mimeros tengan el mismo signo tenemos que |x| + Iyl = le + yl entonces (fle) + fy) = (e+ 9) | le +l y por lo tanto la suma es bien condisionada. En el caso de la resta (dos mimeros con signo, diferente) este argumento no puede ser aplicado y problemas como la pérdida de precisién puede ‘ocurtir como vimos anteriormente. 3. Consideremos los mismos nimeros punto flotante fl(r), fl(y) y e. Tenemos que fix) fly) = 21 + ea)y(1 + ©: ry(l +21+22-+ e122) Observemos que los valores de lo podemos cancelar 2 €8 mucho més pequeiios comparados a la suma, entonces FU(x) fly) = wy +21 +2). Ast [fU(x) f(y) = (ey)| Mey + yler + e2) Teyl Teyl finalmente LAU) FU) = (ey)L Teal 'y =2 Son pequeiios, entonces la multiplicacién es bien condicionada, we larteals al + lea] < lel. Por lo tanto si 3.3. En funciones Consideremos la funcién logaritmo natural f(x) = n(x), desatrolando en series de Taylor podemos aproximar Age) Ina +a) ~ In(x) + a = In(z) + 5 Erores 5 3.3. En funciones Anilisis Numérico Entonces un error aproximado al calcular el logaritmo esta dado por [n(x + a) — In(x)| ~ Ast [in(e + ex) ~ In(z)| © Es decir los errores absolutos son pequeiios. Erores 6 Leccién 8. Matrices y Sistemas de Ecuaciones Lineales MIGUEL ANGEL UH ZAPATA! Analisis Numérico I Facultad de Matematicas, UADY Septiembre 2014 "Cem de Investigacin en Matemiticas, Unidad Mérida, En esta leccign recordaremos Tos conceptos basicos sobre matrices y sistemas de ecuacio- nes. Al final debemos de: = Conocer las propiedades mas importantes de las matrices. = Poder establecer las condiciones para que una matriz sea invertible. + Entender los diferentes formatos de pre- sentar un sistema de ecuaciones. = Determinar cuando un sistema de ecua- ciones tiene solucién tnica, Anilisis Numérico Matrices y Sistemas de Ecuaciones Lineales En este capitulo se desarrollarin métodos para resolver sistemas de ecuaciones lineales y siste- ‘mas de eciaciones no lineales. También se presentaré un breve repaso de las principales defini- ciones relacionadas con el tema de matrices. 1, Vectores Antes de definir el concepto de matriz iniciemos con el concepto basico de lo que es un vector y algunas de sus propiedades. Un vector real n—dimensional x es un conjunto ordenado de n nimeros reales que normalmente se escribe como = (21.22.7520) Los mimeros 21,72, --~,2r» Se llaman componentes 0 coordenadas de x. Sean x = (01,22,+++,2n)e¥ = (y1s¥2s-+++4n) dos vectores. = Suma La suma de dos vectores x e y se calcula componente a componen- tees de x+y = (ert yee tytn +n) = Producto Si ces un ntimero real (un escalar), se define el producto de ¢ y x escalar como ex = (cr1,682,---,ern) = Producto El producto escalar (6 producto punto) de dos vectores xe y es un punto escalar (un ntimero real) definido por la relacién XY = aiyl + aaya t+ ann = Norma La norma (6 médulo) del vector x se define como Riepoae Ibxl] = 2b abe +a} = Vector A veces es conveniente escribir los vectores como columnas en vez colunna de escribirlas como filas. Por ejemplo, [5] Le Anilisis Numérico 2. Matrices En general, una matriz es una coleccién de nimeros reales dispuestos de forma rectangular en filas y columnas. De manera mas formal ‘Una matriz.con m filas yn columnas se dice que es de orden m x n. En general, una letra maytiscula A denota una matriz, mientras que las correspondientes mindsculas ay, indican uno de los nimeros que forman la matriz, de manera que se escribe 3, entonces sea My el determinante de la submatriz de orden (n — 1) x (m—1) extraida de A borrando la fila i—ésima y la columna j—ésima de A; este determinante M,; se lama el menor de «:;. El cofactor Ai; de aj, se define, centonces, como Ag = (-1)" My y, finalmente, el determinante de la matriz A de orden n x n viene dado por det(A (desarrollado por la i— Ejemplo: Calcular el determinante de las matrices 23 “ eta) =| 4 5 | =26)- C4) = 22 1-4 5] 5 -1]_ pl -4 1], | -4 5 | 9{-@) 7 9 [+ ®] 7 je 9f-P) 7 o|F®) 7 6] = (2)(45 ~ 6) — (3)(—36 + 7) + 8(24— 85) =T7. ‘Matrices y Sistemas de Ecuaciones 8 Anilisis Numérico 3. Sistemas de Ecuaciones Lineales. Los sistemas de ecuaciones lineales surgen en muchos problemas de ingenieria y ciencia. Los algoritmos de solucién, para los sistemas de ecuaciones lineales, pueden ser ditectos o iterati- ‘vos. En los métodos directos, la solucién se obtiene mediante un niimero fijo de pasos sujeto solamente a errores de redondeo, mientras que los métodos iterativos se basan en mejorar suce- sivamente los valores iniciales de la soluci6n. Inicialmente estudiaremos los métodos directos para resolver sistemas de ecuaciones lineales y mas adelante se estudiaran los métodos iterativos. En la prictica es frecuente encontrarse con sistemas de ecuaciones lineales que tienen n ecua- ciones con m incégnitas, lo cual se escribe como: aun + air. + + inte = by ary + ar. + + ayn = by . a quer + axge. + + ainty = de Git, + amar + + amntn = bm Una solucién de (1) es un conjunto de nimeros reales 21,.r2,---,r» que verifica simulténea- ‘mente todas las ecuaciones de (1). Por tanto, una solucién puede ser considerada como un vector Fis F275 Pn): Ejemplo: La mezcla que se emplea para construir aceras se compone de cemento, arena y grava en distintas proporciones. Un distribuidor tiene ya preparados sacos con tres tipos de mezclas diferentes: el primer tipo contiene cemento, arena y grava mezclados segiin las proporciones 1/8, 3/8, 4/8, las proporciones en el segundo tipo son 2/10, 5/10, 3/10 y las proporciones en el tercero son 2/5, 3/5, 0/5. Sean x1, 12 y xg las cantidades en (metros eiibicos) de cada uno de los tipos anteriores que hay que usar para formar una cantidad total de W0 metros ciibicos de ‘mezela que contenga by = 2.3, by respectivamente, Encontrar x1, 2 8 y by = 2.9 metros eiibicos de cemento, arena y grave, 5 Solucién: Entonces el sistema de ecuaciones lineales para los ingredientes es: 0.12521 + 0.2002 + 0.40025 = 23° (cemento) 0.37521 + 0.50022 + 0.60023 = 48 (arena) 0.5002, + 0.30022 + 0.00023 = 29 (grava). La solucién del sistema lineal es 11 = 4, 22 = 3 y 23 = 3, como puede comprobarse susttu- Mattices y Sistemas de Ecuaciones 9 3.1_Notacién Matricial de un Sistema Lineal, Anilisis Numérico yendo directamente en las ecuaciones: 0.125(4) + 0.2003) + 0.400(3 23. (cemento) 0.375(4) + 0.500(3) + 0.600(3) = 48 (arena) 0.500(4) + 0.3003) + 0.000(3) = 29 (grava), 3.1. Notas Las ecuaciones lineales de (1) pueden escribirse como un producto de matrices (producto ma- tricial). Los coeficientes a; constituyen una matriz A, llamada matriz de coeficientes, de orden ‘m x n, Las ine6gnitas 2; de (1) constituyen una matriz columna x de orden n x 1 y las cons- tantes by constituyen otra matriz columna b de orden m x 1, de manera que (1) puede escribirse com ay ag ayo ane ] fa bs a) aay ay | | me bs Leama tas ty tw | Eee FL De ahora en adelante, se considerardn, solamente, sistemas de ecuaciones lineales con el mismo iimero de ecuaciones que de incégnitas. Es decir, se resolver el sistema lineal aun + ane + + antn = by ann + ame, + + aynty = by : 2 aur + arr + + akntn = be amity + ange. + + aunty = by para las incégnitas 21,72, +, .r, dados los coeficientes a;;, i,j = 1,2,--+,ny las constantes bf = 12,000 El sistema eal (2) también puede expresarse en notacién mat fo a2 ay we] [2] [i] a a ay om | | ea by xy aK a4 ain | Leva ay oad lal Le] ‘Matrices y Sistemas de Ecuaciones 10 3.1_Notacién Matricial de un Sistema Lineal, Anilisis Numérico 6bien, Ax =, donde, on a ay an a2 ax 03 4% A= El siguiente teorema proporciona condiciones necesarias y suficientes para la existencia y uni- cidad de la solucién de un sistema de ecuaciones lineales Ax = b cuando la matriz de los coeficientes es cuadrada; 0 sea, cuando hay tantas ecuat Teorema: Sea A una matriz.cuadrada de orden nxn y bun vector columna de orden n, Entonces, cl sistema de ecuaciones lineales Ax = b tiene solucin tinica si se cumple una de las tres condiciones siguientes: 1. La matriz A es invertible. 2. det(A) #0. 3. El sistema de ecuaciones Ax = 0 tiene como tinica solucién x = 0. Observaciones: = Sea A una matriz de orden n x m (cuadrada). A es una matriz invertible si y sélo si det(A) #0. = Las funciones cet (A) e in (A) del paquete de programas de MATLAB proporcionan, respectivamente, el determinante y la inversa (si A es invertible) de una matriz.cuadrada A es Sistemas de Ecuaciones im Leccién 9. Solucién de Sistemas Lineales Triangulares MIGUEL ANGEL UH ZAPATA! Analisis Numérico I Facultad de Matematicas, UADY Septiembre 2014 "Cem de Investigacin en Matemiticas, Unidad Mérida, En esta Teccion analizaremos el algoritmo para la soluci6n de sistemas triangulares Al final debemos de: = Entender porque estos sistemas son fici- les de solucionar. + Conocer el algoritmo de sustitucién re- gresiva = Desarrollar el algoritmo de sustitucién progresiva de manera anéloga al regresi- vo. Anilisis Numérico Sistemas Lineales Triangulares Ahora, se desarrollard el algoritmo de sustitucién regresiva, con el que se podra resolver un sistema de ecuaciones lineales cuya matriz de coeficientes sea triangular superior. Definicin Se dice que una matriz. A = [a,)] de orden n x nes triangular superior cuando sus elementos, verifican a;; = 0 siempre que é > j. Se dice que una matriz. A = [a,j] de orden n x n es triangular inferior si a,j = 0 siempre que i < j. Si es una matriz triangular superior, entonces se dice que el sistema de ecuaciones Ax = b es un sistema triangular superior de ecuaciones lineales que tiene la siguiente forma: aye +aigte + aigey tet inate agyry + agg Heyy t aging tot gn 1+ a Oy 2p-AT At An-20 n Oy ApATnAt Ant n Teorema (Sustitucion regresiva): Considerar un sistema triangular superior Ax = b como el dado en (1). Si ayy # 0 para k= 1,2,---,m, entonces existe una solucién tinica de (1) Demostracién (construetiva): La soluci6n es fécil de hallar. Se empieza hallando la tiltima variable, luego la peniiltima usando la anterior y asf sucesivamente hasta obtener la primera, = Ladiltima ecuacién en (1), sélo con- tiene la inedgnita an, asf que se em- pieza por despejar esta variable mat = Ahora, ya se conoce rn asi que se puede usar en la pendiltima ecuacién de (1) para despejarry_1 = Ahora, se usar, ¥ 2,1 para hallar Say ante —1 = ayantn) = Luego, se usa ry, ty —1 ¥ tn-2 para haallar 2. 1 y= bn anata On 3-8 Say ant 1 = ayantn) Sistemas Triangulares, 3 Anilisis Numérico = Una vez calculados los valores Eno Tnatytnaaysh4aethay el 1 paso general es T= —(be — angeatby ax ~ Ai esateae = Ahan = Akan Este proceso se puede escribir de manera simplificada como para k=n—1,n—2,0-41 Q) Finalmente, la unicidad de la solucin es fécil de ver. La tiltima ecuacién implica que by es el tinico posible valor de xn y, por induccién finita, los valores de 21, .°q-2,--+, 21 tame bign son tinicos. El siguiente teorema establece que si un elemento de la diagonal principal de una matriz trian- gular, superior o inferior, es cero, entonces det(4) = 0. ‘Teorema: Sina matriz. A = (aj)] de orden n x n es triangular superior o inferior, entonces det( A) = anaz2 + dn Observacié = Sea A una matriz triangular, superior o inferior, de orden n x n yb una matriz de orden ‘nx 1, Situ elemento de la diagonal principal de la matriz. A es cero, entonces det( A) = 0 ¥ por lo tanto, el sistema lineal x = b no tiene soluci6n tinica o no tiene solucién, Ejemplo: Resolver el siguiente sistema lineal triangular superior mediante sustitucién regresiva dry —22+2r5+3ry = 20 =24y +725 dry = 6x5 + 5.r4 Sry = 6 Solucién: En este ejemplo, el determinante de la matriz de coeficientes, estdé dada por det( A) = (4)(—2)(6)(3) = —144. Sistemas Triangulares, 4 Anilisis Numérico Como det(A) # 0, entonces el sistema lineal dado tiene solucién tinica. Ahora se procederé a hallar la solucién de este sistema, Despejando «4 en la tiltima ecuacién, se obtiene Usando sry = 2 en la tercera ecuacién, se obtiene 4-5(2) a Ahora, se usan los valores x4 = 2y x ~1 para despejar 22 en la segunda ecuacién: 1) +4(2) 2 Finalmente, se obtiene x1 de la primera ecuacién 20 + 1(—4) — 2(-1) — 3(2) ay = OAC) 200) ~ 30) _ Asi, la solucién del sistema lineal triangular superior dado, AX El siguiente programa sirve para resolver un sistema triangular superior como el dado en (1) por el método de sustitucién regresiva, suponiendo que aj # 0 para k = 1,2,--,n. El método, funciona sélo si todos los elementos diagonales son distintos de cero. in regresiva (hacia atrés} function x riansup(A, b) Length (8); § Se halla el tamafio zeros (n)1); § Se define un vector columna de n ceros x(n)=Din) /A(nyn);¥ Se calcula x(n) for ken-Ir-lil (5 (e) “ACK, eeLen) ex (eT eM) / (AO DV § De manera similar se puede realizar un programa que resuelva un sistema triangular superior. Se dejar como ejercicio. Sistemas Triangulares, 5 Leccién 10. Eliminacién Gaussiana MIGUEL ANGEL UH ZAPATA! Analisis Numérico I Facultad de Matematicas, UADY Septiembre 2014 "Cem de Investigacin en Matemiticas, Unidad Mérida, En esta leccion analizaremos los errores al reali- zar operaciones con los mimeros punto flotante Al final debemos de: 1 En base al andlisis de errores indicar si distintas operaciones aritméticas con pun- to flotante son bien condicionadas 0 no. 1» Explicar la razén por Ja cual tenemos érdida de digitos significativos en la res- ta de dos mimeros muy parecidos. Anilisis Numérico Eliminaci6n Gaussiana En esta secciGn se desarrollara un método para resolver un sistema de ecuaciones lineales ge- neral Ax = b de n ecuaciones con n incégnitas. El objetivo es construir un sistema triangular superior equivalente Ux = y que se pueda resolver usando el método de sustitucién regresiva. 1. Motivacién del algoritmo ‘A continuacién consideraremos el siguiente ejemplo donde se requiere la solucién de un sistema lineal de tamafio 3 x 3. En este se usa uno de los procedimientos mas comunes para de solucién de este sistema lineal Ejemplo: Determinar la parébola de ecuacién y = A+ Bx+C'x? que pasa por los puntos (1, 1), (2,—1) y(,)) Solucién: Para cada punto se obtiene una ecuacién que relaciona el valor de la abscisa x con el de la ordenada y. El resultado es el sistema lineal A+B+C 1 en (1,1) A+2B+4C = -1 en (2,-1) A+3B+9C = 1 en (3,1) Aplicando la transformacién de sustitucién, la incégnita A es eliminada de la segunda y tercera ecwaciones sustrayendo la primera de ambas. El sistema lineal equivalente es A+B+C = 1 B+3C 2B+8C 0 Ahora, la variable B se elimina de la tercera ecuaci6n, restandole a dicha ecuacién el doble de a segunda, lo que resulta en un sistema equivalente que es triangular superior: A+B+C 1 B+3C 2c 4 Finalmente, se usa el algoritmo de sustitucién regresiva para hallar las incdgnitas, los coeficien- tes de la ecuacién de la parabola: C = 4/2 = 2, B = ~2-3(2) = -8y A= 1-(-8)- con lo que dicha ecuacién es y= 7 — 8r + 204 2. Sistemas equivalentes Se dice que dos sistemas de orden n x n son equivalentes cuando tienen el mismo conjunto de soluciones. El siguiente teorema establece que hay ciertas transformaciones que no cambian el conjunto de soluciones de un sistema de ecuaciones lineales. Eliminacién Gaussiana 3 Anilisis Numérico “Teorema (Transformaciones elementales): Cualquiera de las siguientes operaciones aplicadas a un sistema de ecuaciones lineales produce un sistema equivalente. 1. Intercambio: El orden de las ecuaciones puede cambiarse. 2. Escalado: Multiplicar una ecuacién por una constante no nula. 3. Sustitucién: Una ecuacién puede reemplazarse por la suma ella misma més un mit plo de otra ecuacién. Una forma eficaz de trabajar es almacenar todas las constantes del sistema lineal Ax = ben una ‘matriz de orden n x (n+ 1) que se obtiene aiiadiendo a la matriz A una columna, la columna (n+ 1)—€sima, en la que se almacenan los términos de b (es decir, at.n.1 = bx). Cada fila de esta matriz, que se Hama matriz. aumentada del sistema y se denota por [A |b], contiene toda la informacién necesaria para representar la correspondiente ecuacién del sistema lineal: Lam ai = aan] On | Un sistema Ax = b, cuya matriz aumentada esta dada por (1), puede resolverse realizando las ‘operaciones elementales con las filas de la matriz aumentada [A | b). Las variables 2, no sirven ‘més que para marcar el sitio de los coeficientes y pueden omitirse hasta el final de los célculos. Teorema (Operaciones elementales con las filas). Cualquiera de las siguientes operaciones aplicada a la matriz aumentada (1) produce un sistema lineal equivalente. 1. Intercambio: El orden de las filas pueden cambiarse. 2. Escalado: Multiplicar una fila por una constante no nula. 3. Sustitucién: Una fila puede reemplazarse por la suma de esa fila mas un miltiplo de cualquier otra fila 3. Algoritmo de Eliminacién Gaussiana El siguiente ejemplo muestra cémo se usan las operaciones descritas en el teorema anterior para obtener un sistema triangular superior Ux = y que sea equivalente a un sistema lineal Ax = B en el que A es una matriz de orden n Xn. El procedimiento es simple. Primero eliminamos todos los elementos debajo de a1, (el primer ivote). Para esto Gaussiana Anilisis Numérico multiplicamos m2; = — (2) por la primera linea y sumar la segunda linea an ‘multiplicamos m3; =~ (2) por a primera kinea y sumar la tercera linea au multiplicamos may = — (2) por la primera linea y sumar la cuarta linea an Y asi progresivamente hasta tener una matriz. triangular superior. Es importante recalcar que los valores mi; juegan un papel muy importante en este procedimiento. Ejemplo: Resolver el siguiente sistema lineal Plod ifn 10 23 1 5]|m]_] a -11-5 3] a3] >] -2 1 7-2} Le 18, Solucién: = Primero consideremos la matriz en su forma aumentada eliminando las variables Prot iyo 23 1 5/31 11-5 3)-2 [a1 7 fis = Eliminando todos los elementos de- bajo de ay, = 1 2 1 1 1 10 o-1 1 3] a o 2-4 4fo8 0-2 4 -5)-2 = Eliminando todos los elementos de- bajo de ax = —1 ajo de any la o1 00 Loo = Eliminando todos los elementos de- bajo de a nyo a a rio. 1] wo 01-1 3) 0 0 -2 -2)-14 00 0-1] -4 Gaussiana 5 Anilisis Numérico = Ahora podemos aplicar el método de sustitucién hacia atrés dado que te- nnemos una matriz triangular supe- ny = (-A)/(-1)=4 rior. La solucién es 73 (-14 + 2r4)/( 3 1 ay = 1425-304 =2 2 ay = 1-22 -2y-24=1 3 4 El proceso que se acaba de describir se Hama eliminacién Gaussiana o método de eliminacién de Gauss, pero se debe modificar si se desea que funcione en casi todas las situaciones. El problema que puede aparecer es el siguiente: Si aj = 0, entonces no se puede usar la fila k—ésima para. climinar los elementos de la columna &—ésima que estén por debajo de la diagonal principal. En la siguiente leccién veremos como solucionar este problema. 4. Implementaci6n del algoritmo en MATLAB El siguiente cédigo es una implementacién eficiente del algoritmo de eliminacién Guasianna. Este programa puede fallar para los problemas donde es necesario pivoteo. % gauss-m m Ax=b usando elimin: gauss (A,b) én Gausianna Length (b) ; eros (ny 1)3 implificacion Para cada colunna jt by = —ohy IE + Er —) @ para j=0,1,2,....2—1 De manera similar a la condicién anterior, no tenemos definido el coeficiente b..Lo que haremos sera definirlo dela forma siguiente bn = S"(en) Condicién (a) De la misma manera aplicar la condicién (d) significa evaluar la primera derivada de los polinomios ‘yor y 8, en los corespondients puntos xe igualalos para j — 01,2,...,n ~ 2, es doce Spealejen) = Silja) Ast = bj + Qos ya (wysr — ay 41) + Bdjea(ejsa — ayy)? bigt Siler) = by + 2ejlepea ey) +84j(2541 — 25 Entonces Desh + Bayh 8 para j=0,1,2,....2—1 De la ecuacién anterior falta definir cy. En este caso lo definiremos como San) /2 Condicién (e) Finalmente aplicanco la condicién (e) la segunda derivada de los polinomios S;,.1 y S, en los corres- pondientes puntos 1,1 € igualarlos para j = 0,1,2,....n—2, es decir $"y(0j41) = $¥(0)+1). Asi Sferlejr) = Bese + Bdyer(ey41 — 2541) = 2641 Sra) = Pej +6dy(x;41— 2) Entonces, Galjhs = 2ej41 — 2ey Por lo tanto = gon) o Splines Cibicos 5 Analisis Numérico Simplificando Finalmente tenemos tres relacion dadas por (2), (3) y (4: od by = mesh yt + Mayen 7 ahs ahh + (ois — ws) bygi—by = Dejhy + Bdjh? 1 4 = Dien b = gylon—a) Sustituyendo (4) en las ecuaciones (3) tenemos que bjg1 — bj = 2ejhy +3 Entonces Por lo tanto dyer —by = (enn + e)Ay 6 Por otto lado sustituyendo (4) en las ecuaciones (2) tenemos que 1 by = chy — glenn —) + (wes — wy) » they + A - jt yok + plus — ws) Entonces b 1 Beier +26) + Eta — Flores +26) + Fuser — Y para +1 (cambiando el indice a j +1) b JF (ej42 + 2ey41) + 1 bya = — ia Asi tomando la diferencia entre ambas ecuaciones ges - baby - Moja + Beja) + (we wel] by 26,) + Lye — ~ PRton ste + pton »)| Si llamamos 7 ; Splines Ciibicos 6 L1_Construccién de S; Analisis Numérico ban 0 Finalmente igualando las eciaciones (5) y (7) egamos a la ecuacién ja _thyar hy) ny toy (Meena (2H) ga Eatoncet haymsen athe a (2 hyo _y (ipessr + Odes + (MH) eya+ (Boars (- Eatoncet (Bh, Jess + hy )ey + Osardena + Okjar —hydejan + (-2h,)6) = Y por lo tanto 5 (Iyen)ejoa + 2Uhp44 + hy) ej + (hy) [yume w-w)] Para mayor claridad de la ecuacién tomemos el indice reducido en 1. Entonces. thlejen + [20s + hy-a)ley + Thy -alej-a -wa] © para cada j= 1,2,2,.04n 1 Condicién (f) EI sistema anterior contiene s6lo ¢y,1,€2,--ey como incégnitas, pero podemos observar que s6lo hay n ~ 1 ecuaciones. De manera que es necesario dos ecuaciones adicionales para poder tener ‘una solucién tinica, Estas condiciones estar dadas por (f). El siguiente teorema indica que esto es posible. “Teorema Si definimos f ena = ry <1y < ry <--> < tqy < ey = bentonces f tendri un interpolante tinico de trazador natural en los nodos 2,-r1,-r2.~tn3 eS decir, un interpolante de trazador que cumple con las condiciones de frontera $”(a) = 5(b) = 0. Las condiciones de fronterasatisfacen que Si(x0) = 2ey + 6dj(2u ~ 29) = 2ey =0 entonces ey =0. Y para a otra frontera,anteriormente definimos en = S"(an)/2 de manera que Splines Cibicos 7 1.2 _ Sistema de ecuaciones para cj Analisis Numérico 1.2. Sistema de ecuaciones para c; Las dos ecuaciones «= 0 y en = 0 junto con las ecuaciones de (8) producen un sistema lineal descrto por la ecuacidn vectorial Ax=b donde Aes la matrix de (x. +1) x (1+ 1) dado que tenemos » + 1 puntos. a) 0 0 0 fig 2(hy-+hx) an 0 0 [0 fy 2 tha) ha o | a=] o | o 0 fing Binz Flint) na o 0 0 1 y donde b y x son los vectores 0 ] “0 ] Bun-B) | a | 3 (un — mn) — Bln —n o b ma ) — Fl ) | x | 0 en ‘Como podemos observar este sistema es tridiagonal el cual podemos programar fécilmente. 1.3. Caso particular Para entender mejor el procedimiento anterior consideremos el caso particular cuando tenemos s6la- ‘mente 6 puntos. En este caso Ww Te 7 De modo que tnicamente tenemos 5 funciones S; determinadas por Sole) = ay + bo x ~ x9) + cole x0)? + dole ~ #0)* Sil) = ay +bi(e~ 21) + ere 21)? + die ~ 21) Sxl) = a+ bole — 42) + e2(0 — 42)? + dale — 23)" Sy(x) = ay + bale — 44) + eg — 34)? + dle — 29)" Sal) = ag + baw ~ 24) + eae 4)? + dale ~2a)* Ahora los valores a, ya los eonocemos y estin dados por % a =m a = as = ws 4 = mw Splines Ciibicos 1.3. Caso particular Analisis Numérico Los valores ¢, estin determinados resolviendo el siguiente sistema 1 0 ° ° o o % ° 0 hy By) ha 0 0 }fal} tam -2a:- o 0 hy Ath) om 0 [fa] | lum) Aen o o o hy hg tha) ha | Lea | | Blas — ma) — Ge — donde hy = mam = mom hn = f—m hy = nenay hs Una vez calculads los valores dee; podemos calcular los valores de d, y by usando las formulas by = mejhy ahd + jar my) para = 0.1,2,8,4.5 b= gylon-9) para 7 =0,1,2,3,4,5 Asi finalmente tenemos completado todos los coeficientes correspondientes a los polinomios $; (+). Es importante recordar que si se desea encontrar todos los coeficientes con MATLAB, este no ad- rite inices 0, por lo que los indices deben ser determinados desde j = 1... 6 para los puntos x y 41,05 para los coeficientes @;, 6, ¢). 4, y polinomios S; ‘Ahora si deseamos interpolar un valor w (0 un vector), necesitamos determinar en que intervalo se encuentra y asi usar la funcién correcta. En Matlab el indice j correcpondiente al intervalo (x. +1] estaria dada por xUi)s wk) eta) tg sue Finalemente, cada valor x = u(k) puede ser interpolado y obtener el valor Sx) = o(k) mediante las evaluaciones Splines Ciibicos 9 wm) m) 2) ws) 14 Programa Analisis Numérico 1.4. Programa PROXIMAMENTE, Aqui Ia interpolacién que pasa por los puntos a2 3 e Jes TT 2 © Puntos Inorpolacion a ‘| =| “4 | “12 8 4 8 7 Splines Cibicos Leccién 19. Método de Minimos Cuadrados MIGUEL ANGEL UH ZAPATA! Aniflisis Numérico I Facultad de Matematicas, UADY Noviembre de 2014 ad Mid, En esta Teccion se presenta Ta descripcion dal método de minimos cuadrados usado para deter- ‘minar el ajuste de curvas a ciertos puntos dados. Al final debemos de: = conocer el procedimeinto de minimos cua- drados. + analizar la similitudes y diferencias con las interpolaciones hasta ahora vistas. = programar el cédigo que reqliza dicha inter- polacién. Analisis Numérico 1, Ajuste de Curvas por el Método de Minimos Cuadrados. Las aplicaciones de las ténicas numéricas a la ciencia y la ingenieria consisten, a menudo, en ajustar ‘una curva a datos experimentales. El problema de ajuste de curvas consiste en encontrar Ia “mejor” funcién que pueda usarse para representar los datos, peo que no pase exactamente en todos los puntos dados. La técnica mis comunmente utilizada para resolver este problema se conoce como el método de minimos cuadrados. 1.1, Método de Minimos Cuadrados. En laciencia y en la ingenieria se da, a menudo, el caso de que un experimento produce un conjunto de datos (21.2) (12:12). -*~ (2+), Siendo las abscisas {;} distintas entre si. Uno de los obje- tivos del calculo numérico es la determinacién de una formula y = f(x) que relacione las variables. Normalmente se dispone de una clase de formulas previamente establecidas, y lo que hay que hallar son los valores més adecuiados de unos coeficientes o de unos parmetros para estas formulas. Aun- que hay muchos tipos distintos de funciones que podemos usar suele ocurrir que existe un modelo ‘matematico subyacente, basado en la situacin fisica que se estéestudiando, que determina la forma de la funcién salvo algunos coeficientes. En esta seccién haremos hincapié en la clase de las funciones lineales de la forma y Sle) =ar$b wo En la seccién anterior se estudi6 la construccién de un polinomio cuya gréfica pasa por todos los puntos de un conjunto dado. Si todos los valores {,}, {y:} se conocen con tna precisin de varias tivas, entonces la interpolacién polinomial produce buenos resultados: lo que no ocu- rcunstancias. Algunos experimentos se llevan a cabo con una maquinariaespecializada que permite obtener los datos con varias cifras significativas de precisién; sin embargo, muchos ex- perimentos se realizan con un equipamiento que proporciona los datos con una precisin de, cuando ‘mucho, dos o tes cifras significativas. A esto se aiade, a menudo un cierto error experimental en las ‘ediciones de forma que, aungue se calculen tres o cuatro cifras de los valores {1r:}. {y:}. sucede que el valor exacto f(r) verifica Sai) =m +e: donde ¢; es el enor de medicién, {{Cémo se encuentra la mejor aproximacién lineal de la forma dada en (1) que pase cerca (no por encima de cada uno) de los puntos? Para responder esta pregunta, hay que considerar los errores (también lamados desviaciones o residuos): = Sle) —m para 1

También podría gustarte