Analisis numerico basico libro

download Analisis numerico basico libro

If you can't read please download the document

Transcript of Analisis numerico basico libro

  • 1. ISBN 978-9942-922-01-4Escuela Superior Politcnica del LitoralInstituto de Ciencias MatemticasGuayaquil - EcuadorLuis Rodrguez Ojeda, MSc.

2. CONTENIDO1 Introduccin11.1 Resolucin de problemas con el computador 11.2 Fuentes de error en la resolucin de un problema numrico 21.3 El modelo matemtico21.4 Algoritmos numricos21.5 Instrumentacin computacional 21.5.1 Elementos de MATLAB 31.5.2 Uso interactivo de MATLAB 31.5.3 Programacin en MATLAB31.6 Preguntas 72 Tipos de mtodos numricos82.1 Mtodos iterativos82.1.1Convergencia de los mtodos iterativos 112.1.2Error de truncamiento112.1.3Finalizacin de un proceso iterativo 112.1.4Eficiencia de un mtodo iterativo122.1.5Eleccin del valor inicial 122.1.6Preguntas132.2 Mtodos directos142.2.1Error de redondeo162.2.2Error en la representacin de nmeros reales 162.2.3Error de redondeo en las operaciones aritmticas 172.2.4Propagacin del error de redondeo en las operaciones aritmticas 182.2.5Eficiencia de los mtodos directos 192.2.6La notacin O( ) 202.3.7Ejercicios 223 Races reales de ecuaciones no-lineales 233.1 Mtodo de la biseccin233.1.1Convergencia del mtodo de la biseccin233.1.2Algoritmo del mtodo de la biseccin 243.1.3Eficiencia del mtodo de la biseccin253.1.4Instrumentacin computacional del mtodo de la biseccin 263.2 Mtodo del punto fijo 283.2.1Existencia de una raz real con el mtodo del punto fijo 283.2.2Algoritmo del punto fijo 283.2.3Convergencia del mtodo del punto fijo 313.2.4Eficiencia del mtodo del punto fijo 333.3 Mtodo de Newton343.3.1La frmula de Newton 343.3.2Algoritmo del mtodo de Newton 353.3.3Interpretacin grfica de la frmula de Newton 353.3.4Convergencia del mtodo de Newton363.3.5Una condicin de convergencia local para el mtodo de Newton 363.3.6Prctica computacional 433.3.7Instrumentacin computacional del mtodo de Newton 433.3.8Uso de funciones especiales de MATLAB443.4 Ejercicios y problemas de ecuaciones no-lineales453.5 Races reales de sistemas de ecuaciones no-lineales 493.5.1Frmula iterativa de segundo orden para calcular races reales de sistemas de ecuaciones no-lineales493.5.2Convergencia del mtodo de Newton para sistemas no-lineales493.5.3Algoritmo del mtodo de Newton para sistemas no-lineales 503.5.4Prctica computacional 513.5.5Instrumentacin computacional del mtodo de Newton para resolver un sistema de n ecuaciones no-lineales523.5.6Uso de funciones de MATLAB para resolver sistemas no-lineales553.5.7Obtencin de la frmula iterativa de segundo orden para calcularraces reales de sistemas de ecuaciones no-lineales 553.5.7Ejercicios y problemas con sistemas de ecuaciones no lineales57 3. 4 Mtodos directos para resolver sistemas de ecuaciones lineales 584.1Determinantes y sistemas de ecuaciones no lineales594.2Mtodo de Gauss-Jordan59 4.2.1 Prctica computacional61 4.2.2 Formulacin del mtodo de Gauss-Jordan y algoritmo62 4.2.3 Eficiencia del mtodo de Gauss-Jordan 64 4.2.4 Instrumentacin computacional 65 4.2.5 Obtencin de la inversa de una matriz 664.3Mtodo de Gauss 68 4.3.1 Formulacin del mtodo de Gauss y algoritmo 69 4.3.2 Eficiencia del mtodo de Gauss70 4.3.3 Instrumentacin computacional 70 4.3.4 Estrategia de pivoteo 71 4.3.5 Instrumentacin computacional del mtodo de Gauss con pivoteo 72 4.3.6 Funciones de MATLAB para sistemas de ecuaciones lineales73 4.3.7 Clculo del determinante de una matriz73 4.3.8 Instrumentacin computacional para calcular determinantes 744.4Sistemas mal condicionados75 4.4.1 Definiciones76 4.4.2 Algunas propiedades de normas 77 4.4.3 Nmero de condicin 77 4.4.4 El nmero de condicin y el error de redondeo 78 4.4.5 Funciones de MATLAB para normas y nmero de condicin 814.5Sistemas singulares 82 4.5.1 Formulacin matemtica y algoritmo82 4.5.2 Instrumentacin computacional 85 4.5.3 Uso de funciones de MATLAB894.6Sistema tridiagonales 90 4.6.1 Formulacin matemtica y algoritmo90 4.6.2 Instrumentacin computacional 925 Mtodos iterativos para resolver sistemas de ecuaciones lineales 935.1Mtodo de Jacobi93 5.1.1 Formulacin matemtica93 5.1.2 Manejo computacional de la frmula de Jacobi94 5.1.3 Algoritmo de Jacobi 95 5.1.4 Instrumentacin computacional del mtodo de Jacobi95 5.1.5 Forma matricial del mtodo de Jacobi96 5.1.6 Prctica computacional con la notacin matricial975.2Mtodo de Gauss-Seidel98 5.2.1 Formulacin matemtica98 5.2.2 Manejo computacional de la frmula de Gauss-Seidel99 5.2.3 Instrumentacin computacional del mtodo de Gauss-Seidel99 5.2.4 Forma matricial del mtodo de Gauss-Seidel10015.3Mtodo de relajacin101 5.3.1 Formulacin matemtica101 5.3.2 Manejo computacional de la frmula de relajacin102 5.3.3 Forma matricial del mtodo de relajacin1025.4Convergencia de los mtodos iterativos para sistemas lineales 103 5.4.1 Matriz de transicin para los mtodos iterativos1045.5Eficiencia de los mtodos iterativos1065.6Finalizacin de un proceso iterativo1065.7Prctica computacional con los mtodos iterativos 1075.8Ejercicios con sistemas de ecuaciones lineales1116 Interpolacin1176.1El polinomio de interpolacin 117 6.1.1Existencia del polinomio de interpolacin118 6.1.2Unicidad del polinomio de interpolacin con diferentes mtodos 1196.2El polinomio de interpolacin de Lagrange 120 6.2.1Eficiencia del mtodo de Lagrange121 4. 6.2.2Instrumentacin computacional1226.3 Interpolacin mltiple1246.3.1Instrumentacin computacional1266.4 Error en la interpolacin 1276.4.1Una frmula para estimar el error en la interpolacin1286.5 Diferencias finitas 1296.5.1Relacin entre derivadas y diferencias finitas 1306.5.2Diferencias finitas de un polinomio1316.6 El polinomio de interpolacin de diferencias finitas1326.6.1Prctica computacional 1346.6.2Eficiencia del polinomio de interpolacin de diferencias finitas 1356.6.3El error en el polinomio de interpolacin de diferencias finitas 1366.6.4Forma estndar del polinomio de diferencias finitas1386.7 El polinomio de interpolacin de diferencias divididas1396.7.1El error en el polinomio de interpolacin de diferencias divididas 1416.8 El polinomio de mnimos cuadrados 1426.8.1Prctica computacional 1446.9 Ejercicios y problemas con el polinomio de interpolacin1456.10El trazador cbico1486.10.1 El trazador cbico natural 1486.10.2 Algoritmo del trazador cbico natural1516.10.3 Instrumentacin computacional del trazador cbico natural1536.10.4 El trazador cbico sujeto1556.10.5 Algoritmo del trazador cbico sujeto 1566.10.6 Instrumentacin computacional del trazador cbico sujeto 1576.10.7 Ejercicios con el trazador cbico1597 Integracin numrica1607.1 Frmulas de Newton-Cotes1607.1.1Frmula de los trapecios 1607.1.2Error de truncamiento en la frmula de los trapecios 1627.1.3Instrumentacin computacional de la frmula de los trapecios 1657.1.4Frmula de Simpson 1667.1.5Error de truncamiento en la frmula de Simpson 1677.1.6Instrumentacin computacional de la frmula de Simpson 1697.1.7Error de truncamiento vs. error de redondeo1697.2 Obtencin de frmulas de integracin numrica con el mtodo decoeficientes indeterminados 1717.3 Cuadratura de Gauss 1727.3.1Frmula de la cuadratura de Gauss con dos puntos 1727.3.2Instrumentacin computacional de la cuadratura de Gauss1747.3.3Instrumentacin extendida de la cuadratura de Gauss1747.4 Integrales con lmites infinitos1757.5 Integrales con singularidades 1767.6 Integrales mltiples1777.6.1Instrumentacin computacional de la frmula de Simpson en dos direcciones1797.7 Ejercicios y problemas de integracin numrica1818 Diferenciacin numrica 1858.1 Obtencin de frmulas de diferenciacin numrica1858.2 Una frmula para la primera derivada1858.3 Una frmula de segundo orden para la primera derivada 1878.4 Una frmula para la segunda derivada1888.5 Obtencin de frmulas de diferenciacin numrica con el mtodode coeficientes indeterminados1888.6 Algunas otras frmulas de inters para evaluar derivadas1898.7 Extrapolacin para diferenciacin numrica1908.8 Ejercicios de diferenciacin numrica 191 5. 9Mtodos numricos para resolver ecuaciones diferenciales ordinarias 192 9.1Ecuaciones diferenciales ordinarias de primer orden con la condicinen el inicio 1939.1.1Existencia de la solucin 1939.1.2Mtodo de la serie de Taylor1949.1.3Frmula de Euler1979.1.4Error de truncamiento y error de redondeo 1989.1.5Instrumentacin computacional de la frmula de Euler1999.1.6Frmula mejorada de Euler o frmula de Heun 2009.1.7Instrumentacin computacional de la frmula de Heun 2019.1.8Frmulas de Runge-Kutta 2039.1.9Instrumentacin computacional de la frmula de Runge-Kutta204 9.2Sistemas de ecuaciones diferenciales ordinarias de primer ordencon condiciones en el inicio 2069.2.1Frmula de Heun extendida a dos E. D. O. de primer orden2069.2.2Instrumentacin computacional de la frmula de Heun para dos E. D. O. de primer orden2079.2.3Frmula de Runge-Kutta para dos E. D. O. de primer orden con condiciones en el inicio2089.2.4Instrumentacin computacional de la frmula de Runge-Kutta para dos E.D.O de primer orden209 9.3Ecuaciones diferenciales ordinarias de orden superior y condicionesen el inicio 2109.3.1Instrumentacin computacional 211 9.4Ecuaciones diferenciales ordinarias no lineales212 9.5Convergencia y estabilidad numrica213 9.6Ecuaciones diferenciales ordinarias con condiciones en los bordes2149.6.1Mtodo de prueba y error (mtodo del disparo) 2149.6.2Mtodo de diferencias finitas 2159.6.3Instrumentacin computacional 2189.6.4Ecuaciones diferenciales ordinarias con condiciones en los bordes con derivadas2199.6.5Instrumentacin computacional 2209.6.6Normalizacin del dominio de la E.D.O.222 9.7Ejercicios con ecuaciones diferenciales ordinarias 22310 Ecuaciones diferenciales parciales224 10.1 Aproximaciones de diferencias finitas224 10.2 Ecuaciones diferenciales parciales de tipo parablico22410.2.1 Un esquema de diferencias finitas explcito 22610.2.2 Estabilidad del mtodo de diferencias finitas 22710.2.3 Instrumentacin computacional 22910.2.4 Un esquema de diferencias finitas implcito 23010.2.5 Instrumentacin computacional 23210.2.6 Prctica computacional23310.2.7 Condiciones variables en los bordes 23310.2.8 Instrumentacin computacional 23510.2.9 Mtodo de diferencias finitas para EDP no lineales237 10.3 Ecuaciones diferenciales parciales de tipo elptico23810.3.1 Un esquema de diferencias finitas implcito 23910.3.2 Instrumentacin computacional 241 10.4 Ecuaciones diferenciales parciales de tipo hiperblico 24410.4.1 Un esquema de diferencias finitas explcito 24410.4.2 Instrumentacin computacional 247 10.5 Ejercicios con ecuaciones diferenciales parciales249 Bibliografa250 6. ANLISIS NUMRICO BSICO Un enfoque algortmico con el soporte de MATLABPrefacioEsta obra es una contribucin dedicada a los estudiantes que toman el curso de Anlisis Numrico en lascarreras de ingeniera en la ESPOL. El pre-requisito es haber tomado los cursos de matemticas del ciclobsico de nivel universitario y alguna experiencia previa con el programa MATLAB para aprovechar el poderde este instrumento computacional y aplicar los mtodos numricos de manera efectiva.El contenido se basa en la experiencia desarrollada en varios aos impartiendo los cursos de AnlisisNumrico y Mtodos Numricos en las carreras de ingeniera, sin embargo esta obra solo pretende ser untexto complementario para estas materias. La orientacin principal del material es su aplicacincomputacional, sin descuidar los conceptos matemticos bsicos con los que se fundamentan los mtodosnumricos.Este texto contribuye tambin a difundir entre los estudiantes el uso del programa MATLAB para clculos,graficacin y manejo matemtico simblico para integrarlo como un soporte comn para todos los cursosbsicos matemticos, incluyendo lgebra Lineal, Clculo Diferencial e Integral, Ecuaciones Diferenciales,Anlisis Numrico y otros.MATLAB dispone de un amplio repertorio de funciones especiales para su aplicacin inmediata en lasolucin de una gran cantidad de problemas matemticos, sin embargo sera equivocado usarlas como unareceta sin el conocimiento de sus fundamentos matemticos. En este curso se desarrollan algunasfunciones alternativas a las que ofrece MATLAB, y en algunos casos, nuevas funciones cuya programacines instructiva para orientar a los estudiantes en el desarrollo de software para matemticas e ingeniera.El segundo objetivo principal de esta obra es contribuir al desarrollo de textos virtuales en la ESPOL de talmanera que puedan ser usados en lnea e interactivamente, aunque tambin puedan imprimirse, perotratando de reducir al mnimo el uso de papel. Otra ventaja importante de los textos virtuales es que puedenser actualizados y mejorados continuamente sin costos de impresin. El texto ha sido compilado en formatopdf. El tamao del texto en pantalla es controlable y tiene un ndice electrnico para facilitar la bsquedade temas. Se pueden usar facilidades para resaltar y marcar texto, agregar comentarios, notas, enlaces,revisiones, bsqueda por contenido, etc.Adjunto a este libro virtual se provee un documento en formato de texto copiable con todas las funcionesinstrumentadas en MATLAB desarrolladas en este documento, de tal manera que los usuarios puedantomarlas y pegarlas en la ventana de edicin de MATLAB, probarlas inmediatamente y posteriormenterealizar cambios y mejoras en las mismas.Tambin se adjunta un manual de uso del programa MATLAB para los usuarios que deseen adquirir omejorar su conocimiento de este programa.Esta obra tiene derechos de autor pero es de uso y distribucin libres y sin costo y estar disponible en lapgina web del Instituto de Ciencias Matemticas de la ESPOL www.icm.espol.edu.ecFinalmente, debo agradecer a la ESPOL y a sus autoridades por dar las facilidades a sus profesores paraque desarrollen su actividad acadmica.Luis Rodrguez Ojeda, [email protected] Instituto de Ciencias MatemticasEscuela Superior Politcnica del Litoral 2011 7. 1ANLISIS NUMRICOUn enfoque algortmico con el soporte de MATLAB1INTRODUCCINAnlisis Numrico es una rama de la matemtica cuyo objetivo principal es el estudio demtodos para resolver problemas numricos complejos. El estudio de estos mtodos no esreciente, pero actualmente con el apoyo de la computacin se los puede usar con muchaeficiencia en la resolucin de problemas que antes no era posible.En este curso se proporciona a los estudiantes el conocimiento matemtico bsico para proveersoporte y formalidad a cada uno de los mtodos estudiados. Se desarrolla la forma algortmicade los mtodos y finalmente se instrumenta su forma computacional usando la capacidad declculo, visualizacin y programacin de MATLAB. Este componente prctico del curso esdesarrollado en un laboratorio de computacin.El estudio de cada mtodo se complementa con el desarrollo de ejemplos y ejercicios quepueden resolverse con la ayuda de una calculadora. Sin embargo, el objetivo principal del cursoes la aplicacin de los mtodos para obtener respuestas con precisin controlada en laresolucin de algunos problemas de ingeniera que por su complejidad requieren usar elcomputador.1.1Resolucin de problemas con el computadorSuponer un problema que debemos resolver y que est en nuestro mbito de conocimiento.En la etapa de Anlisis es necesario estudiar y entender el problema. Sus caractersticas, lasvariables y los procesos que intervienen. Asimismo, debemos conocer los datos requeridos y elobjetivo esperado. En el caso de problemas de tipo numrico, el resultado de esta etapa ser unmodelo matemtico que caracteriza al problema. Por ejemplo, un sistema de ecuacioneslineales.En la etapa de Diseo procedemos a elegir el mtodo numrico apropiado para resolver elmodelo matemtico. Debe suponerse que no se puede, o que sera muy laborioso, obtener lasolucin exacta mediante mtodos analticos. Los mtodos numricos permiten obtenersoluciones aproximadas con simplicidad. El resultado de esta etapa es la formulacinmatemtica del mtodo numrico y la elaboracin de un algoritmo para usarlo.En la etapa de Instrumentacin elegimos el dispositivo de clculo para la obtencin deresultados. En problemas simples, basta una calculadora. Para problemas complejos,requerimos el computador mediante funciones predefinidas y en algunos casos, desarrollandoprogramas y funciones en un lenguaje computacional. Esta ltima opcin es importante para lacomprensin de los mtodos.Este proceso debe complementarse con una revisin y retroalimentacin. Es preferible invertirms tiempo en las primeras etapas, antes de llegar a la instrumentacin. 8. 21.2 Fuentes de error en la resolucin de un problema numricoEn el Anlisis pueden introducirse errores debido a suposiciones inadecuadas, simplificacionesy omisiones al construir el modelo matemtico. Estos errores se denominan errores inherentes.En el Diseo se pueden introducir errores en los mtodos numricos utilizados los cuales seconstruyen mediante frmulas y procedimientos simplificados para obtener respuestasaproximadas. Tambin se pueden introducir errores al usar algoritmos iterativos. Estos erroresse denominan errores de truncamiento.En la Instrumentacin se pueden introducir errores en la representacin finita de los nmerosreales en los dispositivos de almacenamiento y en los resultados de las operaciones aritmticas.Este tipo de error se denomina error de redondeo. Tambin se pueden introducir errores deredondeo al usar datos imprecisos.Los errores son independientes y su efecto puede acumularse. En el caso del error de redondeoel efecto puede incrementarse si los valores que se obtienen son usados en forma consecutivaen una secuencia de clculos.Debido a que los mtodos numricos en general, permiten obtener nicamente aproximacionespara la respuesta de un problema, es necesario definir alguna medida para cuantificar el error enel resultado obtenido. En general, no es posible determinar exactamente este valor por lo que almenos debe establecerse algn criterio para estimarlo o acotarlo. Esta informacin es til paraconocer la precisin de los resultados calculados.1.3 El modelo matemticoAl resolver un problema con el computador, la parte ms laboriosa normalmente es el anlisis delproblema y la obtencin del modelo matemtico que finalmente se usa para obtener la solucin.El modelo matemtico es la descripcin matemtica del problema que se intenta resolver. Estaformulacin requiere conocer el mbito del problema y los instrumentos matemticos para sudefinicin.1.4 Algoritmos numricosUn algoritmo es una descripcin ordenada de los pasos necesarios para resolver un problema.Para disear un algoritmo para resolver un problema numrico es necesario conocer en detallela formulacin matemtica, las restricciones de su aplicacin, los datos y algn criterio paravalidar y aceptar los resultados obtenidos.Esta descripcin facilita la instrumentacin computacional del mtodo numrico. En problemassimples puede omitirse la elaboracin del algoritmo e ir directamente a la codificacincomputacional.1.5 Instrumentacin computacionalEn este curso se usar MATLAB para instrumentar los algoritmos correspondientes a losmtodos numricos estudiados. La aplicacin computacional puede realizarse usandodirectamente la funcionalidad disponible en el lenguaje. Sin embargo, para comprender losmtodos numricos, preferible instrumentar el algoritmo desarrollando una funcin en el lenguajecomputacional y tratando de que sea independiente de los datos especficos de un problemaparticular para facilitar su reutilizacin. Estas funciones pueden llamarse desde la ventana decomandos o mediante un programa que contendr los datos del problema que se desea resolver.Se supondr que los estudiantes tienen el conocimiento bsico del lenguaje y del entorno deMATLAB. En este curso se suministra un tutorial para uso de este instrumento computacional. 9. 31.5.1Elementos de MATLABMATLAB es un instrumento computacional simple de usar, verstil y de gran poder paraaplicaciones numricas, simblicas y grficas. Contiene una gran cantidad de funcionespredefinidas para aplicaciones en reas de las ciencias e ingeniera. Este instrumento puedeusarse en forma interactiva mediante comandos o mediante instrucciones creando programasy funciones con las que se puede agregar poder computacional a la plataforma MATLAB.1.5.2Uso interactivo de MATLABAl ingresar al programa MATLAB se tiene acceso a la Ventana de Comandos. Los comandosson las instrucciones que se escriben para obtener resultados en forma inmediata.Ejemplo. Para calcular= cos(2) + 5 + 27 yDigite en la ventana de comandos de MATLAB y = cos(2*pi)+sqrt(5)+2^7Obtendr inmediatamente la respuestaVentana de y= comandos de131.2361MATLABEscribir el comando Se obtiene la respuesta1.5.3Programacin en MATLABJunto a este curso se suministra un tutorial de MATLAB. Se sugiere usarlo como referencia yadquirir familiaridad con la sintaxis y operatividad de este lenguaje.Para usar el componente programable de MATLAB debe abrir una ventana de edicinpresionando el botn New M-File o New Script en la barra del men de opciones de MATLAB.Escriba el programa en la ventana de edicin y almacnelo con algn nombre. Finalmente, activeel programa escribiendo el nombre en la ventana de comandos. Ingrese los datos y obtenga losresultados. 10. 4Ejemplo. Escribir y probar un programa en MATLAB un algoritmo para obtener la suma de lasdos mejores calificaciones de las tres obtenidas en un curso.1) Presionar este botn para2) Escribir el programa en abrir la ventana de edicin la ventana de edicin4) Activar el programa, ingresar los datos y obtener el resultado3) Presionar este botn para almacenar el programa con algn nombreA continuacin se proporciona un ejemplo para seguir el procedimiento descrito para laresolucin de un problemaProblema. Un empresario desea producir recipientes cilndricos de aluminio de un litro decapacidad. Cada recipiente debe tener un borde de 0.5 cm. adicionales para sellarlo. Determinelas dimensiones del recipiente para que la cantidad de material utilizado en la fabricacin seamnima. 11. 5AnlisisPara formular el modelo matemtico del problema, debe entenderse detalladamente. En esteejemplo el dibujo facilita visualizar sus componentes.Sean:x, h: radio y altura del cilindro, respectivamenterea total: s = 2(x+0.5)2 + (2x+0.5)h cm2 (1)Dato del volumen requerido: v = x2h = 1000 cm3 (2)De (2) obtenemos h: 1000h= x 2Sustituimos en (1):1000(2x + 0.5)s(x) = 2(x + 0.5)2 + x 2Se obtiene una funcin para la que debe determinarse el valor de la variable x que minimice sEl Clculo Diferencial nos proporciona un procedimiento para obtener la respuesta. Se deberesolver la ecuacin: s(x) = 0. Este es el modelo matemtico del cual se obtendr la solucin.Algoritmo1) Dado el modelo matemtico s(x)2) Obtener s(x)3) Resolver la ecuacin s(x) = 04) Elegir y validar la respuestaInstrumentacinSe realizar utilizando funciones existentes en el programa MATLABEs til visualizar la funcin s mediante un grfico>> s=2*pi*(x+0.5)^2+1000*(2*pi*x+0.5)/(pi*x^2);>> ezplot(s,[0,20]),grid on 12. 6 2 (x+0.5)2+1000 (2 x+0.5)/( x 2)4000350030002500200015001000500 0 2 4 6 81012 1416 18 20xSe observa que hay un valor real positivo que minimiza la funcin s(x)Obtener la derivada de s(x)>> d=diff(s)d=2*pi*(2*x + 1.0) + 2000/x^2 - (2*(2000*pi*x + 500.0))/(pi*x^3)Resolver la ecuacin s(x)=0>> x=eval(solve(d))x=5.3112 -0.1592 -2.8260 + 4.6881i -2.8260 - 4.6881iPor la naturaleza del problema, solamente la primera respuesta x(1) es aceptable>> h=1000/(pi*x(1)^2)h=11.2842SolucinRadio: x=5.3112Altura: h=11.2842 13. 71.6 Preguntas1. Cual etapa del proceso de resolucin de un problema numrico requiere mayor atencin?2. Qu conocimientos son necesarios para formular un modelo matemtico?3. En el ejemplo del recipiente, Cual sera la desventaja de intentar obtener experimentalmentela solucin mediante prueba y error en lugar de analizar el modelo matemtico?4. Que es ms crtico: el error de truncamiento o el error de redondeo?5. Cul es la ventaja de instrumentar computacionalmente un mtodo numrico?6. Por que es importante validar los resultados obtenidos? 14. 82 TIPOS DE MTODOS NUMRICOSExisten dos estrategias para disear mtodos numricos y es importante conocer suscaractersticas para elegirlos adecuadamente, as como su instrumentacin computacional2.1 Mtodos iterativosLos mtodos iterativos son procedimientos para acercarse a la respuesta medianteaproximaciones sucesivas. Estos mtodos incluyen frmulas que tienen la propiedad de producirun resultado ms cercano a la respuesta a partir de un valor estimado inicial. El resultadoobtenido se puede usar nuevamente como valor anterior para continuar mejorando la respuesta.Se deben considerar algunos aspectos tales como la eleccin del valor inicial, la propiedad deconvergencia de la frmula y el criterio para terminar las iteraciones.Estos mtodos son auto-correctivos. La precisin de la respuesta est dada por la distancia entreel ltimo valor calculado y la respuesta esperada. Esto constituye el error de truncamiento.El siguiente grfico describe la estructura de un mtodo iterativoCada ciclo se denomina iteracin. Si la frmula converge, en cada iteracin la respuesta estarms cerca del resultado buscado. Aunque en general no es posible llegar a la respuesta exacta,se puede acercar a ella tanto como lo permita la aritmtica computacional del dispositivo declculo.Ejemplo. Instrumentar un mtodo iterativo para calcular la raz cuadrada r de un nmero realpositivo n mediante operaciones aritmticas bsicasMtodo NumricoSe usar una frmula que recibe un valor estimado para la raz cuadrada y produce un valor mscercano a la respuesta. Si se usa repetidamente la frmula cada resultado tender a un valorfinal que suponemos es la respuesta buscada. La obtencin de estas frmulas se realizarposteriormente.Seanx: valor estimado para la raz r1 nFrmula iterativa:=y(x + ) 2xAlgoritmo 1. Dados n y la precisin requerida E 2. Elegir el valor inicial x 3. Repetir1 n 4.= Calcular y (x + )2 x 5.Asignar x a y. 6. Finalizar si |x-y| es menor que E 7. El ltimo valor x ser un valor aproximado para la raz r con precisin E 15. 9Ejemplo. Calcular r =7 con la frmula iterativa anterior Usaremos x = 3 como valor inicial Clculos en MATLAB>> format long>> n=7;>> x=3;>> y=0.5*(x+n/x)y=2.666666666666667>> x=y;>> y=0.5*(x+n/x)y=2.645833333333333>> x=y;>> y=0.5*(x+n/x)y=2.645751312335958>> x=y;>> y=0.5*(x+n/x)y=2.645751311064591>> x=y;>> y=0.5*(x+n/x)y=2.645751311064591El ltimo resultado tiene quince dgitos decimales que no cambian, por lo tanto podemos suponerque la respuesta tiene esa precisin. Se observa la rpida convergencia de la sucesin denmeros generad. Sin embargo es necesario verificar si la solucin es aceptable pues si losnmeros convergen a un valor, no necesariamente es la respuesta correcta>> y^2 ans =7.00000000000000Se comprueba que el ltimo valor calculado es la raz cuadrada de 7Ejemplo. Suponer que se propone la siguiente frmula iterativa para el ejemplo anterior:n = 0.4(x + )yx >> n=7; >> x=3; >> y=0.4*(x+n/x) y=2.133333333333334 >> x=y; >> y=0.4*(x+n/x) y=2.165833333333333 >> x=y; >> y=0.4*(x+n/x) 16. 10y= 2.159138258304477>> x=y;>> y=0.4*(x+n/x)y= 2.160468969251076>> x=y;>> y=0.4*(x+n/x)y= 2.160202499208563>> x=y;>> y=0.4*(x+n/x)y= 2.160255780068987...>> x=y;>> y=0.4*(x+n/x)y= 2.160246899469289>> x=y;>> y=0.4*(x+n/x)y= 2.160246899469287>> x=y;>> y=0.4*(x+n/x)y= 2.160246899469287>> y^2ans = 4.66666666666666La frmula converge pero el resultado final no es la raz cuadrada de 7. Esto plantea laimportancia de verificar la formulacin del mtodo numrico y la validacin de la respuestaobtenida.En general, los mtodos numricos se enfocan a resolver una clase o tipo de problemas. Elejemplo anterior es un caso particular del problema general: la solucin de ecuaciones nolineales f(x)=0 17. 112.1.1 Convergencia de los mtodos iterativosEs la propiedad que tienen las formulas iterativas de un mtodo numrico para producirresultados cada vez ms cercanos a la respuesta esperada.Definicin: Convergencia de un mtodo iterativoSeanr : Respuesta del problema(valor desconocido)Xi : Valor calculado en la iteracin i(valor aproximado)Si un mtodo iterativo converge, entoncesxi r . i .2.1.2 Error de truncamientoLa distancia entre la respuesta esperada y cada valor calculado con una frmula iterativa sedenomina error de truncamiento. Si la frmula iterativa converge, la distancia entre valoresconsecutivos se debe reducir y se puede usar como una medida para el error de truncamiento.Definicin: Error de truncamientoSean r : Respuesta del problema(valor desconocido) Xi : Valor calculado en la iteracin i(valor aproximado) Xi+1: Valor calculado en la iteracin i + 1 (valor aproximado)Entonces Ei = r Xi : Error de truncamiento en la iteracin iEi + 1 = r Xi+1: Error de truncamiento en la iteracin i + 12.1.3 Finalizacin de un proceso iterativoCon la definicin de convergencia se puede establecer un criterio para finalizar el procesoiterativo. Consideremos los resultados de dos iteraciones consecutivas: xi , xi+1Si el mtodo converge, xi r y tambin xi+ 1 ri i Restando estas dos expresiones: xi+ 1 xi 0 , se puede establecer un criterio de convergenciaiDefinicin: Criterio para finalizar un proceso iterativo (error absoluto)Sea E algn valor positivo arbitrariamente pequeo.Si el mtodo converge, se cumplir que a partir de alguna iteracin i:|Xi+1 - Xi| < E .Este valor E es el error de truncamiento absoluto y puede usarse como una medida para laprecisin de la respuesta calculada.La precisin utilizada en los clculos aritmticos, debe ser coherente con el error detruncamiento del mtodo numrico y con los errores inherentes en el modelo matemtico.Adicionalmente, es necesario verificar que la respuesta final sea aceptable para el modelomatemtico y para el problema que se est resolviendo. 18. 12Ejemplo. Se desea que la respuesta calculada para un problema con un mtodo iterativo tengaun error absoluto menor que 0.0001. Entonces el algoritmo deber terminar cuando se cumplaque |Xi+1 - Xi| < 0.0001. Los clculos deben realizarse al menos con la misma precisin.Para que el criterio del error sea independiente de la magnitud del resultado, conviene usar ladefinicin del error relativo:Definicin: Criterio para finalizar un proceso iterativo (error relativo)Sea e algn valor positivo arbitrariamente pequeo.Si el mtodo converge, se cumplir que a partir de alguna iteracin i: | xi+ 1 xi |> a = [3 0 0; 7 5 0; 8 2 9]Definir la matriz >> b = [2; 3; 6]Definir el vector de constantes >> x = triangular(a, b) Uso de la funcinInteraccin con MATLABVentana decomandosVentana deedicin Ingreso de comandos Vector resultante Escribir y almacenar la funcinValidar lasolucin 22. 162.2.1 Error de redondeoLos mtodos numricos operan con datos que pueden ser inexactos y con dispositivos pararepresentar a los nmeros reales. El error de redondeo se atribuye a la imposibilidad dealmacenar todas las cifras de estos nmeros y a la imprecisin de los instrumentos de medicincon los cuales se obtienen los datos.Definicin: Error de redondeo absolutoSeanX: Valor exacto(normalmente desconocido)X : Valor aproximado (observado o calculado)E=X X Error de redondeo .Definicin: Error de redondeo relativoSeanX: Valor exacto(normalmente desconocido)X : Valor aproximado (observado o calculado)E: Error de redondeo E E=e :Error de redondeo relativo. (X, X diferentes de cero) X XDebido a que normalmente no es posible calcular exactamente el valor de E, se debe intentar almenos acotar su valor.2.2.2 Error en la representacin de los nmeros realesLas operaciones aritmticas pueden producir resultados que no se pueden representarexactamente en los dispositivos de almacenamiento. Si estos errores se producen en formarecurrente entonces el error propagado pudiera crecer en forma significativa dependiendo de lacantidad de operaciones requeridas. Esta cantidad de operaciones est determinada por laeficiencia del algoritmo.Ejemplo. Suponga que un dispositivo puede almacenar nicamente los cuatro primeros dgitosdecimales de cada nmero real y trunca los restantes (esto se llama redondeo inferior).Se requiere almacenar el nmero: X = 536.78Primero expresemos el nmero en forma normalizada, es decir sin enteros y ajustando sumagnitud con potencias de 10: X = 0.53678x103Ahora descomponemos el nmero en dos partes X = 0.5367x103 + 0.00008x103El valor almacenado es un valor aproximado X = 0.5367x103El error de redondeo por la limitacin del dispositivo de almacenamiento es3-4 -1 E = 0.00008x103 = 0.8x10 = 0.8x10En general, si n es la cantidad de enteros del nmero normalizado con potencias de 10, y m esla cantidad de cifras decimales que se pueden almacenar en el dispositivo, entonces si setruncan los decimales sin ajustar la cifra anterior, el error de redondeo absoluto est acotado por:| E |< 1 10nmMientras que el error relativo: max(| E |) 1 10nm| e |< = = m (Solo depende del almacenamiento)10 10 min(| X |) 0.1 10n 23. 172.2.3Error de redondeo en las operaciones aritmticasEn los mtodos directos debe considerarse el error en las operaciones aritmticas cuando lacantidad de clculos requeridos es significativoa) Error de redondeo en la sumaSeanX, Y : Valores exactosX , Y : Valores aproximadosCon la definicin de error de redondeoEX = X - X , EY = Y - YS=X+YS = ( X + EX) + ( Y + EY) = ( X + Y ) + (EX + EY)S= X + YValor que se almacenaError de redondeo absoluto en la sumaEX+Y = EX + EY|EX+Y| |EX| + |EY|Error de redondeo relativo en la sumaEX + Y EX + EYEX EY X EXY EYeX+ Y == = + = +X+YX+Y X+Y X+Y X+Y X X+Y Y X Y=eX + Y ex +eYX+YX+Y XY | eX + Y | | ex | + | eY | X+Y X+Yb) Error de redondeo en la multiplicacin P=XY P = ( X + EX) ( Y + EY) = X Y + X EY + Y EX + EXEY P = X Y + X EY + Y EXEl ltimo trmino se descarta por ser muy pequeo P= X Y Valor que se almacenaError de redondeo absoluto en la multiplicacinEXY = X EY + Y EX|EXY| | X EY| + | Y EX|La magnitud del error de redondeo en la multiplicacin puede ser tan grande como la suma delos errores de redondeo de los operandos ponderada por cada uno de sus respectivos valores.Error de redondeo relativo en la multiplicacinEXE + YEX XEY YEX EY EXe XY = XY = Y= += +XYXYXY XYYXe XY e x + e Y =| e XY | | e x | + |e Y |En general, si los valores de los operandos tienen ambos el mismo signo se puede concluir quela operacin aritmtica de multiplicacin puede propagar ms error de redondeo que la suma.Adicionalmente, si el resultado de cada operacin aritmtica debe almacenarse, hay que agregarel error de redondeo debido a la limitacin del dispositivo de almacenamiento. 24. 182.2.4 Propagacin del error de redondeo en las operaciones aritmticasAlgunos casos de intersa) Suma de nmeros de diferente magnitudEs suficiente considerar tres nmeros: X, Y, Z. Suponer por simplicidad que los datos sonvalores positivos exactos, por lo tanto eX = 0, eY = 0, ez = 0S = X + Y + Z,con X>Y>ZSuponer que la suma se realiza en el orden escritoS = (X + Y) + ZX YeX + Y =eX + e Y + r1 = r1r1: error de redondeo al almacenar la suma X+Y X+Y X+YZ X+Y (X + Y)r1 + (X + Y + Z)r2=e(X + Y)+ ZeX + Y +=e Z + r2= r1 + r2 X+Y+ZX+Y+Z X+Y+ZX+Y+Z r2: error de redondeo al almacenar la sumaSi cada resultado se almacena en un dispositivo que tiene m cifras su cota de error de redondeo:| r1,r2 |< 10 10 m (2X + 2Y + Z)10 10 m| e(X + Y)+ Z |0 repita d mod(n, 2)Produce el residuo entero de la divisin n/2 n fix(n/2) Asigna el cociente entero de la divisin n/2 Mostrar d fina) Recorra el algoritmo con n = 73b) Suponga que T(n) representa la cantidad de operaciones aritmticas de divisin que serealizan para resolver el problema de tamao n. Encuentre T(n) y exprsela con la notacin O( )Para obtener T(n) observe el hecho de que en cada ciclo el valor de n se reduceaproximadamente a la mitad. 29. 233 RACES REALES DE ECUACIONES NO-LINEALESSea f: RR. Dada la ecuacin f(x) = 0, se debe encontrar un valor real r tal que f(r) = 0.Entonces r es una raz real de la ecuacinSi no es posible obtener la raz directamente, entonces se debe recurrir a los mtodos numricositerativos para calcular r en forma aproximada con alguna precisin controlada. Se han creadomuchos mtodos numricos para resolver este problema clsico, pero con el uso decomputadoras para el clculo, conviene revisar solamente algunos de estos mtodos que tengancaractersticas significativamente diferentes.3.1 Mtodo de la biseccinSea f: RR. Suponer que f es continua en [a, b], y que adems f(a) y f(b) tienen signosdiferentes. Por continuidad, el intervalo (a, b) contendr al menos una raz real.El siguiente teorema establece la existencia de la raz r:Teorema de Bolzano: Si una funcin f es continua en un intervalo [a, b] y f(a) tiene signodiferente que f(b), entonces existe por lo menos un punto r en (a, b) tal que f(r)=0.Si adems f(x) no cambia de signo en el intervalo [a, b], entonces la solucin es nica.El mtodo de la biseccin es un mtodo simple y convergente para calcular r. Consiste encalcular el punto medio c=(a+b)/2 del intervalo [a, b] y sustituirlo por el intervalo [c, b] [a, c]dependiendo de cual contiene a la raz r. Este procedimiento se repite hasta que la distanciaentre a y b sea muy pequea, entonces el ltimo valor calculado c estar muy cerca de r.Interpretacin grfica del mtodo de la biseccinEn la figura se puede observar que luego de haber calculado c, para la siguiente iteracin debesustituirse el intervalo [a, b] por [c, b] debido a que f(a) y f(c) tienen igual signo y por lo tanto laraz estar en el intervalo [c, b]3.1.1 Convergencia del mtodo de la biseccinSeanai, bi, ci los valores de a, b, c en cada iteracin i=1, 2, 3, . . . respectivamenteEl mtodo de la biseccin genera una sucesin de intervalos [a, b], [a1, b1], [a2, b2], , [ai, bi]tales que a a1 a2 ai constituyen una sucesin creciente y b b1 b2 , bi unasucesin decreciente con ai < bi. Adems por definicin del mtodo: ci, r [ai, bi] en cadaiteracin i 30. 24Seandi = bi ai longitud del intervalo [ai, bi] en la iteracin i=1, 2, 3, . . .d = b a longitud del intervalo inicialRecorrido de las iteraciones Iteracin Longitud del intervalo1d1 = d /22d2 = d1/2 = d/223d3 = d2/2 = d/234d4 = d3/2 = d/24 ... ...idi = d/2iEntonces d 0 di 0 ai bi ci r i>0 | ci r |< E para algn valor positivo E2i ii iiSuponer que se desea que el ltimo valor calculado ci tenga precisin E = 0.001, entonces si elalgoritmo termina cuando bi ai < E, se cumplir que |ci r| < E y ci ser una aproximacinpara r con un error menor que 0.0001Se puede predecir el nmero de iteraciones que se deben realizar con el mtodo de la Biseccinpara obtener la respuesta con una precisin requerida E:En la iteracin i: di = d/2iSe desea terminar cuando:di < EEntonces se debe cumplir d/2i < E log(d / E)De donde se obtiene: i> log(2)Ejemplo. La ecuacin f(x) = x ex - = 0 tiene una raz real en el intervalo [0, 2]. Determinecuantas iteraciones deben realizarse con el mtodo de la biseccin para obtener un resultadocon precisin E=0.0001.El nmero de iteraciones que debern realizarse es: i > log(2/0.0001)/log(2) i >14.287 15 iteraciones3.1.2 Algoritmo del mtodo de la biseccinCalcular una raz r real de la ecuacin f(x) = 0 con precisin E.f es contnua en un intervalo [a, b] tal que f(a) y f(b) tienen signos diferentes1) Defina f, el intervalo inicial [a, b] y la precisin requerida E2) Calcule el punto central del intervalo: c=(a+b)/23) Si f(c)=0, c es la raz y termine4) Si la raz se encuentra en el intervalo [a, c], sustituya b por c5) Si la raz se encuentra en el intervalo [c, b] sustituya a por c6) Repita los pasos 2), 3), 4), 5) hasta que la longitud del intervalo [a, b] sea menor que E.El ltimo valor calculado c estar al menos a una distancia E de la raz r. 31. 25Ejemplo. Calcule una raz real de f(x) = x ex - = 0 en el intervalo [0, 2] con precisin 0.01La funcin f es continua y adems f(0)0, por lo tanto la ecuacin f(x)=0 debe conteneralguna raz real en el intervalo [0, 2] Cantidad de iteracioneslog(d / E) log(1/ 0.01) i> = = 7.6439 8 iteracioneslog(2) log(2)Tabulacin de los clculos para obtener la raz con el mtodo de la Bisecciniteracina bc sign(f(a)) sign(f(c))inicio 0 21 -- 1 1 21.5 -+ 2 1 1.51.25-+ 3 1 1.25 1.125 -+ 4 1 1.1251.0625-- 5 1.06251.1251.0938-+ 6 1.06251.0938 1.0781-+ 7 1.06251.0781 1.0703-- 8 1.07031.0781 1.0742En la octava iteracin: b a = 1.0781-1.0703 = 0.0078 |r c|= ec=(a+b)/2;if f(c)==0 returnelse if sign(f(a))==sign(f(c))a=c; elseb=c; end endendEjemplo. Desde la ventana de comandos de MATLAB, use la funcin biseccin para calcularxuna raz real de la ecuacin f(x) = xe - = 0. Suponer que se desea que el error sea menorque 0.0001.Por simple inspeccin se puede observar que f es continua y adems f(0) < 0, f(2) > 0. Por lotanto se elije como intervalo inicial: [0, 2]. Tambin se puede previamente graficar f.En la ventana de comandos de MATLAB se escribe:>> f = x*exp(x)-pi;>> c = biseccion(inline(f), 0, 2, 0.0001) c=1.073669433593750 Este es el resultado calculado>> subs(f,x,c)Al evaluar f(c) se obtiene un valor cercano a 0 ans =6.819373368882609e-005 33. 27Ejemplo. Encontrar las intersecciones en el primer cuadrante de los grficos de las funciones:f(x) = 4 + cos(x+1), g(x)=ex sen(x).Primero se grafican las funciones para visualizar las intersecciones:>> f=4+x*cos(x+1);>> g=exp(x)*sin(x);>> ezplot(f,[0,3.5]),grid on,hold on>> ezplot(g,[0,3.5]) e p( ) s ( ) 8 6 4 2 0-2-4-6 0 0.5 1 1.5 22.5 3 3.5 xLas intersecciones son las races de la ecuacin h(x) = f(x) g(x) = 0El clculo de las races se realiza con el mtodo de la biseccin con un error menor a 0.0001>> h=4+x*cos(x+1)-exp(x)*sin(x);>> c=biseccion(inline(h),1,1.5,0.0001) c= 1.233726501464844>> c=biseccion(inline(h),3,3.2,0.0001) c= 3.040667724609375 34. 283.2 Mtodo del punto fijoSea f: RR. Dada la ecuacin f(x)=0, encuentre r tal que f(r)=0El mtodo del punto fijo, tambin conocido como mtodo de la Iteracin funcional es elfundamento matemtico para construir mtodos eficientes para el clculo de races reales deecuaciones no lineales.Este mtodo consiste en re-escribir la ecuacin f(x) = 0 en la forma x = g(x). Esta nuevaecuacin debe ser consistente con la ecuacin original en el sentido de que debe satisfacersecon la misma raz:r = g(r) f(r)=03.2.1 Existencia de una raz real con el mtodo del punto fijoSuponer que la ecuacin f(x) = 0, se sustituye por la ecuacin x = g(x). Suponer adems queg es una funcin continua en un intervalo [a, b] y que g(a) > a y g(b) < b como se muestraen el siguiente grficoSea h(x) = g(x) - x una funcin, tambin continua, en el intervalo [a, b]Entonces h(a) = g(a) - a > 0, h(b) = g(b) - b < 0Por la continuidad de h, (Teorema de Bolzano), existe algn valor r en el intervalo [a, b], en elcual h(r)=0. Entonces g(r) - r = 0. Por lo tanto g(r)=r f(r)=0, y r es una raz real de f(x)=03.2.2 Algoritmo del punto fijoLa ecuacin x=g(x) se usa para construir una frmula iterativa xi+1 = g(xi), i = 0, 1, 2, 3, . . .siendo x0 el valor inicial, elegido con algn criterio. En la frmula se usa un ndice para numerarlos valores calculados.Con la frmula iterativa se obtiene una sucesin de valores x esperando que tienda a un valorque satisfaga la ecuacin x = g(x) lo cual implica que la ecuacin f(x) = 0 tambin sesatisface.1) Elegir un valor inicial x02) Generar la sucesin de valores con la frmula iterativa:xi+1 = g(xi), i = 0, 1, 2, 3, ...3) Si el mtodo converge, la sucesin xi tender hacia un valor fijo que satisface la ecuacin x = g(x) 35. 29Ejemplo. Calcule una raz real de f(x) = ex - x = 0 con el mtodo del punto fijo.Un grfico de f nos muestra que la ecuacin tiene dos races reales en el intervalo [0, 2]Re-escribir la ecuacin en la forma x = g(x).Tomando directamente de la ecuacin (puede haber varias opciones)a) x = g(x) = e /xb) x = g(x) = ln(x)c) x = g(x) = e x + x, etc xUsaremos la primeraEscribir la frmula iterativa: x xi+1 = g(xi) = e i /, i = 0, 1, 2, 3, . . .Elegir un valor inicial x0 = 0.6 (cercano a la primera raz, tomado del grfico)Calcular los siguientes valoresx x1 = g(x0) = e 0 / = e 0.6 / = 0.5800x10.5800 x2 = g(x1) = e / = e / = 0.56850.5685 x3 = g(x2) = e/ = 0.5620 x4 = g(x3) = e 0.5620 / = 0.55840.5584 x5 = g(x4) = e/ = 0.55640.5564 x6 = g(x5) = e/ = 0.5552 ...La diferencia entre cada par de valores consecutivos se reduce en cada iteracin. En losltimos la diferencia est en el orden de los milsimos, por lo tanto podemos considerar que elmtodo converge y el error est en el orden de los milsimos. 36. 30Para calcular la segunda raz, usamos la misma frmula iterativa: x xi+1 = g(xi) = e i /, i = 0, 1, 2, 3, . . .El valor inicial elegido es x0 = 1.7 (cercano a la segunda raz, tomado del grfico)Calcular los siguientes valoresx x1 = g(x0) = e 0 / = e1.7 / = 1.7424 x2 = g(x1) = e x1 / = e1.7424 / = 1.8179 x3 = g(x2) = e1.8179 / = 1.9604 x4 = g(x3) = e1.9604 / = 2.2608 x5 = g(x4) = e 2.2608 /= 3.0528 x6 = g(x5) = e 3.0528 /= 6.7399 x6 = g(x5) = e 6.7399 /= 269.1367...La diferencia entre cada par de valores consecutivos aumenta en cada iteracin. Se concluyeque el mtodo no converge.En el ejemplo anterior, las races reales de la ecuacin f(x)=0 son las intersecciones de f con eleje horizontal. En el problema equivalente x=g(x), las races reales son las intersecciones entreg y la recta x:En el clculo de la primera raz, la pendiente de g es menor que la pendiente de x y se observaque la secuencia de valores generados tiende a la raz. La interpretacin grfica del proceso declculo se describe en la siguiente figura. 37. 31x 0.60.590.580.570.560.55x0.540.530.52g(x)0.51 0.5 0.5 0.520.54 0.56 0.58 0.6 0.62 xPara la segunda raz, la pendiente de g es mayor que la pendiente de x y se puede constatarque la secuencia de valores generados se aleja de la raz.Se puede observar que la convergencia parece relacionada con la pendiente de g(x). Esto seprueba mediante el siguiente desarrollo3.2.3 Convergencia del mtodo del punto fijoPara el mtodo del punto fijof(x) = 0, x = g(x)(ecuaciones equivalentes)Si r es una raz se debe cumplirr = g(r) f(r) = 0 (se satisfacen con la misma raz)Frmula iterativaxi+1 = g(xi), i = 0, 1, 2, 3, . . .Definiciones:Ei = r xi : Error en la iteracin iEi+1 = r xi+1: Error en la iteracin i + 1Suponer que g es continua en el intervalo que incluye a r y a cada punto calculado xi.Por el Teorema del Valor Medio: g(xi ) g(r) g(z) = , para algn z (r, xi)xi r 38. 32Sustituyendo las definiciones anteriores: x r Ei+ 1g(z) = i+ 1= Ei+ 1 = g(z)Ei , i = 0, 1, 2, 3, . . .xi rEiEste resultado indica que si en cada iteracin, la magnitud de g( ) se mantiene menor que uno,entonces Ei+ 1 0 y por lo tanto, r xi+ 1 0 xi+ 1 r (el mtodo converge).i iiSe puede extender a los casos en los cuales g tiene pendiente negativa y deducir en generalla condicin de convergencia del mtodo del punto fijo: |g(x)| < 1.Si g(x) es simple, se puede construir el intervalo en el cual la frmula converge:Ejemplo. Encuentre el intervalo de convergencia para el ejemplo anterior.f(x) = ex - x = 0x = g(x) = e / xCondicin de convergencia:|g(x)| < 1g(x) = e /|e /| < 1 xx x < ln()Intervalo de convergencia: ( , ln( ))Con lo que se concluye que la segunda raz no se puede calcular con esta frmula.Ejemplo. Calcule una raz real de la misma ecuacin f(x) = ex - x = 0 con el mtodo del puntofijo con otra forma de la ecuacin de recurrencia x=g(x).Para este ejemplo se decide usar la segunda forma: x = g(x)=ln(x)x 21.81.61.4 g(x)1.2 10.8 x0.60.40.2 000.2 0.4 0.6 0.81 1.2 1.4 1.6 1.82xSegn la condicin de convergencia establecida, el grfico muestra que ser imposible calcularla primera raz. La segunda raz si podr ser calculada. Se puede verificar numricamente. 39. 33Ejemplo. Calcular con MATLAB la segunda raz de la ecuacin: f(x)=exp(x)-x mediante lafrmula de recurrencia: x=g(x)=ln(x)>> g=inline(log(pi*x));>> ezplot(x,[0,2]),grid on,hold onGraficar x vs. g(x)>> ezplot(g,[0,2])Produce el grfico de la pgina anterior>> x=1.6; Valor inicial para la segunda raz>> x=g(x)x=1.6147>> x=g(x) Reusar el comandox=1.6239>> x=g(x)x=1.6296>> x=g(x)x=1.6330>> x=g(x) Valor final luego de 15 iteracionesx=1.63853.2.4Eficiencia del mtodo del punto fijoEl mtodo del punto fijo tiene convergencia lineal o de primer orden debido a que Ei y Ei+1 estnrelacionados directamente mediante el factor de convergencia: Ei+ 1 = g(z)Ei , por lo tanto estemtodo tiene convergencia lineal Ei+ 1 = O(Ei ) y g(z) es el factor de convergencia. Si sumagnitud permanece mayor a 1, el mtodo no converge. 40. 343.3Mtodo de NewtonSean f: RR, y la ecuacin f(x)=0. Sea r tal que f(r)=0, entonces r es una raz real de laecuacin.El mtodo de Newton, o Newton-Raphson, es una frmula eficiente para encontrar r. Es uncaso especial del mtodo del punto fijo en el que la ecuacin f(x) = 0 se re-escribe en la formax = g(x) eligiendo g de tal manera que la convergencia sea de segundo orden.3.3.1La frmula de NewtonSuponer que g es una funcin diferenciable en una regin que incluye a la raz r y al valor xi(calculado en la iteracin i). Desarrollando con la serie de Taylor: g(xi) = g(r) + (xi - r) g(r) + (xi - r)2g(r)/2! + . . .Con las definiciones del mtodo del punto fijo: r = g(r) xi+1 = g(xi), i = 0, 1, 2, 3, . . .Se obtiene:xi+1 = r + (xi - r) g(r) + (xi - r)2g(r)/2! + . . .Si se define el error de truncamiento de la siguiente forma:Ei = xi - r:Error en la iteracin iEi+ 1 = xi+1 - r: Error en la iteracin i +1Finalmente se obtiene: Ei+ 1 = Ei g(r) + Ei2 g(r)/2! + . . .Si se hace que g(r) = 0, y si g(r) 0, entonces se tendr:Ei+ 1 = O( Ei2 ),Con lo que el mtodo tendr convergencia cuadrtica.El procedimiento para hacer que g(r) = 0, consiste en elegir una forma apropiada para g(x): g(x) = x - f(x) h(x), en donde h es alguna funcin que debe especificarseEs necesario verificar que la ecuacin x = g(x) se satisface con la raz r de la ecuacin f(x) = 0 g(r) = r - f(r) h(r) = r g(r) = rSe deriva g(x) y se evala en r g(x) = 1 - f(x) h(x) - f(x) h(x) g(r) = 1 - f(r) h(r) - f(r) h(r) = 1 - f(r) h(r)Para que la convergencia sea cuadrtica se necesita que g(r) = 0 g(r) = 0 0 = 1 - f(r) h(r) h(r) = 1/f(r) h(x) = 1/f(x), f(x)0Con lo que se puede especificar h(x) para que la convergencia sea cuadrtica.Al sustituir en la frmula propuesta se obtiene x = g(x) = x - f(x)/f(x), y se puede escribir lafrmula iterativa de Newton:Definicin: Frmula iterativa de Newtonf(xi )xi+ 1 = f (xi ) 0 , i = 0, 1, 2, . . .xi , f (xi ) 41. 353.3.2 Algoritmo del mtodo de NewtonPara calcular una raz r real de la ecuacin f(x) = 0 con precisin E se usa la frmula iterativa f(xi )xi+ 1 =, f (xi ) 0 y se genera una sucesin de valores xi esperando que tienda a un xi f (xi )valor que satisfaga la ecuacin.1) Elegir el valor inicial x02) Generar la sucesin de valores con la frmula iterativa: f(xi ) xi+ 1 = , f (xi ) 0 , i = 0, 1, 2, 3, ...xi f (xi )3) Si el mtodo converge, la sucesin xi tender hacia un valor fijo que satisface la ecuacin f(x) = 0Ejemplo. Calcule una raz real de f(x) = ex - x = 0 con la frmula de NewtonSuponer el valor inicial: x0 = 0.5f(x 0 )e x0 x 0 e0.5 0.5 x1 =x0 = x x0= 0.5=0.5522 f (x 0 )e 0 e0.5 f(x1 ) e x1 x1e0.5522 0.5522x 2 =x1 = x x1= 0.5522 =0.5538f (x1 ) e 1 e0.5522 f(x 2 ) e x2 x 2e0.5538 0.5538x 3 =x2= xx2 = 0.5538 =0.5538f (x 2 ) e 2 e0.5538 En los resultados se observa la rpida convergencia. En la tercera iteracin el resultado tienecuatro decimales que no cambian.3.3.3 Interpretacin grfica del mtodo de NewtonSuponer que f es como se muestra en el siguiente grfico y x0 es el valor inicial:Seguimos el siguiente procedimiento:Calcular f(x0)Trazar una tangente a f en el punto (x0, f(x0)) hasta intersecar al eje horizontalEl punto obtenido es x1Entonces tan(0) = f(x0) = f(x0)/(x0 x1) de donde se obtiene x1 = x0 f(x0)/f(x0)Calcular f(x1)Trazar una tangente a f en el punto (x1, f(x1)) hasta intersecar al eje horizontal:El punto obtenido es x2Entonces tan(1) = f(x1) = f(x1)/(x1 x2) de donde se obtiene x2 = x1 f(x1)/f(x1) 42. 36Con estos dos resultados se puede generalizar:tan(i) = f(xi) = f(xi)/(xi xi+1) de donde se obtiene xi+1 = xi f(xi)/f(xi). Es la frmulade Newton.Esta interpretacin grfica permite observar que la secuencia de valores calculados con lafrmula de Newton sigue la trayectoria de las tangentes a f(x). Si hay convergencia, estasecuencia tiende a la raz r. En la siguiente seccin se analiza la propiedad de convergenciade ste mtodo.3.3.4 Convergencia del mtodo de NewtonSe estableci en el mtodo del punto fijo que la ecuacin recurrente x=g(x) tiene la siguientepropiedad de convergencia: | Ei+ 1 |=| g(z) || Ei | , i = 0, 1, 2, 3, . . . La convergencia se producesi se cumple que |g(x)| 0, x(r, b] c) f(x) > 0, x(r, b]Partiendo de estas premisas se demuestra que la frmula de Newton converge para cualquiervalor inicial x0 elegido en el intervalo (r, b].Demostracin1) Las premisas a) y b) implican que xi+ 1 < xi :En la frmula de Newton:f(xi ) xi+= xi 1 xi + 1 < xi(1) f (xi )El enunciado es vlido al suprimir un trmino positivo pues f(x), f(x) son positivos 43. 372) La premisa c) implica que r < xi+ 1 :Desarrollamos f(x) con tres trminos de la serie de Taylor alrededor de xi f(r) f(xi ) + (r xi )f (xi ) + (r xi )2 f (z) / 2!=f(r) > f(xi ) + (r xi )f (xi ) 0 > f(xi ) + (r xi )f (xi ) r < xi f(xi ) / f (xi ) r < xi+ 1 (2)El enunciado es vlido pues el ltimo trmino que se suprime es positivo, si f(x) es positivoCombinando los resultados (1) y (2) se tiene r < xi+ 1 < xi , i = 0, 1, 2,...Este resultado define una sucesin numrica decreciente que tiende a r y prueba laconvergencia de la frmula iterativa de Newton: xi riSi se dispone del grfico de f es fcil reconocer visualmente si se cumplen las condiciones a),b) y c) como el caso anterior y se puede definir un intervalo para la convergencia del mtodo.Si f tiene otra forma, igualmente se pueden enunciar y demostrar las condiciones para que seproduzca la convergencia en cada caso.Ejemplo. Determine la convergencia del mtodo de Newton si f tuviese la siguiente formaSu geometra se puede describir con:a) f(x)>0, x[a, r)b) f(x)0, x[a, r)Con un desarrollo similar al anterior, se puede probar que el mtodo converge para cualquiervalor inicial x0 elegido en el intervalo [a, r), (a la izquierda de la raz r).El uso de esta propiedad es simple si se dispone de un grfico de la ecuacin. Se elige comointervalo de convergencia aquella regin en la que se observa que la trayectoria de lastangentes produce la convergencia a la raz. Si se elije un valor inicial arbitrario no se puedeasegurar que el mtodo converge. 44. 38Ejemplo.- Si un crculo de radio a rueda en el plano a lo largo del eje horizontal, un punto Pde la circunferencia trazar una curva denominada cicloide. Esta curva puede expresarsemediante las siguientes ecuaciones paramtricas x(t) = a(t sen t), y(t) = a(1 cos t)Suponga que el radio es 1 metro, si (x, y) se miden en metros y t representa tiempo ensegundos, determine el primer instante en el que la magnitud de la velocidad es 0.5 m/s. Useel mtodo de Newton, E=0.0001Grfico de la cicloideSu trayectoria:u(t) = (x(t), y(t)) = (t sen t, 1 cos t)Su velocidad: u(t) = (1 cos t, sen t)Magnitud de la velocidad:u(t) = cos t)2 + (sent)2 (1Grfico de la magnitud de la velocidadDato especificado: (1 cos t)2 + (sent)2 = 0.5 f(t) = (1 cost)2 + (sent)2 0.25 = 0Mtodo de Newton f(ti ) (1 cos ti )2 + (senti )2 0.25 ti+ 1 = ti = ti (frmula iterativa)f (ti )2(1 cos ti )(senti ) + 2(senti )(cos ti ) t0 = 0.5 (del grfico) t1 = ... = 0.505386(iteraciones) t2 = ... = 0.505360 t3 = ... = 0.505360 45. 393.3.6 Prctica computacionalEn esta seccin se describe el uso de MATLAB para usar el mtodo de Newton. Se lo hardirectamente en la ventana de comandos.Para calcular una raz debe elegirse un valor inicial cercano a la respuesta esperada deacuerdo a la propiedad de convergencia estudiada para este mtodo.Para realizar los clculos se usa la frmula de Newton en notacin algortmica: f(xi )xi+= xi 1 , i=0, 1, 2, 3, f (xi ) x0 es el valor inicial x1, x2, x3, son los valores calculadosEn los lenguajes computacionales como MATLAB no se requieren ndices para indicar que elvalor de una variable a la izquierda es el resultado de la evaluacin de una expresin a laderecha con un valor anterior de la misma variable.La ecuacin se puede definir como una cadena de caracteres entre comillas simples. Laderivada se obtiene con la funcin diff de MATLAB y con la funcin eval se evalan lasexpresiones matemticas. Opcionalmente se puede usar el tipo syms para definir variablessimblicas o la funcin sym para operar algebraicamente con expresiones matemticasdefinidas en formato texto.Forma computacional de la frmula de Newton en MATLAB:x=x-eval(f)/eval(diff(f))Presionando repetidamente la tecla del cursor se obtienen resultados sucesivos. Laconvergencia o divergencia se puede observar directamente en los resultados.Ejemplo. Calcule con MATLAB las races reales de f(x) = ex - x = 0 con la frmula de Newton.Es conveniente graficar la ecuacin mediante los siguientes comandos de MATLAB. Tambinse puede editar el dibujo directamente en la ventana de graficacin:>> syms x>> f=exp(x)-pi*x;>> ezplot(f,[0,2]),grid onA continuacin se utliza la frmula de Newton en MATLAB eligiendo del grfico un valor inicial.Reutilizando este comando se obtiene una secuencia de aproximaciones: 46. 40>> format long>> x=0.5;>> x=x-eval(f)/eval(diff(f))x= 0.552198029112459>> x=x-eval(f)/eval(diff(f))x= 0.553825394773978>> x=x-eval(f)/eval(diff(f))x= 0.553827036642841>> x=x-eval(f)/eval(diff(f))x= 0.553827036644514>> x=x-eval(f)/eval(diff(f))x= 0.553827036644514El ltimo resultado tiene quince decimales fijos.Se puede observar la rapidez con la que el mtodo se acerca a la respuesta duplicandoaproximadamente, la precisin en cada iteracin. Esto concuerda con la propiedad deconvergencia cuadrtica.Finalmente, es necesario verificar que este resultado satisface a la ecuacin:>> eval(f)ans = 0Ejemplo. Se propone el siguiente modelo para describir la demanda de un producto, en dondex es tiempo en meses:d(x) = 20x e 0.075xEncuentre el valor de x para el cual la demanda alcanza el valor de 80 unidades. Use elmtodo de Newton para los clculos. Elija el valor inicial del grfico y muestre los valoresintermedios.La ecuacin a resolver es: f(x) 20x e 0.075x 80 0==>> syms x>> f=20*x*exp(-0.075*x)-80; (20 x)/exp((3 x)/40) - 80>> ezplot(f,[0,50]),grid on>> x=5; 20>> x=x-eval(f)/eval(diff(f))x= 0 6.311945053556490-20>> x=x-eval(f)/eval(diff(f))x=-40 6.520455024943885>> x=x-eval(f)/eval(diff(f))-60x= 6.525360358429755-80>> x=x-eval(f)/eval(diff(f))0 10 20 30 40 50x=x 6.525363029068742>> x=x-eval(f)/eval(diff(f))x= 6.525363029069534>> x=x-eval(f)/eval(diff(f))x= 6.525363029069534 47. 41Ejemplo. Una partcula se mueve en el plano X-Y de acuerdo con las ecuaciones paramtricassiguientes, donde t es tiempo, entre 0 y 1:x(t)=t*exp(t)y(t)=1+t*exp(2t)Con la frmula de Newton calcule el tiempo en el que la partcula est ms cerca del punto(1,1)Distancia de un punto (x, y) al punto (1, 1) :=d (x(t) 1)2 + (y(t) 1)2Para encontrar la menor distancia, debe resolverse la ecuacin: f(t) = d(t) = 0>> t=[0:0.01:1];Puntos para evaluar las ecuaciones paramtricas>> x=t.*exp(t);>> y=1+t.*exp(2*t);>> plot(x,y)Grfico del recorrido98765432100 0.5 1 1.5 2 2.5 3>> syms t>> x=t*exp(t);>> y=1+t*exp(2*t);>> d=sqrt((x-1)^2+(y-1)^2)(para operar algebraicamente) d= (t^2*exp(4*t) + (t*exp(t) - 1)^2)^(1/2)>> f=diff(d);>> t=0.5;>> t=t-eval(f)/eval(diff(f))t= 0.278246639067713>> t=t-eval(f)/eval(diff(f))t= 0.258310527656699>> t=t-eval(f)/eval(diff(f))t= 0.256777599742604>> t=t-eval(f)/eval(diff(f))t= 0.256768238259669>> t=t-eval(f)/eval(diff(f))t= 0.256768237910400>> t=t-eval(f)/eval(diff(f))t= 0.256768237910400(tiempo para la menor distancia)>> eval(d)ans =0.794004939848305 (es la menor distancia) 48. 42Ejemplo. Encuentre una interseccin de las siguientes ecuaciones en coordenadas polaresr=2+cos(3*t)r=2- etEcuacin a resolver: f(t) = 2+cos(3*t) (2-et)>> t=[-pi:0.01:2*pi]; Puntos para evaluar las ecuaciones>> r=2+cos(3*t);>> polar(t,r),hold on>> r=2- exp(t);>> polar(t,r) Grfico en coordenadas polares 903 120 60 215030 11800210330 240 300 270>> syms t>> f=2+cos(3*t)-(2-exp(t));>> t=-1; (valor inicial)>> t=t-eval(f)/eval(diff(f))t= -0.213748703557153>> t=t-eval(f)/eval(diff(f))t= -0.832049609116596>> t=t-eval(f)/eval(diff(f))t= -0.669680711112045>> t=t-eval(f)/eval(diff(f))t= -0.696790503081824>> t=t-eval(f)/eval(diff(f))t= -0.697328890705191>> t=t-eval(f)/eval(diff(f))t= -0.697329123134159>> t=t-eval(f)/eval(diff(f))t= -0.697329123134202>> t=t-eval(f)/eval(diff(f))t= -0.697329123134202(ngulo: -39.95. grados)>> r=2+cos(3*t)r=1.502086605214547(radio) 49. 433.3.7 Instrumentacin computacional del mtodo de NewtonPara evitar iterar desde la ventana de comandos, se puede instrumentar una funcin que recibala ecuacin a resolver f, la variable independiente v definida como smbolo matemtico y elvalor inicial u. Adicionalmente se puede enviar un parmetro e para controlar la precisinrequerida y otro parmetro m para el mximo de iteraciones.La funcin entrega la solucin calculada u y el nmero de iteraciones realizadas k. Si elmtodo no converge en el mximo de iteraciones previsto, u contendr un valor nulo y elnmero de iteraciones k ser igual al mximo m.function [u,k]=newton(f,v,u,e,m)t=u;for k=1:mu=u-subs(f,v,u)/subs(diff(f,v),v,u);%frmula de Newtonif abs(t-u)> syms xforma alternativa de definir expresiones>> f=exp(x)-pi*x;matemticas con el tipo simblico: syms>> ezplot(f,[0,2]),grid on (tambin se pueden escribir con comillas)exp(x) - x1.2 10.80.60.40.2 0 -0.2 -0.40 0.2 0.4 0.6 0.81 1.2 1.4 1.6 1.8 2 x>> [u,k]=newton(f, x, 0.5, 0.000001, 10)u=0.553827036644514 Primera razk= 4>> [u,k]=newton(f, x, 1.6, 0.000001, 10)u=1.638528419970363 Segunda razk= 4Si no es de inters el nmero de iteraciones, la funcin puede llamarse con un solo parmetro>> u=newton(f, x, 0.5, 0.000001, 10)u= 0.553827036644514 50. 443.3.8 Uso de funciones especiales de MATLABMATLAB dispone de funciones especiales para calcular races de ecuaciones no lineales.La funcin fzeroEs equivalente a usar los mtodos de la biseccin y de NewtonEjemplo. Resuelva la ecuacin f(x) = ex - x = 0 usando fzero>> f=exp(x)-pi*x;>> r=fzero(f, [0.4, 0.8]) (Para usar como el mtodo de la biseccinr=se especifica el intervalo que contiene a la raz) 0.55382703664451>> f=exp(x)-pi*x;>> r=fzero(f, 0.4)(Para usar como el mtodo de Newtonr= se especifica un valor cercano a la raz) 0.553827036644514>> r=fzero(f, 1.6)r= 1.638528419970363La funcin solveSe usa resolver ecuaciones en forma simblica exacta. En algunos casos la solucin quedaexpresada mediante smbolos predefinidos en MATLAB. Con la funcin eval se convierten lassoluciones al formato numrico decimal. Esta funcin no siempre entrega todas las solucionesde una ecuacin.Ejemplo. Resuelva la ecuacin f(x) = ex - x = 0 usando solve>> f=exp(x)-pi*x;>> r=eval(solve(f))r=0.553827036644514 (Raz real en forma numrica decimal)La funcin rootsSirve para calcular todas las races de ecuaciones polinmicas. Los coeficientes delpolinomio deben almacenarse en un vector.Ejemplo. Encuentre todas las races del polinomio 2x3 - 5x2 - 4x - 7 = 0 usando roots>> a=[2, -5, -4, -7]; (Coeficientes del polinomio)>> r=roots(a)r=3.39334562071304(Una raz real y dos races complejas) -0.44667281035652 + 0.91209311493838i -0.44667281035652 - 0.91209311493838i 51. 453.4 Ejercicios y problemas de ecuaciones no-lineales1. El producto de dos nmeros reales positivos es 5. Mientras que al sumar el cubo del primeroms el cuadrado del segundo se obtiene 40. Encuentre estos dos nmeros.2. El producto de las edades en aos de dos personas es 677.35 y si se suman los cubos deambas edades se obtiene 36594.38 Encuentre cuales son estas edades.3. Una empresa produce semanalmente una cantidad de artculos. El costo de produccinsemanal tiene un costo fijo de 250 y un coso de 2.50 por cada artculo producido. El ingresosemanal por venta tiene un valor de 3.50 por cada artculo vendido, ms un costo deoportunidad que se ha estimado directamente proporcional a la cantidad de artculos producidos,multiplicado por el logaritmo natural. Encuentre el punto de equilibrio para este modeloeconmico.4. En una empresa de fertilizantes en cada mes, el ingreso por ventas en miles de dlares sedescribe con el modelo v(x) = 0.4x (30 - x) mientras que el costo de produccin en miles dedlares es c(x) = 5 + 10 ln(x), siendo x la cantidad producida en toneladas, 1> syms x y >> f1=(x-2)^2 + (y-1)^2+x*y-3; >> f2=x*exp(x+y)+y-3; >> ezplot(f1,[0,4,-2,4]),grid on,hold on >> ezplot(f2,[0,4,-2,4])No es posible reducir el sistema a una ecuacin, por lo que se debe utilizar un mtodo pararesolverlo simultneamente con la frmula propuesta:Obtencin de la solucin con el mtodo de Newton (sistema de dos ecuaciones no lineales) f1 (x, y) = (x 2)2 + (y 1)2 + xy 3 = 0 f 2 (x,= xe x + y + y 3 0y)= x (0) 0.5 Comenzar con el vector inicial = = X (0) (0) tomado del grfico y 1.0 57. 51 Matriz jacobiana y vectores: f1 f1 x y 2x + y 4 x + 2y 2 = = x + yJ f2 f2 e (1 + x) xe x + y + 1 x y x f1 (x 2)2 + (y 1)2 + xy 3 X = ,= = F y f2 xe x + y + y 3 Ecuacin de recurrencia X (k + 1) X (k) (J(k) )1F(k)= Primera iteracin: k=0 X (1) X (0) (J(0) )1F(0) = 1 x (1) 0.5 2(0.5) + 1 4 0.5 + 2(1) 2 (0.5 2)2 + (1 1)2 + 0.5(1) 3 = 0.5 + 1 (1) y 1.0 e(1 + 0.5) 0.5e 0.5 + 1 + 1 0.5e0.5 + 1 + 1 3 1 x (1) 0.5 20.5 0.25 = (1) y 1.0 6.7225 3.2408 0.2408 x (1) 0.5 0.3293 0.0508 0.25 0.4055 (1) = = y 1.0 0.6830 0.2032 0.2408 1.1218 3.5.4 Prctica computacional Obtencin de las races de las ecuaciones para el ejemplo anterior calculando directamente en la ventana de comandos de MATLAB mediante la ecuacin de recurrencia: X (k + 1) X (k) (J(k) )1F(k)=>> syms x y>> f1=(x-2)^2 + (y-1)^2+x*y-3;>> f2=x*exp(x+y)+y-3;>> J=[diff(f1,x) diff(f1,y); diff(f2,x) diff(f2,y)]J=[ 2*x + y - 4, x + 2*y - 2][ exp(x + y) + x*exp(x + y), x*exp(x + y) + 1]>> F=[f1; f2];>> X=[x;y];>> x=0.5; y=1;>> X=eval(X)Valores inicialesX=0.5000000000000001.000000000000000 58. 52 >> X=X-inv(eval(J))*eval(F)Primera iteracin X=0.4054518364832951.121807345933181 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F)Segunda iteracin X=0.4096188773635021.116191209478471 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X=0.4096277870300111.116180137991844 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X=0.4096277870648071.116180137942813 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X=0.4096277870648071.116180137942814 >> eval(f1)Verificar la solucin ans = -4.440892098500626e-016 >> eval(f2) ans =4.440892098500626e-0163.5.5 Instrumentacin computacional del mtodo de Newton para un sistema de necuaciones no-lineales.Sea F: f1, f2, , fn ecuaciones con variables independientes X: x1, x2, , xn.Ecuacin de recurrencia:X (k + 1) X (k) (J(k) )1F(k) , k=0, 1, 2, =En donde J es la matriz jacobiana del sistemaEntradaf: Vector con las ecuacionesv: Vector con las variables independientesu: Vector con valores iniciales para las variablesSalidau: Vector con los nuevos valores calculados para las variablesNota: La convergencia ser controlada interactivamente reusando la funcin esde la ventanade comandos. Por las propiedades de este mtodo, la convergencia o divergencia ser muyrpida. 59. 53Alternativamente, se puede incorporar a la instrumentacin un ciclo con un mximo deiteraciones para que las iteraciones se realicen dentro de la funcin.Las derivadas parciales se obtienen con la funcin diff y la sustitucin de los valores de u en lasvariables se realiza con la funcin subs. La solucin se la obtiene con la inversa de la matriz delas derivadas parciales J.function u = snewton(f, v, u) %Sistemas no linealesn=length(f);for i=1:n %Obtencin de la matriz jacobiana Jfor j=1:nJ(i,j)=diff(f(i),v(j));endendfor i=1:n %Sustitucin del vector u en Jfor j=1:nfor k=1:n if findstr(char(J(i,j)),char(v(k)))>0J(i,j)=subs(J(i,j),v(k),u(k)); endendendendfor i=1:nfor j=1:nf(i)=subs(f(i),v(j),u(j)); %Sustitucin del vector u en el vector fendendu=u-inv(eval(J))*eval(f);%Obtencin de la nueva aproximacin uEjemplo. Use la funcin snewton para encontrar una raz real del sistemaf1 (x, y) = (x 2)2 + (y 1)2 + xy 3 = 0f 2 (x,= xe x + y + y 3 0 y)=>> syms x y>> f1=(x-2)^2 + (y-1)^2+x*y-3;>> f2=x*exp(x+y)+y-3;>> f=[f1; f2];>> v=[x; y];>> u=[0.5; 1];Valores iniciales tomados del grfico>> u=snewton(f, v, u)u= 0.405451836483295 1.121807345933181>> u=snewton(f, v, u)u= 0.409618877363502 1.116191209478472>> u=snewton(f, v, u)u= 0.409627787030011 1.116180137991845 60. 54>> u=snewton(f, v, u)u= 0.409627787064807 1.116180137942814>> u=snewton(f, v, u)u= 0.409627787064807 1.116180137942814Se observa la rpida convergencia.Para verificar que son races reales de las ecuaciones debe evaluarse f>> subs(f1,{x,y},{u(1),u(2)})ans =4.440892098500626e-016>> subs(f2,{x,y},{u(1),u(2)})ans = 0Los valores obtenidos son muy pequeos, por lo cual se aceptan las races calculadasPara calcular la otra raz, tomamos del grfico los valores iniciales cercanos a esta raz.>> u=[2.4; -1.5];>> u=snewton(f, v, u)u=2.261842718297048 -1.535880731849205>> u=snewton(f, v, u)u=2.221421001369104 -1.512304705819129>> u=snewton(f, v, u)u=2.220410814294533 -1.511478104887419>> u=snewton(f, v, u)u=2.220410327256473 -1.511477608846960>> u=snewton(f, v, u)u=2.220410327256368 -1.511477608846834>> u=snewton(f, v, u)u=2.220410327256368 -1.511477608846835>> subs(f1,{x,y},{u(1),u(2)}) (Comprobar si es una solucin del sistema)ans = -8.881784197001252e-016>> subs(f2,{x,y},{u(1),u(2)})ans =8.881784197001252e-016 61. 553.5.6 Uso de funciones de MATLAB para resolver sistemas no-linealesLa funcin solve de MATLAB se puede usar para resolver sistemas no lineales como el ejemploanterior:>> syms x y>> f1=(x-2)^2 + (y-1)^2+x*y-3;>> f2=x*exp(x+y)+y-3;>> f=[f1;f2];>> [x,y]=solve(f)x= 0.40962778706480689876647619089358y= 1.116180137942813562571698234565El mtodo solve de MATLAB proporciona solamente una de las dos soluciones. Con estoconcluimos que no siempre los programas computacionales disponibles producen todas lasrespuestas esperadas.3.5.7 Obtencin de la frmula iterativa de segundo orden para calcular races reales desistemas de ecuaciones no linealesSe considera el caso de dos ecuaciones y luego se generaliza a ms ecuacionesSeanf1(x1, x2) = 0, f2(x1, x2) = 0 dos ecuaciones no-lineales con variables x1, x2.Sean r1, r2 valores reales tales que f1(r1, r2) = 0, f2(r1, r2) = 0, entonces (r1, r2) constituye unaraz real del sistema y es de inters calcularla.Suponer que f1, f2 son funciones diferenciables en alguna regin cercana al punto (r1, r2)Con el desarrollo de la serie de Taylor expandimos f1, f2 desde el punto (x1 , x (k) ) al punto (k) 2(x1 + 1) , x (k + 1) )(k 2f1(k) f (k)f1(k + 1) = + (x1 + 1) x1 )f1(k) (k(k) + (x (k + 1) x (k) ) 1 + O(x1 + 1) x1 )2 + O(x 2 + 1) x 2 )2 (k(k)(k (k)x 1 x 22 2f2(k) f (k)f2(k + 1) = + (x1 + 1) x1 )f2(k) (k(k) + (x (k + 1) x (k) ) 2 + O(x1 + 1) x1 )2 + O(x 2 + 1) x 2 )2 (k(k)(k (k)x 1 x 22 2Por simplicidad se ha usado la notacin:f1(k) = f1 (x1 , x (k) ) , f1(k + 1) = f1 (x1 + 1) , x (k + 1) ) , etc. (k) 2(k 2En los ltimos trminos de ambos desarrollos se han escrito nicamente los componentes deinters, usando la notacin O( ).Las siguientes suposiciones, son aceptables en una regin muy cercana a (r1, r2): 62. 56(x1 , x (k) ) cercano a la raz (r1, r2)(k)2Si el mtodo converge cuadrticamente entonces (x1 + 1) , x 2 + 1) ) estar muy cercano a (r1, r2) (k (kPor lo tanto se puede aproximar: f1 (x1 + 1) , x (k + 1) ) 0(k 2 f2 (x1 + 1) , x 2 + 1) ) 0(k (kPor otra parte, si (x 1 , x 2 ) es cercano a (x1 + 1) , x 2 + 1) ) , las diferencias sern pequeas y al (k) (k) (k (kelevarse al cuadrado se obtendrn valores ms pequeos y se los omite.Sustituyendo en el desarrollo propuesto se obtiene como aproximacin el sistema lineal: (k + 1)f1(k)(k + 1) (k) f1(k) 0 = + (x f (k) x )+ (x 2 x 2 ) (k)x 1x 2 1 1 1 f2(k) f (k) 0 = + (x1 + 1) x1 ) f2(k) (k(k)+ (x (k + 1) x (k) ) 2 x 1 x 2 2 2En notacin matricial: F(k) J(k) (X (k + 1) X (k) ) =Siendo f1(k) f1(k) f1(k) x1 (k) x1 + 1) (kx 1 x 2 F (k) = (k) , X (k) = (k) , X (k + 1) = (k + 1) , J(k) = (k) f2 x2 x2 f f2(k) 2 x 1x 2 J(k) X (k + 1) J(k) X (k) F(k) = X (k + 1) X (k) (J(k) )1F(k) ,=| J(k) | 0Es la ecuacin de recurrencia que se puede usar iterativamente con k=0, 1, 2, partiendo deun vector inicial X (0) generando vectores de aproximacin: X (1) , X (2) , X (3) , La notacin matricial y la ecuacin de recurrencia se extienden directamente a sistemas de necuaciones no lineales f1, f2, , fn con variables x1, x2, , xn. La matriz de las derivadasparciales J se denomina jacobiano. La ecuacin de recurrencia se reduce a la frmula deNewton si se tiene una sola ecuacin. 63. 573.5.8 Ejercicios y problemas de sistemas de ecuaciones no-lineales1. Encuentre las soluciones del sistema de ecuaciones dado:sin(x) + ey - xy = 5x2 + y3 - 3xy = 7a) Grafique las ecuaciones en el intervalo [-4, 4, -4, 4] y observe que hay dos races reales. Elijadel grfico, valores aproximados para cada raz.b) Use iterativamente la funcin snewton:c) Compruebe que las soluciones calculadas satisfacen a las ecuacionesd) Calcule las soluciones con la funcin solve de MATLAB y compare2. Encuentre las soluciones del sistema de ecuaciones dado:cos(x+y) + xy=33(x - 2)2 - 2(y - 3)2 = 5xya) Grafique las ecuaciones en el intervalo [-6, 6, -6, 6] y observe que hay dos races reales. Elijadel grfico, valores aproximados para cada raz.b) Use iterativamente la funcin snewton:c) Compruebe que las soluciones calculadas satisfacen a las ecuacionesd) Calcule las soluciones con la funcin solve de MATLAB y compare3. Encuentre las soluciones del sistema de ecuaciones dado:exp(x+y) + x - y = 3sen(x+y) - 2x + y = 1a) Grafique las ecuaciones en el intervalo [-3, 3, -3, 3] y observe que hay una raz real. Elija delgrfico, valores aproximados para la raz.b) Use iterativamente la funcin snewton:c) Compruebe que la solucin calculada satisface a las ecuacionesd) Calcule la solucin con la funcin solve de MATLAB y compare.4. El siguiente grfico representa un mecanismo compuesto de dos brazos articulados en lospuntos A y B. Las longitudes de los brazos son 4 y 5. Determine los ngulos X y Y para que elextremo C coincida con el punto P de coordenadas (6,3).El modelo matemtico es un sistema de dos ecuaciones no lineales que debe resolver con elmtodo de Newton para sistemas de ecuaciones no lineales (snewton). 64. 584MTODOS DIRECTOS PARA RESOLVER SISTEMAS DE ECUACIONES LINEALESEn este captulo se estudia el componente algortmico y computacional de los mtodos directospara resolver sistemas de ecuaciones lineales.Ejemplo. Un comerciante compra tres productos: A, B, C, pero en las facturas nicamenteconsta la cantidad comprada y el valor total de la compra. Se necesita determinar el preciounitario de cada producto. Para esto dispone de tres facturas con los siguientes datos: Factura Cantidad de A Cantidad de B Cantidad de CValor pagado 1 4 2 5$18.00 2 2 5 8$27.30 3 2 4 3$16.20AnlisisSean x1,x 2 ,x 3 variables que representan al precio unitario de cada producto. Entonces, sepuede escribir:4x1 + 2x 2 + 5x 3 =18.00 2x1 + 5x 2 + 8x 3 = 27.30 2x1 + 4x 2 + 3x 3 = 16.20El modelo matemtico resultante es un sistema lineal de tres ecuaciones con tres variables.En general, se desea resolver un sistema de n ecuaciones lineales con n variables a1,1x1 + a1,2 x1 + ... + a1,n xn =b1 a2,1x1 + a2,2 x1 + ... + a2,n xn =b2... an,1x1 + an,2 x1 + ... + an,n xn =bnEn donde ai,j : Coeficientes bi : Constantes xi : Variables cuyo valor debe determinarseEn notacin matricial: a1,1 a1,2 ... a1,n x1 b1 a a2,2 ... a2,n x 2 b2 2,1 = ...... ... ... an,1 an,1 ... an,n xn bn SimblicamenteAX = BSiendo a1,1a1,2...a1,n b1 x1 aa2,2...a2,n b x = ; B =2,1 2 2 A =; X ... ... ... ... an,1 an,1...an,n bn xn 65. 594.1Determinantes y sistemas de ecuaciones linealesSea A la matriz de coeficientes del sistema AX = B. Sea A-1 su inversa y |A| su determinante.La relacin entre |A| y la existencia de la solucin X se establece con la siguiente definicin:[adj(A)]t A 1 = ,|A|tEn donde [adj(A)] es la transpuesta de la adjunta de la matriz A.Si |A| 0 , entonces A 1 existe, y se puede escribir: AX = B A 1AX = A 1B IX = A 1B X = A 1BEn donde I es la matriz identidad. En resumen, si |A| 0 entonces X existe y adems es nico.4.2Mtodo de Gauss - JordanLa estrategia de este mtodo consiste en transformar la matriz A del sistema AX = B y reducirlaa la matriz identidad I. Segn el enunciado anterior, esto es posible si | A | 0. Aplicandosimultneamente las mismas transformaciones al vector B, este se convertir en el vectorsolucin A 1B .En caso de que esta solucin exista, el procedimiento debe transformar las ecuaciones medianteoperaciones lineales que no modifiquen la solucin del sistema original, estas pueden ser: a) Intercambiar ecuaciones b) Multiplicar ecuaciones por alguna constante no nula c) Sumar alguna ecuacin a otra ecuacinEjemplo. Con el Mtodo de Gauss-Jordan resuelva el siguiente sistema de ecuaciones linealescorrespondiente al problema planteado al inicio del captulo4x1 + 2x 2 + 5x 3 =18.002x1 + 5x 2 + 8x 3 =27.302x1 + 4x 2 + 3x 3 =16.20Solucin: Se define la matriz aumentada A | B para transformar simultneamente A y B: 4 2 5 18.00 A | B = 2 5 8 27.30 2 4 3 16.20 Las transformaciones sucesivas de la matriz aumentada se describen en los siguientes pasos:Dividir fila 1 para 4 1.00000.5000 1.2500 4.5000 2.00005.0000 8.0000 27.3000 2.00004.0000 3.0000 16.2000 66. 60Restar de cada fila, la fila 1 multiplicada por el elemento de la columna 1 1.0000 0.5000 1.2500 4.50000 4.0000 5.5000 18.30000 3.0000 0.5000 7.2000Dividir fila 2 para 4 1.0000 0.5000 1.2500 4.50000 1.0000 1.3750 4.57500 3.0000 0.5000 7.2000Restar de cada fila, la fila 2 multiplicada por el elemento de la columna 2 1.000000.5625 2.21250 1.0000 1.37504.575000 -3.6250-6.5250Dividir fila 3 para -3.625 1.00000 0.5625 2.21250 1.0000 1.3750 4.575000 1.0000 1.8000Restar de cada fila, la fila 3 multiplicada por el elemento de la columna 3 1.000000 1.20000 1.00000 2.100000 1.0000 1.8000La matriz de los coeficientes ha sido transformada a la matriz identidad.Simultneamente, las mismas transformaciones han convertido a la ltima columna en el vectorsolucin: 1.2 X = 2.1 1.8 Como antes, la solucin debe verificarse en el sistema 67. 614.2.1 Prctica computacionalResolver el ejemplo anterior en la ventana de comandos con la notacin matricial>> a=[4 2 5; 2 5 8; 2 4 3] Definicin de la matriza= 4 2 5 2 5 8 2 4 3>> b=[18.0; 27.3; 16.2]Vector de constantesb= 18.0000 27.3000 16.2000>> a=[a, b]Matriz aumentadaa=4.0000 2.0000 5.0000 18.00002.0000 5.0000 8.0000 27.30002.0000 4.0000 3.0000 16.2000>> a(1,1:4)=a(1,1:4)/a(1,1)Normalizar fila 1a=1.0000 0.5000 1.2500 4.50002.0000 5.0000 8.0000 27.30002.0000 4.0000 3.0000 16.2000>> a(2,1:4)=a(2,1:4)-a(2,1)*a(1,1:4) Reducir fila 2a=1.0000 0.5000 1.2500 4.5000 0 4.0000 5.5000 18.30002.0000 4.0000 3.0000 16.2000>> a(3,1:4)=a(3,1:4)-a(3,1)*a(1,1:4) Reducir fila 3a=1.0000 0.5000 1.2500 4.5000 0 4.0000 5.5000 18.3000 0 3.0000 0.5000 7.2000>> a(2,2:4)=a(2,2:4)/a(2,2)Normalizar fila 2a=1.0000 0.5000 1.2500 4.5000 0 1.0000 1.3750 4.5750 0 3.0000 0.5000 7.2000>> a(1,2:4)=a(1,2:4)-a(1,2)*a(2,2:4) Reducir fila 1a=1.0000 0 0.5625 2.2125 0 1.0000 1.3750 4.5750 0 3.0000 0.5000 7.2000>> a(3,2:4)=a(3,2:4)-a(3,2)*a(2,2:4) Reducir fila 3a=1.0000 0 0.5625 2.2125 0 1.0000 1.3750 4.5750 00 -3.6250 -6.5250>> a(3,3:4)=a(3,3:4)/a(3,3)Normalizar fila 3a=1.0000 0 0.5625 2.2125 0 1.0000 1.3750 4.5750 00 1.0000 1.8000 68. 62>> a(1,3:4)=a(1,3:4)-a(1,3)*a(3,3:4)Reducir fila 1a=1.00000 0 1.2000 0 1.0000 1.3750 4.5750 00 1.0000 1.8000>> a(2,3:4)=a(2,3:4)-a(2,3)*a(3,3:4)Reducir fila 2a=1.00000 0 1.2000 0 1.0000 0 2.1000 00 1.0000 1.8000>> x=a(1:3,4) Vector solucinx=1.20002.10001.8000>> a*xVerificar la solucinans = 18.0000 27.3000 16.20004.2.2 Formulacin del mtodo de Gauss-Jordan y algoritmoPara establecer la descripcin algortmica, conviene definir la matriz aumentada A con el vectorB pues deben realizarse simultneamente las mismas operaciones: a1,1 a1,2 ... a1,n a1,n+1 a2,1 a 2,2 ... a 2,n a 2,n+ 1 A |B = ... ... ... ... ... an,1 an,2 ... an,n an,n+ 1 En donde se ha agregado la columna n+1 con el vector de las constantes: ai,n+1 = bi, i = 1, 2, 3, ..., n (columna n+1 de la matriz aumentada)El objetivo es transformar esta matriz y llevarla a la forma de la matriz identidad I: a1,1 a1,2... a1,na1,n+1 1 0 ... 0 a1,n+ 1 a 2,1 a 2,2 ... a2,na2,n+1 . . . 0 1 ... 0 a2,n+ 1 A |B = ... ...... ... ... ... ... ... ... ... an,1 an,2... an,nan,n+ 1 0 0 ... 1 an,n+ 1 Si es posible realizar esta transformacin, entonces los valores que quedan en la ltima columnaconstituirn el vector solucin XLas transformaciones deben ser realizadas en forma sistemtica en n etapas, obteniendosucesivamente en cada etapa, cada columna de la matriz identidad, de izquierda a derecha.En cada etapa, primero se har que el elemento en la diagonal tome el valor 1. Luego se harque los dems elementos de la columna tomen el valor 0. 69. 63 1 0... 0 a1,n+ 1 0 1... 0 a2,n+ 1 ... ...... ... ... 0 0 ... 1 an,n+ 1 Etapa 1 Etapa n Etapa 2Etapa 1Normalizar la fila 1:(colocar 1 en el lugar del elemento a 1,1a1,j a1,j / a1,1 j=1, 2, ..., n+1; supones que a1,1 0Reducir las otras filas: (colocar 0 en los otros elementos de la columna 1)ai,j ai,j ai,1a1,j , j=1, 2, ..., n+1; i=2, 3, ..., n a1,1a1,2 ... a1,n a1,n+ 1 1 a1,2 ... a1,n a1,n+ 1 A |B a2,1a2,2 ... a2,n a2,n+ 1 0 a2,2 ... a2,n a2,n+ 1 ... ... ... ... ... ... an,1 an,1 ... an,n an,n+ 1 0 an,1 ... an,n an,n+ 1 ValorestransformadosEtapa 2Normalizar la fila 2: (colocar 1 en el lugar del elemento a2,2a2,j a2,j / a2,2 j=2, 3, ..., n+1; a 2,2 0Reducir las otras filas: (colocar 0 en los otros elementos de la columna 2ai,j ai,j ai,2 a2,j ,j=2, 3, ..., n+1; i=1, 3, ..., n Valores1 a1,2... a1,n a1,n+ 1 10 ... a1,n a1,n+ 1 transformados 0a2,2... a2,n a2,n+1 01 ... a2,n a2,n+1 ... ... ... ... ... ... 0 an,1 ... an,n an,n+ 1 0 0 ... an,n an,n+ 1 La ltima columna contendr el vector solucinLa formulacin obtenida en estas dos etapas se puede generalizar y con ella construir elalgoritmo: 70. 64ALGORITMO BSICO DE GAUSS-JORDANa: matriz de coeficientes, aumentada con el vector b del sistema de n ecuaciones linealesPara e = 1, 2, . . ., nPara j=e, e+1, ..., n+1 a e,j a e,j / a e,e Normalizar la fila e ( a e,e 0 )FinPara i=1, 2, , i -1, i +1, n Para j=e, e+1, ..., n+1 ai,j ai,j ai,e a e,jReducir las otras filas FinFinFinPara i=1,2,...,nxi ai,n+ 1 La ltima columna contendr la solucinFin4.2.3 Eficiencia del mtodo de Gauss-JordanEl mtodo de Gauss-Jordan es un mtodo directo. Los mtodos directos pueden estar afectadospor el error de redondeo, es decir los errores en la representacin de los nmeros que seproducen en las operaciones aritmticas. Para cuantificar la magnitud del error de redondeo sedefine la funcin de eficiencia del mtodo.Sea n el tamao del problema y T(n) la cantidad de operaciones aritmticas que se realizan En la normalizacin:T(n) = O(n2)(Dos ciclos anidados) En la reduccin:T(n) = O(n3)(Tres ciclos anidados)Por lo tanto, este mtodo es de tercer orden: T(n) = O(n3)Mediante un conteo recorriendo los ciclos del algoritmo, se puede determinar la funcin deeficiencia para este mtodo directo:e ij1n-1n+12n-1 n. ... ... .. n-1 n-1 3nn-1 2T(n) = (n-1)(2 + 3 + n + (n+1)) = (n-1) (3 + n ) (n/2) = n3/2 + 2n2/2 + 3n/2 71. 654.2.4 Instrumentacin computacionalEn esta primera versin del algoritmo se supondr que el determinante de la matriz es diferentede cero y que no se requiere intercambiar filas.La codificacin en MATLAB sigue directamente la formulacin matemtica descritaanteriormente. Se usa notacin compacta para manejo de matricesfunction x=gaussjordan(a,b)n=length(b);a=[a,b];%matriz aumentadafor e=1:n a(e,e:n+1)=a(e,e:n+1)/a(e,e);%normalizar fila e for i=1:nif i~=e a(i,e:n+1)=a(i,e:n+1)-a(i,e)*a(e,e:n+1); %reducir otras filasend endendx=a(1:n,n+1); %vector solucinEjemplo. Desde la ventana de comandos de MATLAB, use la funcin Gauss-Jordan pararesolver el sistema: 2 3 7 x1 3 2 5 6 x2 = 5 8 9 4 x 3 8 Escriba en la ventana de comandos de MATLAB>> a=[2, 3, 7; -2, 5, 6; 8, 9, 4]; Matriz de coeficientes>> b=[3; 5; 8];Vector de constantes>> x=gaussjordan(a,b)Llamada a la funcinx=-0.0556Solucin proporcionada por MATLAB 0.9150 0.0523>> a*x Verificar la solucinans =3.0000 La solucin satisface al sistema5.00008.0000Cuando se dispone de la instrumentacin computacional de un algoritmo, se puede obtenerexperimentalmente su eficiencia registrando, para diferentes valores de n, el tiempo de ejecucindel algoritmo. Este tiempo depende de la velocidad del procesador del dispositivo computacional,pero es proporcional a T(n).MATLAB dispone de las funciones tic, toc para registrar tiempo de ejecucin, mientras que paralas pruebas se pueden generar matrices y vectores con nmeros aleatorios. Se presentanalgunos resultados con obtenidos con un procesador intel core i5 y la versin 7.01 de MATLAB: n=100, t=0.0781 seg. n=200, t=0.3859 seg. n=300, t=1.0336 seg. n=400, t=2.0758 seg.Se observa que T(n) tiene crecimiento tipo potencial 72. 664.2.5 Obtencin de la inversa de una matrizPara encontrar la matriz inversa se puede usar el mtodo de Gauss-Jordan.Sea A una matriz cuadrada cuyo determinante es diferente de cero.Sean t 1 ,t 2 , . . . ,t m1 ,t m las transformaciones lineales del mtodo de Gauss-Jordan quetransforman la matriz A en la matriz identidad I incluyendo intercambios de filas t m t m-1 . . . t 2 t 1 A = IEntonces se puede escribir t m t m-1 . . . t 2 t 1 A 1 A = A 1 I t m t m-1 . . . t 2 t 1 I = A 1Lo cual significa que las mismas transformaciones que convierten A en la matriz I, convertirn 1la matriz I en la matriz A . 1Para aplicar este algoritmo, suponiendo que se desea conocer la matriz A , se debe aumentarla matriz anterior con la matriz I: A | B | ILas transformaciones aplicadas simultneamente proporcionarn finalmente el vector solucin X1y la matriz identidad AEjemplo. Con el Mtodo de Gauss-Jordan resuelva el sistema de ecuaciones siguiente ysimultneamente obtenga la matriz inversa:4x1 + 2x 2 + 5x 3 =18.002x1 + 5x 2 + 8x 3 =27.302x1 + 4x 2 + 3x 3 =16.20Solucin. La matriz aumentada es: 4 2 5 18.001 0 0 A | B = 2 5 8 27.300 1 1 2 4 3 16.200 0 1ClculosNormalizar fila 1 y reducir filas 2 y 3 1.0000 0.5000 1.25004.5000 0.2500000 4.0000 5.5000 18.3000-0.5000 1.000000 3.0000 0.5000 7.2000 -0.50000 1.0000 73. 67Normalizar fila 2 y reducir filas 1 y 3 1.000000.56252.21250.3125 -0.125000 1.0000 1.3750 4.5750 -0.1250 0.2500 000 -3.6250 -6.5250 -0.1250 -0.7500 1.0000Normalizar fila 3 y reducir filas 1 y 2 1.000000 1.2000 0.2931 -0.2414 0.15520 1.000002.1000-0.1724 -0.0345 0.37930 01.00001.8000 0.0345 0.2069 -0.2759Solucin del sistema 1.2 X = 2.1 1.8 Matriz inversa 0.2931 0.2414 0.1552 0.1724 0.0345 0.3793 A 1 = 0.0345 0.2069 0.2759 74. 684.3Mtodo de GaussEl mtodo de Gauss es similar al mtodo de Gauss-Jordan. Aqu se trata de transformar lamatriz del sistema a una forma triangular superior. Si esto es posible entonces la solucin sepuede obtener resolviendo el sistema triangular resultante.Ejemplo. Con el Mtodo de Gauss resuelva el sistema de ecuaciones lineales del problemaplanteado al inicio de este captulo4x1 + 2x 2 + 5x 3 =18.002x1 + 5x 2 + 8x 3 =27.302x1 + 4x 2 + 3x 3 =16.20Solucin: Se define la matriz aumentada A | B para transformar simultneamente A y B: 4 2 5 18.00 A | B = 2 5 8 27.30 2 4 3 16.20 Las transformaciones sucesivas de la matriz aumentada se describen en los siguientes cuadrosDividir fila 1 para 4 1.00000.5000 1.2500 4.5000 2.00005.0000 8.0000 27.3000 2.00004.0000 3.0000 16.2000Restar de cada fila, la fila 1 multiplicada por el elemento de la columna 1 1.00000.5000 1.2500 4.500004.0000 5.5000 18.300003.0000 0.5000 7.2000Dividir fila 2 para 4 1.0000 0.5000 1.25004.50000 1.0000 1.37504.57500 3.0000 0.50007.2000Restar de la fila, la fila 2 multiplicada por el elemento de la columna 2 1.0000 0.5000 1.25004.50000 1.0000 1.3750 4.575000-3.6250 -6.5250Dividir fila 3 para -3.625 1.0000 0.5000 1.2500 4.50000 1.0000 1.3750 4.575000 1.0000 1.8000 75. 69 La matriz de los coeficientes ha sido transformada a la forma triangular superior De este sistema se obtiene la solucin mediante una sustitucin directa comenzando por el final: x 3 = 1.8 x 2 = 1.375(1.8) = 4.5752.1 x1 = 0.5(2.1) 1.25(1.8) =4.51.2 4.3.1 Formulacin del mtodo de Gauss y algoritmo Para unificar la descripcin algortmica, es conveniente aumentar la matriz A con el vector B pues deben realizarse las mismas operaciones simultneamente: a1,1 a1,2... a1,n a1,n+ 1 A |B = a2,1 a2,2 ... a2,n a2,n+ 1 ... ...... an,1 an,1 ... an,n an,n+ 1 En donde la columna de los coeficientes se define: ai,n+ 1 = bi , i=1, 2, 3,. . ., n La formulacin se obtiene directamente del mtodo de Gauss-Jordan en la que la reduccin de las filas nicamente se realiza en la sub-matriz triangular inferior. Las transformaciones convierten la matriz aumentada en la forma triangular superior: a1,1 a1,2 ... a1,n a1,n+ 1 1a1,2 ...