Logout succeed
Logout succeed. See you again!

Cálculo Cientifico con MATLAB y Octave PDF
Preview Cálculo Cientifico con MATLAB y Octave
Cálculo Cientifico con MATLAB y Octave A. Quarteroni F. Saleri Cálculo Cientifico con MATLAB y Octave 1 3 ALFIOQUARTERONI MOX - Dipartimento di Matematica Politecnico di Milano y Ecole Polytechnique Fédérale de Lausanne FAUSTOSALERI MOX - Dipartimento di Matematica Politecnico di Milano Las simulaciones numéricas que se muestran en la portada fueron realizadas por Marzio Sala La traducción ha sido hecha por: Alfredo Bermudez Departamento de Matematica Aplicada Universidade de Santiago de Compostela Traducción de: Introduzione al Calcolo Scientifico - Esercizi e problemi risolti con MATLAB A.Quarteroni,F.Saleri © Springer-Verlag Italia,Milano 2006 ISBN 10 88-470-0503-5 Springer Milan Berlin Heidelberg New York ISBN 13 978-88-470-0503-7 in sospeso Springer Milan Berlin Heidelberg New York Springer-Verlag hace parte de Springer Science+Business Media springer.com © Springer-Verlag Italia,Milano 2006 Esta obra está protegida por la ley del Derecho de Autor. Todos los derechos,en particu- lar aquellos relacionados con la traducción,con la reimpresión,con el uso de figuras y tablas,con la citación oral,con la transmisión radiofónica o televisiva,con la reproducción sobre un microfilm o en una base de datos,con la diferente reproducción de cualquier otro tipo (impresa o electrónica) quedan reservados también en el caso de uso parcial.Una reproducción de esta obra,o de una parte de ella,sólo está permitida dentro de los limites de la ley sobre el Derecho de Autor,y está sujeta a la autorización del Editor. La violación de las normas comporta las sanciones previstas por la ley. El uso de denominaciones genéricas,nombres comerciales,marcas registradas,etc,en esta obra,también en ausencia de indicaciones particulares,no significa que tales denomina- ciones o marcas se puedan utilizar libremente por cualquiera,en el sentido de la ley sobre marcas. Reproducido de una copia camera-ready provista por el traductor Proyecto gráfico de portada:Simona Colombo,Milán Impreso en Italia:Signum Srl,Bollate (Milán) Pro´logo Estelibrodetextoesunaintroduccio´nalCa´lculoCient´ıfico.Ilustraremos varios m´etodos num´ericos para la resoluci´on por computador de ciertas clases de problemas matem´aticos que no pueden abordarse con “papel y la´piz”.Mostraremosc´omocalcularloscerosolasintegralesdefunciones continuas,resolversistemaslineales,aproximarfuncionesporpolinomios y construir aproximaciones precisas de las soluciones de las ecuaciones diferenciales. Conesteobjetivo,enelCap´ıtulo1seestablecer´anlasreglasdejuego queadoptanloscomputadorescuandoalmacenanyoperanconnu´meros reales y complejos, vectores y matrices. Para hacer nuestra presentacio´n concreta y atractiva adoptaremos los entornos de programacio´n MATLAB (cid:1) 1 y Octave como leales compan˜eros. Octave es una reimplementaci´on de parte de MATLAB que incluye muchos de sus recursos num´ericos y se distribuye libre- mente bajo GNU General Public License. Descubriremos gradualmente sus principales comandos, instrucciones y construcciones. Mostraremos c´omo ejecutar todos los algoritmos que introducimos a trav´es del libro. Esto nos permitira´ suministrar una evaluacio´n cuantitativa inmediata de sus propiedades te´oricas tales como estabilidad, precisi´on y compleji- dad.Resolveremosvariosproblemasquesurgira´natrav´esdeejerciciosy ejemplos, a menudo consecuencia de aplicaciones espec´ıficas. A lo largo dellibroharemosusofrecuentedelaexpresi´on“comandodeMATLAB”; en ese caso, MATLAB deber´ıa ser entendido como el lenguaje que es subconjuntocomu´naambosprogramasMATLAByOctave.Noshemos esforzado paraasegurar un usosin problemas de nuestros c´odigos y pro- gramas bajo MATLAB y Octave. En los pocos casos en los que esto no 1 MATLAB es una marca registrada de TheMathWorks Inc., 24 Prime Park Way, Natick, MA 01760, Tel: 001+508-647-7000, Fax: 001+508-647-7001. VI Pro´logo se aplique, escribiremos una breve nota explicativa al final de la corres- pondiente secci´on. Adoptaremos varios s´ımbolos gra´ficos para hacer la lectura m´as agradable. Mostraremos al margen el comando de MATLAB (u Oc- tave), al lado de la l´ınea donde ese comando se introduce por primera vez.Els´ımbolo seusar´aparaindicarlapresenciadeejercicios,mien- trasqueels´ımbolo seutilizara´cuandoqueramosatraerlaatencio´n del lector sobre un comportamiento cr´ıtico o sorprendente de un algo- ritmo o procedimiento.Las fo´rmulas matem´aticas de especial relevancia se pondra´n en un recuadro. Finalmente, el s´ımbolo indicara´ la pre- sencia de un panel resumiendo conceptos y conclusiones que acaban de ser expuestas y explicadas. Alfinaldecadacap´ıtulosededicaunasecci´onespec´ıficaamencionar aquellos temas que no han sido abordados y a indicar las referencias bibliogra´ficas para un tratamiento m´as amplio del material que hemos considerado. Bastante a menudo remitiremos al texto [QSS06] donde muchas de las cuestiones abordadas en este libro se tratan con mayor profundidad, ydonde sepruebanresultadosteo´ricos.Parauna descripci´onma´sminu- ciosa de MATLAB enviamos a [HH05]. Todos los programas incluidos en este texto pueden descargarsede la direcci´on web mox.polimi.it/qs. Nosepidenespecialesprerrequisitosallector,conlaexcepcio´ndeun curso de C´alculo elemental. Sinembargo,alolargodelprimercap´ıtulorecordamoslosprincipales resultados del Ca´lculo y la Geometr´ıa que se utilizara´n extensamente a trav´es de este texto. Los temas menos elementales, aqu´ellos que no son tan necesarios para un recorrido educacional introductorio se destacan con el s´ımbolo especial . AgradecemosaFrancescaBonadeideSpringer-Italiasucolaboraci´on indispensable a lo largo de este proyecto, a Paola Causin el habernos propuestovariosproblemas,aChristophePrud´homme,JohnW.Eaton y David Bateman su ayuda con Octave, y al proyecto Poseido´n de la Escuela Polit´ecnica Federal de Lausanne su apoyo econo´mico. Finalmente,queremosexpresarnuestragratitudaAlfredoBermu´dez por la traduccio´n cuidadosa de este libro, as´ıcomo por sus numerosas y acertadas sugerencias. Lausanne y Milano, julio de 2006 Alfio Quarteroni, Fausto Saleri ´ Indice 1 Lo que no se puede ignorar ........................... 1 1.1 Nu´meros reales..................................... 2 1.1.1 Co´mo representarlos .......................... 2 1.1.2 Co´mo operamos con nu´meros de punto flotante .. 4 1.2 Nu´meros complejos ................................. 7 1.3 Matrices .......................................... 9 1.3.1 Vectores..................................... 14 1.4 Funciones reales.................................... 16 1.4.1 Los ceros.................................... 17 1.4.2 Polinomios .................................. 18 1.4.3 Integracio´n y diferenciacio´n.................... 21 1.5 Errar no so´lo es humano............................. 23 1.5.1 Hablando de costes ........................... 26 1.6 Los entornos MATLAB y Octave ..................... 28 1.7 El lenguaje MATLAB............................... 30 1.7.1 Instrucciones de MATLAB .................... 31 1.7.2 Programacio´n en MATLAB.................... 33 1.7.3 Ejemplos de diferencias entre los lenguajes MATLAB y Octave .......................... 37 1.8 Lo que no le hemos dicho............................ 38 1.9 Ejercicios.......................................... 38 2 Ecuaciones no lineales ................................ 41 2.1 M´etodo de bisecci´on ................................ 43 2.2 M´etodo de Newton ................................. 47 2.2.1 Co´mo terminar las iteraciones de Newton........ 49 2.2.2 M´etodo de Newton para sistemas de ecuaciones no lineales................................... 51 2.3 Iteraciones de punto fijo............................. 54 2.3.1 Co´mo terminar las iteraciones de punto fijo...... 58 VIII ´Indice 2.4 Aceleraci´on utilizando el m´etodo de Aitken ............ 58 2.5 Polinomios algebraicos .............................. 63 2.5.1 Algoritmo de Ho¨rner.......................... 64 2.5.2 M´etodo de Newton-H¨orner .................... 66 2.6 Lo que no le hemos dicho............................ 68 2.7 Ejercicios.......................................... 70 3 Aproximaci´on de funciones y datos ................... 73 3.1 Interpolacio´n ...................................... 76 3.1.1 Polinomio de interpolacio´n de Lagrange ......... 77 3.1.2 Interpolacio´n de Chebyshev.................... 82 3.1.3 Interpolacio´n trigonom´etrica y FFT ............ 84 3.2 Interpolacio´n lineal a trozos.......................... 89 3.3 Aproximacio´n por funciones spline.................... 90 3.4 M´etodo de m´ınimos cuadrados ....................... 95 3.5 Lo que no le hemos dicho............................ 100 3.6 Ejercicios.......................................... 101 4 Diferenciaci´on e integraci´on num´ericas................ 105 4.1 Aproximacio´n de derivadas de funciones ............... 107 4.2 Integracio´n num´erica................................ 109 4.2.1 Fo´rmula del punto medio...................... 110 4.2.2 Fo´rmula del trapecio.......................... 112 4.2.3 Fo´rmula de Simpson.......................... 113 4.3 Cuadraturas de tipo interpolatorio.................... 115 4.4 Fo´rmula de Simpson adaptativa ...................... 119 4.5 Lo que no le hemos dicho............................ 123 4.6 Ejercicios.......................................... 124 5 Sistemas lineales...................................... 127 5.1 M´etodo de factorizacio´n LU.......................... 131 5.2 La t´ecnica del pivoteo............................... 138 5.3 ¿C´omo es de precisa la factorizaci´on LU? .............. 140 5.4 ¿C´omo resolver un sistema tridiagonal?................ 144 5.5 Sistemas sobredeterminados ......................... 146 5.6 Lo que se esconde detr´as del comando (cid:1) .............. 148 5.7 M´etodos iterativos.................................. 150 5.7.1 Co´mo construir un m´etodo iterativo ............ 151 5.8 M´etodos de Richardson y del gradiente................ 155 5.9 M´etodo del gradiente conjugado ...................... 158 5.10 ¿Cu´ando deber´ıa pararse un m´etodo iterativo? ......... 161 5.11 Confrontando: ¿directo o iterativo? ................... 164 5.12 Lo que no le hemos dicho............................ 169 5.13 Ejercicios.......................................... 170 ´Indice IX 6 Autovalores y autovectores ........................... 173 6.1 M´etodo de la potencia .............................. 177 6.1.1 Ana´lisis de la convergencia .................... 179 6.2 Generalizaci´on del m´etodo de la potencia.............. 180 6.3 Co´mo calcular la traslaci´on .......................... 183 6.4 C´alculo de todos los autovalores ...................... 185 6.5 Lo que no le hemos dicho............................ 189 6.6 Ejercicios.......................................... 190 7 Ecuaciones diferenciales ordinarias.................... 193 7.1 El problema de Cauchy ............................. 196 7.2 M´etodos de Euler................................... 197 7.2.1 Ana´lisis de la convergencia .................... 200 7.3 M´etodo de Crank-Nicolson........................... 203 7.4 Cero-estabilidad.................................... 206 7.5 Estabilidad sobre intervalos no acotados............... 208 7.5.1 Regio´n de estabilidad absoluta ................. 211 7.5.2 La estabilidad absoluta controla las perturbaciones211 7.6 M´etodos de orden superior........................... 218 7.7 M´etodos predictor-corrector.......................... 223 7.8 Sistemas de ecuaciones diferenciales................... 225 7.9 Algunos ejemplos................................... 231 7.9.1 El p´endulo esf´erico ........................... 231 7.9.2 El problema de los tres cuerpos ................ 235 7.9.3 Algunos problemas r´ıgidos (stiff) .............. 237 7.10 Lo que no le hemos dicho............................ 241 7.11 Ejercicios.......................................... 241 8 M´etodos num´ericos para problemas de valores iniciales y de contorno ................................ 245 8.1 Aproximacio´n de problemas de contorno .............. 248 8.1.1 Aproximacio´n por diferencias finitas ............ 249 8.1.2 Aproximacio´n por elementos finitos ............. 251 8.1.3 Aproximacio´n por diferencias finitas de problemas bidimensionales .................... 254 8.1.4 Consistencia y convergencia.................... 260 8.2 Aproximacio´n por diferencias finitas de la ecuacio´n del calor.............................................. 262 8.3 Ecuaci´on de las ondas............................... 266 8.3.1 Aproximacio´n por diferencias finitas ............ 269 8.4 Lo que no le hemos dicho............................ 272 8.5 Ejercicios.......................................... 273 X ´Indice 9 Soluciones de los ejercicios............................ 275 9.1 Cap´ıtulo 1......................................... 275 9.2 Cap´ıtulo 2......................................... 278 9.3 Cap´ıtulo 3......................................... 284 9.4 Cap´ıtulo 4......................................... 288 9.5 Cap´ıtulo 5......................................... 293 9.6 Cap´ıtulo 6......................................... 298 9.7 Cap´ıtulo 7......................................... 302 9.8 Cap´ıtulo 8......................................... 311 Referencias ............................................... 317 ´Indice alfab´etico .......................................... 321 Programas 2.1 bisection: m´etodo de bisecci´on......................... 45 2.2 newton: m´etodo de Newton ........................... 50 2.3 newtonsys: m´etodo de Newton para sistemas no lineales ... 52 2.4 aitken: m´etodo de Aitken ............................. 61 2.5 horner: algoritmo de la divisio´n sint´etica................. 65 2.6 newtonhorner: m´etodo de Newton-H¨orner............... 67 3.1 cubicspline: spline cu´bico de interpolacio´n ............... 92 4.1 midpointc:fo´rmuladecuadraturadelpuntomediocompuesta112 4.2 simpsonc: fo´rmula de cuadratura de Simpson compuesta ... 114 4.3 simpadpt: fo´rmula de Simpson adaptativa ............... 122 5.1 lugauss: factorizacio´n de Gauss ........................ 136 5.2 itermeth: m´etodo iterativo general ..................... 153 6.1 eigpower: m´etodo de la potencia ....................... 178 6.2 invshift: m´etodo de la potencia inversa con traslacio´n...... 182 6.3 gershcircles: c´ırculos de Gershgorin ..................... 183 6.4 qrbasic: m´etodo de iteraciones QR...................... 187 7.1 feuler: m´etodo de Euler progresivo...................... 198 7.2 beuler: m´etodo de Euler regresivo ...................... 199 7.3 cranknic: m´etodo de Crank-Nicolson .................... 204 7.4 predcor: metodo predictor-corrector..................... 224 7.5 onestep:unpasodeEulerprogresivo(eeonestep),unpaso de Euler regresivo (eionestep), un paso de Crank-Nicolson (cnonestep) ........................................ 225 7.6 newmark: m´etodo de Newmark ........................ 230 7.7 fvinc: t´ermino forzante para el problema del p´endulo esf´erico 234 7.8 trescuerpos: t´ermino forzante para el sistema simplificado de tres cuerpos ...................................... 236 8.1 bvp: aproximaci´on de un problema de contorno unidimensional por el m´etodo de diferencias finitas......... 250