Está en la página 1de 188
NOTAS DE ANALISIS NUMERICO CON MATLAB Luis Eduardo Olivar Robayo Héctor Andrés Granada UNIVERSIDAD DEL TOLIMA FACULTAD DE CIENCIAS DEPARTAMENTO DE MATEMATICAS Y ESTADISTICA 2019 Powered by (@ CamScanner Olivar Robayo, Luis Eduardo Notas de andlisis numérico con MATLAB / Luis Eduardo Olivar Robayo, Héctor Andrés Granada. ~ 1°, Ed. ~- Universidad del Tolima, 2019. 190 p.:ilytablas Contenido: Conceptos basicos — Aritmética del ‘Computador -- Solucién de Ecuaciones no Lineales ~ Solucién de Sistemas de Ecuaciones Lineales — Aproximacién de Funciones a Partir de Datos. ISBN: 978-958-5569-16-4 1. Ecuaciones no lineales - Soluciones numéricas 2. Ecuaciones lineales 1. Titulo IL Granada, Héctor Andrés 519.5, ‘O48n © Sello Editorial Universidad del Tolima, 2019 © Luis Eduardo Olivar Robayo y Héctor Andrés Granada Primera edicion electronica ISBN electrénico: 978-958-5569-16-4 NGmero de paginas: 190 Ibagué-Tolima Facultad de Ciencias Basicas Notas de andlisis numérico con MATLAB Grupo de investigacién Matematicas del Tolima publicaciones@ut.edu.co leolivar@utedu.co Impresién, disefio y diagramacién por PROVEER PRODUCTOS Y SERVICIOS SAS ‘Todos los derechos reservados, Prohibida su reproducci6n total o parcial por cualquier medio, sin permiso expreso del autor. Powered by camscanner Contenido Prélogo .... Capitulo 1 Conceptos Basicos ... 1.1, Conceptos basicos de Matlab 1.1.1. Introduccion a Matlab. 1.1.2. Operaciones con vectores y matrice: 1.1.3. Graficas en Matlab. 1.1.4. Graficos en 2D y 3D. 1.1.5. Programacién en Matlab. 1.1.6. Funciones en Matlab... oe 1.2, Conceptos Basicos Matematico: 1.2.1. Limites, Continuidad y Diferenciabilidad 46 1.2.2. Redondeo. 1.23. Notacién de O mayiiscula y 0 mintiscula eo 67 1.2.4. Orden de convergenci 1.2.5. Multiplicacién anidada (WG Horner 1756-1837). 1.2.6. Sistemas de Ecuaciones Lineales 1.2.7. Propiedades de las Matrices. 13. Ejercicios.. Powered by (@ CamScanner Capitulo 2 Aritmética del computador.. 2.1. Nimeros de Punto Flotante y Error de Redondeo... 2.2. Algoritmo para transformar ntimeros reales a binarios.. 2.3. _Numeros de Maquina Préximos... 2.4, Operaciones con Error de Punto Flotante.. 25. Propagacién del Error... 105 25.1. Andlisis del error de propagacién 105 26. Procesos inestables y mal condicionado: ~106 27. Gercicio: 109 Capitulo 3 Solucién de Ecuaciones no Lineales 113 3.1, Método de Biseccién 15 3.1.1. Interpretacién Grafica 116 3.1.2. Analisis del Error 121 3.2. Método de Newton Raphson. 123 126 127 3.2.1. Interpretacién Grafica... 3.2.2. Fracaso del Método de Newtor 3.2.3. Anilisis de Errores 127 3.3. Método de la Secant 131 3.3.1. Interpretacién Grafic 131 3.3.2. Andlisis de Errores y Orden de Convergencia.. 133 3.4. Ejercicios... 137 Capitulo 4 Solucién de Sistemas de Ecuaciones Lineales .. 139 4.1. Solucién de Sistemas Lineales ......... si amen 141 42. Permutaciones y Matrices Tridngulares 143, 43. La factorizacion LU y la factorizacion de Cholesky 144 Eliminacién gaussiana con pivote Fjercicio: 147 149 Powered by (@ CamScanner Capitulo 5 Aproximacién de Funciones a Partir de Datos... 153 5.1, _Interpolacién Polinomial 5.1.1. Forma de Newton del polinomio de interpolacién 5.12. Elerror de la interpolacién polinomial.. 5.2, Otros comandos en Matlab... wee 159, 160 5.3. Forma de Lagrange para el polinomio de interpolacion 5.4, Diferencias Divididas. 5.5, Interpolacién de Hermite 5.6. Ejercicio: 165 179 Referencias Bibliograficas... Powered by (@ CamScanner tado de figuras Figura 1.1. Editor - Ventana de Comandos.. Figura 1.2. Asignacién de valores... Figura 1.3. Formatos Numéricos..... Figura 1.4. Quitar asignacién de variables. Figura 1.5. Ventana de Ayuda..... Figura 1.6. Tutorial Interactivo. Figura 17. Generando una particién de un intervalo.. Figura 18, Operaciones con las componentes de un vector Figura 19. Matrices y Operaciones con componentes Figura 1.10. Tipos de Graficas... Figura 1.11. Grafica de puntos... Figura 1.12. Dos gréficas en una pantall Figura 1.13. Subgraficas en una pantalla Figura 1.14. Propiedades graficas Figura 1.15. Comando Fill3 Figura 1.16. Comando plot3... Figura 1.17. Comando surf. Figura 1.18. Editor de texto o Script Figura 1.19. Comandos basicos para programar Figura 1.20. Creacién de un Script Figura 1.21. Cambiar de Folder Figura 1.22. Ejecucién del Script Figura 1.23. Creacién de una funcién.. Figura 1.24. Creacién de subfunciones. Figura 1.25. Proporciones con Matlab. Figura 1.26. Bucle Switch - Case......... Figura 1.27. Bucle Try - Catch Figura 1.28. Bucle for. Figura 1.29. Bucle parfor Figura 1.30. Comparacién bucle for con bucle parfor. Figura 1.31. Configuracién modo paralelo Figura 1.32. Comando parfor en modo paralelo Figura 1.33. Bucle While.. Figura 1.34. Ejemplo bucle While. Powered by (@ CamScanner Figura 135. Comando if- elseif else... Figura 1.36. Ejemplo if- elseif -else.... Figura 1.37. Ejemplo Comando break - continue - return ...... Figure 1.38. Grafica de una Sucesié Figura 1.39. Comparacién del polinomio y la Funcién del Ejemplo 1.2.3....58 Figura 1.40. Comparacién entre $ y P del Ejemplo 1.2.4. Figura 1.41. Combinacién lineal de vectotes columna.. Figura 2.1. Representacién de un nimero en punto flotante del Ejemplo 2.1.1 Figura22. _Ubicacién del Numero Redondeado y Truncado de x. Figura 3.1. Cuando f(a) f (c) < 0. Figura3.2. Cuando f (c) f(b) < 0. Figura 3.3. Graficas del ejemplo 3.1.1 Figura 3.4. _ Primer caso fracaso de método Figura 3.5. Segundo caso de fracaso.. Figura3.6. Grafica del Método de Newton Figura 3.7. Fracaso del Método de Newton Figura3.8. Método de la Secante... Figura 5.1. Nodos y polinémio Interpolador... Figura 5.2. Puntos Interpolados del ejemplo 5.2.1 (2). Figura5.3. Error entre interpolacién y exactos del ejemplo 5.2.1 (2).. Figura5.4. Grafica del ejemplo 5.2.1 (3).. Listado de cuadros Cuadro 1.1. Operaciones con los elementos de un vector... Cuadro 1.2. Operadores matriciales. Cuadro 1.3. Funciones y matrices especiales Cuadro 1.4. Estilo de la linea de la grafica . Cuadro 1.5. Operadores relacionales... Cuadro 1.6. Conectivos légicos. Cuadro 2.1. Notacién Cientifica Normalizada. Cuadro 5.1. Datos en general. Cuadro 5.2. Valores del ejercicio 5.1 Cuadro 5.3. Valores del ejercicio 5.1.2... Cuadro 5.4. Solucién del ejemplo 5.1.2 Cuadro 5.5. Valores del ejemplo 5.4.1 Powered by (@ CamScanner Listado de cédigos Cédigo 1.1. Graficacién y generacién de Polinomio de Taylor. Cédigo 1.2. Procedimiento en Matlab para encontrar el polinomio de Taylor. Cédigo 1.3. Procedimiento en Matlab para general el polinomio de Taylor alrededor de un punto. Cédigo 1.4. Graficacién y Comparacién de Polinomio de Taylor... Cédigo 15. Comando Taylor de Matlab. Cédigo 2.1. Transformacién de un Numero entero a Binario... Cédigo 22. Transformacién de un Numero Fraccionario a Binario.......... 96 Cédigo 23. Utilizacién del codigo 2.2 en el Ejemplo 2.3. Cédigo 2.4. Célculo del épsilon de maquina. Cédigo 2.5. Otro cédigo en Matlab para encontrar épsilon.. Cédigo 3.1. Programa de Biseccin Cédigo 3.2. Funci6n para utilizar con el codigo 3. Cédigo 33. Utilizacién del cédigo bisec.m para el ejemplo 3.1.1 Cédigo 3.4. Método de Newton Raphson.... Cédigo 35. Derivada de f del ejemplo 3.2.1 Cédigo 36. Funcién del ejemplo 3.2.1 Cédigo 37. Funcién del ejemplo 32.1 Cédigo 4.1. Solucién de sistema triangular. Cédigo 42. Solucién de sistema triangular. Cédigo 5.1. Interpolacién polinomial.. Cédigo 5.2. Utilizacién del comando de Matlab poly2sym... Cédigo 53. Interpolacién de 200 puntos y graficaci6i Cédigo 5.4. Error en la interpolacién de los 200 puntos. Cédigo 55. Interpolacién de fen 10 puntos y graficacion..... Cédigo 56. Diferencias divididas con Powered by (@ CamScanner Dedicado a mi esposa Aydee, ‘mis hijos y mis hermanos Luis Eduardo Dedicado a Wilson y Luz Marina mis padres Silvana y Juan Esteban mis hijos Erika mi esposa Hector Andrés Powered by (@ CamScanner Powered by (9 CamScanner PROLOGO Powered by (@ CamScanner Powered by (9 CamScanner recuentemente en las carreras de matematicas, ingenierla y ciencias afines nos enfrentamos a problemas en los cuales se requiere resolver un sistema de ecuaciones para el cual es necesario visualizar u obtener su solucién y no se puede hacer por métodos analiticos. Los métodos numéricos nos permiten obtener soluciones exactas o aproximadas y resolver sistemas de ecuaciones entre muchas otras cosas apoyados en un ordenador; ademés de la obtencién explicita de resultados obtenidos por cada método es necesario realizar anilisis tedrico a través de la teoria del error, condicionamiento y estabilidad numérica. El analisis numérico se ha convertido en una rama del conocimiento fundamental para los investigadores en matematicas y matematicas aplicadas y en muchas investigaciones y publicaciones actuales su utilizacién potencia los resultados obtenidos. Algunas de las publicaciones cientificas actuales que utilizan el andlisis numérico como una potente herramienta son: [12, 30] dentro de los problemas inversos, pero también son utilizados en diferentes campos del conocimiento para conocer resultados y para interpretar soluciones como en sismologia [6], 0 en odontologfa [5]. Pero donde se encuentra el mayor niimero de aplicaciones es en las diferentes lineas de la ingenierfa donde podemos encontrar gran niimero de publicaciones como [29, 20] y muchos otros. En particular, como profesores de métodos numéricos y de andlisis numérico por alrededor de 10 afios en los programas de matemiticas con Enfasis en estadistica, ingenierias y afines; en la universidad del Tolima y la universidad Nacional de Colombia nos hemos dado cuenta de la evidente dificultad que presentan los estudiantes de estos cursos porque tienen SY que enfrentar problemas que enmarcan capacidades de programacién, de anilisis y de sintesis al mismo tiempo, esto obliga al estudiante a Powered by (@ CamScanner recurrir a varios libros de programaci 6n, de anilisis matematico y de métodos numéricos, de los cuales algunos son de dificil comprensién, MATLAB escritos en otros idiomas y con altos costos. Y como consecuencia de lo anterior los cursos presenten bajo nivel y resultados poco favorables is numérico con tanto para el profesor como para el estudiante. Estos inconvenientes, nos motivaron a escribir este libro de texto que esta acorde con las necesidades metodolégica y de bajo costo que permita subsanar las dificultades antes mencionadas. Los lectores en general tendran un texto clave de facil comprensin y lo més importante, autocontenido. En un principio lo pensamos para estudiantes de matematicas por su rigurosidad y énfasis en las demostraciones, pero sin dejar de lado la parte computacional y aplicada que en este caso la desarrollamos con el software Matlab R2017b, pero por su cardcter autocontenido puede ser utilizado por la comunidad universitaria en general, o por cualquier persona con interés de aprender métodos numéricos y con algunas bases de matemiticas. Notas dea Porser un libro de texto, los contenidos y resultados en su gran mayoria no son originales, es una recopilacion organizada de diferentes textos y de nuestra experiencia con las notas de clases, los cuales constituyen un material de consulta obligada para los estudiantes, lo que les generara un didlogo directo con los profesores que orienten este curso. Este libro de texto retine los siguientes capitulos: conceptos basico de matematicas y Matlab, aritmética del computador, solucién de ecuaciones no lineales, solucién de sistemas de ecuaciones lineales y aproximacién de funciones. Cada seccién esta acompafiada de ejemplos ilustrativos que permitan la aplicacién directa de la teorla y de esta manera que los estudiantes puedan asimilar poco a poco los conceptos tedricos y adquirir los conocimientos requeridos en su formacién universitaria. Al final de cada seccién aparecen ejercicios propuestos, donde los estudiantes pueden medir el grado de comprensién adquirido. Esperamos que este libro sirva a los estudiantes y en general a la comunidad universitaria con deseo de profundizar en varios de los temas y para enfrentar los ejercicios de otros libros, como el libro de Kincaid (ver 131) A libro de Burden (ver [4] }, el libro del profesor de a un universidad nacional de Bogot4, Mantilla (ver [16]), las notas del profesor Mejia (ver 14 _[18]), 0 uno mas reciente como Ryaben'kii (ver [24]); otros mas aplicados Powered by (@ CamScanner como [20, 7]. Un libro que contiene una gran cantidad de referencias Prologo bibliogrdficas es el deW. Smith [26]. Esperamos que al hacer un riguroso seguimiento de nuestro libro, el estudiante o lector quede en capacidad de resolver los ejercicios de los libros mencionados anteriormente, 0 cualquiera de los libros de métodos numéricos para ingenieria. Este libro se puede utilizar para el desarrollo de un semestre normal con 4 horas de presencialidad y 12 horas de trabajo independiente del estudiante. Agradecemos, inicialmente a la universidad del Tolima por damos la oportunidad de orientar los cursos de métodos numéricos y anilisis numérico por varios afos; de igual forma a las otras universidades mencionadas al comienzo de éste prélogo. También agradecemos al doctor Juan Carlos Mufioz, profesor de planta de la universidad de Valle y quien orienta los cursos de métodos y anilisis numérico a nivel de pregrado y posgrado en su universidad, por habernos revisado inicialmente este libro y hacernos algunas sugerencias para mejorarlo. Por dltimo, a todos los estudiantes que pasaron por nuestros cursos de métodos numéricos y andlisis numérico desde el afio 2001, por su colaboracién y porque muchos de sus aportes y correcciones quedaron reflejadas en este libro. Powered by (@ CamScanner Powered by (9 CamScanner Capitulo 1 CONCEPTOS BASICOS 17 Powered by (@ CamScanner Powered by (9 CamScanner 1.1. Conceptos basicos de Matlab Como lo indicamos en el titulo, daremos algunos elementos basicos para que el lector sin bases en Matlab pueda introducirse en este software y trabajar los ejercicios y ejemplos, los interesados en temas mas completos yavanzados pueden ver (22, 19]. MATLAB es un entorno de computacién técnica que posibilita la ejecucién del célculo numérico y simbélico de forma répida y precisa, acompajiado de caracteristicas gréficas y de visualizacién avanzadas, aptas para el trabajo cientifico y la ingenier'a, La arquitectura de MATLAB es abierta y ampliamente extensible, permitiendo la relacién con Excel, C, Fortran y otras aplicaciones externas muy utilizadas e importantes. El nombre MATLAB viene de la abreviatura, “Laboratorio de Matrices” En la version del software Matlab R2017b, la ventana de comandos o ventana principal del Matlab (ver Figura 1.1) aparece apenas iniciamos el programa. Podemos utilizar el comando ver que brinda informacion de las herramientas que tiene Matlab. 19 Powered by (@ CamScanner MATLAB is numérico con z 20 Figura 1.1. Editor- Ventana de Comandos 1.1.1, Introduccién a Matlab Para asignar valores a las variables se hace de una manera natural como se muestran en los ejemplos de la Figura 1.2. Se puede apreciar que los resultados se pueden visualizar en diferentes formatos; pero por defecto, Matlab muestra los resultados en formatos numéricos cortos “short’, lo que indica que s6lo mostrara 4 cifras decimales. Existen otros formatos como el “rat’, que expresa los resultados como un ntimero racional, el formato “long” que muestra hasta con 16 cifras decimales y si se quiere visualizar una cantidad deseada de digitos se puede emplear la funcién de valor de precision aritmética “vpa’. Otros formatos numéricos que pueden ser empleados se presentan en la Figura 1.3, los cuales pueden obtenerse al escribir en la ventana de comandos “help format.” (ver Figura 1.3) éstos luego pueden ser borradosa través del comando ‘cle’, pero aqui as variables quedan almacenadas como lo muestra la subventana “Workspace’, situada en la parte inferior izquierda de la ventana principal. Ahora, si queremos borrar la asignacién de variables, se emplea el comando “clear all” en la ventana de Matlab, para este caso la subventana “Workspace” quedara vacia. Powered by (@ CamScanner > EBM + Ce Progrmbles » NATLAR > RIOTD > bin > amen Ftser © | commura window 2 Ne = nde, | a ot Deleteclow (cht! ease edt a Frisbee Dimtalaaer Deco Drmecoat mech Sy feos Figura 1.2. Asignacion de valores sts eto onan oats 6 vaulenin d ak par arable asics, seve ese ‘sort (artatt) Forataeeroy orate en go ests 6 pus dca sow Ferns ional ape on 6 te recs ne mE Ua 8 Sante pon esp oe ut etapa vouese inp owt azn ewe ge se 2 igo cepts eure eins os ae dost 17 a cpa opr ccina arabes Se sete ‘ors Fermocira ne ominloreacen arta uaa se mi coma. cor so euro cna nari aries einai a mr on ‘bales oguspas vous ccaie 7 Opts Sos aes Ose ‘sorting Na cepts oa covert un mutplg cen ie tps re let Neand erates a eves ot mutes ce) cen 5 stn nontestce| . Ferma strep con, -1 SENS er SO NEES BSNENOS DEES, repens ee to Feamo0# mores on 20018 destts 08 pu era ten Faoeseractn baba neo bw te ob atin oe eco oe minara nea Figura 1.3. Formatos Numéricos Conceptos basicos 00 So 21 Powered by (9 CamScanner MATLAB 2 H Notas de ai Cuando estamos trabajando en la ventana de comandos, queremos que no se sature con mucha informacién, puesto que al asignar un valor a una variable y al teclear enter, aparecera de nuevo, indicando que la variable ya fue asignada. Para evitar que vuelva a aparecer, podemos finalizar la asignacién con un punto y coma, como se muestra en la Figura 1.4. Command Window 1 Name = ‘New to MATLAB? See resource 01 se maiegity >> clear all |B registry >> ze fe>> Workspace 2 Name = Value jz 3 Figura 1.4. Quitar asignacién de variables © Pata pedir ayuda con alguna funcién podemos digitar en la pantalla de ‘comandos la palabra “help” seguida de la funcién. Por ejemplo, si queremos saber como es la sintaxis de la funcién exponencial, podemos digitar “help exp” como se muestra en la Figura 1.5. New to MATLAB? See resources for Getting Stati. > exp "Eepenential exp (X) 12 the exponential of the elements of x, @ to the x. For complex 2-X+i*¥, exp(Z) = exp(X)* (COS(¥)+i*SIN(Z)). See also expmi, log, 1ogi0, expm, expint. SSE Toreeren- Ted xp S|... 22 Figura 1.5. Ventana de Ayuda Powered by camscanner Al dar click en la pagina de referencia mostrada en la Figura 1.5, podemos encontrar informacién adicional de la funcién exponencial, como sintaxis, argumentos de entrada y de salida, graficos y ejemplos. Con la tecla F1 podemos encontrar una ventana interactiva que le proporciona al aprendiz un tutorial sobre los conceptos basicos para iniciar en Matlab, la ventana interactiva se muestra en la Figura 1.6. ee CSa MATLAB MATLAB® is the high-level language and interactive environment used by millions of enginoers and scientists worldwide. The matrix-based language is a natural way to express computational mathematics Getting Started with MATLAB Functions in MATLAB Release Notes Installation My Produets Edit Preferences een Hel Boars Fw tpg fou cane cove Figura 1.6. Tutorial Interactivo Para iniciar se recomienda que el lector interactie con las opciones “Getting Started with MATLAB’, el cual le ensefiara los elementos basicos del escritorio, definir matrices y arreglos, variables en el Workspace, trabajar con texto y caracteres, realizar llamado de funciones, graficas en 2D y 3D, elaboracién de programas y scripts, finalmente mostrara ayuda y documentacién, todas las funciones tienen documentacién de respaldo. En la opcién “Functions in MATLAB", se muestran todas las funciones internas del Matlab por orden alfabético o por categoria. También puede consultar la pagina web de Matlab [17]. wt 23 Powered by (9 CamScanner 1.1.2. Operaciones con vectores y matrices Para generar una particién del intervalo /a, 6/ mediante un vector conformado por N puntos equiespaciados del intervalo, se puede proceder de la siguiente forma: 1. Emplear comando linspace. b-a 2. Secalcula Ax = como incremento. Notas de anilisis numérico con MATLAB En la Figura 1.7 se calcula la particién del intervalo [2,5] en 10 puntos equiespaciados de las dos formas. Norn emenetr isis Figura 1.7. Generando una particién de un intervalo ‘Operacion Descripcién x(n) Elemento n-ésimo de x x (a:b) Elementos de x situados entre el a-ésimo y b-ésimo 3(a:p:b) Sepatados de a p posiciones iniciando con a, (a < b) x(b: pea) Separados de a — p posiciones iniciando can b (a > sun23 noo 2 3 pnzsse7 es oa 3 ea 8 A A» / (a) Definiendo Matrices (b) Operando con las componentes de xy Matrices Figura 1.9. Matrices y Operaciones con componentes 25 Powered by (@ CamScanner MATLAB is numérico con Notas dea 26 Matlab puede operar con matrices por medio de operadores como suma (+), producto (*) y traspuesta (’),y funciones como invertiriny( ).En la Tabla 1.2semuestran|os operadores(u operaciones) matricialeselementales con su respectiva descripcién, donde A(i, j) es la componente de la matriz A que esta en la fila ‘y la columna/, por ejemplo en la Figura 1.9(b) se tiene A(3, 2) = 0. Yen la Tabla 1.3 se presenta la sintaxis de algunas funciones y los comandos para generar matrices especiales. Estos operadores se aplican también a las variables o valores escalares, aunque con algunas diferencias Todos estos operadores son coherentes con las correspondientes operaciones matriciales, no se puede, ejemplo sumar matrices que no sean del mismo tamafo. Si los operadores no se usan de modo correcto se obtiene un mensaje de error. ‘Operacion Descripcién A+B Suma A-B Resta A*B Producto usual A.*B Producto por componentes 4 (i,j) *B (i,j) A\B inv (A)*B A.\B Bij) /A CI) A/B A *inv (B) A/B AMY /BAL Aon Potenciaci6n usual A.AB AG i At Transpuesta Cuadro 1.2. Operadores matriciales, Funcién Descripeién diag (A) Extrae la diagonal ded det (4) Determinante de 4 inv (A) Inversa de A trace (A) Traza de 4 Powered by (@ CamScanner Funcién Descripcién expm (4) Matriz exponencial de 4 ‘Conceptos basicos og (A) Matiz logaritmica de 4 eye (mn) Matiz con unos en la diagonal zeres (mn) Matiz nula ones (mm) Matiz de unos rand (mn) Matiz aleatoria con 0 <4, <1 magic (n) Suma de filas, colummnas y diagonal constante Cuadro 1.3. Funciones y matrices especiales Figura 1.10. Tipos de Graficas 1.1.3. Graficas en Matlab Matlab ofrece una gama amplia de opciones a la hora de realizar ¥ j representaciones gréficas. Entre ellas curvas planas y superficies, las representaciones de funciones pueden realizarseencoordenadasimplicitas, 27 Powered by (9 CamScanner Notas de anilisis numérico con MATLAB 28 explicitas y paramétricas. También permite realizar grificas de barras, lineas, estrellas, histogramas, poliedros, mapas geograficos y animaciones. Algunas de las gréficas que se pueden realizar aparecen en la Figura 1.10. El comando plot (X, ¥, S) grafica los puntos (X,Y), siendo X;¥ € R's con las funciones defnidas en S'mediante digitos entre comillas,el primero de los cuales fija el color de la linea del grafico y el segundo fija el caracter a usar en el grafico. En la Tabla 1.4 se muestran las opciones que se pueden definiren S. 1.1.4. Graficos en 2D y 3D Para acceder a la ayuda de los gréficos bidimensionales, se puede introducir el comando “help graph2d”. En lo que sigue se mostraran varios ejemplos que permiten practicar los graficos en Matlab Ejemplo 1.1.1. En la Figura 1.11 se presentan los gréficos de los puntos (1,2), (1, 0), (3, 1) y (2, 3) al utilizar varias configuraciones de la Tabla 1.4. Ejemplo 1.1.2. En la Figura 1.12 se presentan los gréficos de las funciones ¥1 = sin(X) y ¥2 = cos(X) en el intervalo [-x, z). Ejemplo 1.1.3. Para generar subgriificas en una sola pantalla gréfica se utiliza el comando subplot(m, n, v), aqui se genera una matriz de tamaho m x ny se reserva las posiciones asignadas en el vector v para originar el gréfico de cada subfigura. La Figura 1.13 muestra una matriz de tamaro 2 * 3, asignando los espacios 3 y 6 de la matriz para realizar el grafico ‘mediante el comando subplot(2, 3, (3 6]). Simbolo Color Simbolo ‘Marcadores y amarillo : puntos m magenta ° circulos c cyan x x r rojo + + verde = azul s cuadrados Powered by (@ CamScanner diamantes triéngulo apuntando arriba tridngulo apuntando abajo trigngulo apuntando derecha triangulo apuntando izquierda estrella de 5 puntas estrella de 6 puntas ‘Cuadro 1.4. Estilo de la linea de la grafica : ewe NATLAN ero Sia Renesas: Deu ons ew eMBTLA Sess GaSe Beers Figura 1.11. Grafica de puntos 29 Powered by (9 CamScanner xepa:0.01:pi p> ¥iesan [X); >> Y2=c08 [X) : plot ,¥2,'r*) >> hold on >> plot (%,¥2, "k") OGUs ®|XQTORA 1 Notas de analisis numérico con MATLAB. Figura 1.12. Dos gréficas en una pantalla OGHS/ | SA0deK- |B 08\a0 1 1 1 subplot (2,9,1) 9.5] subplot (2,3,2) subplot (2,3, 13 61) 05 supiot (2,3,4) 9§| suppi0t(2,3.5) 49 Figura 1.13. Subgraficas en una pantalla Powered by (9 CamScanner Podemos realizar varias gréficas ubicadas en pantallas diferentes, mediante el comando figure, también dar nombre a los ejes, con los comands xlabel y ylabel, para agregar una leyenda a una pantalla grafica Conceptos bisicos que tiene varios gréficos se emplea el comando legend, y se puede dar un titulo a un grafico con el comando title. También se puede controlar el valor maximo y minimo en X’y en Y con el comando axis, agregar una cuadricula a la grafica con grid, Como lo veremos en el Ejemplo 1.1.4. Ejemplo 1.1.4. Las dos primeras lineas de comandos que aparecen en la Figura 1.14 permiten obtener dos ventanas gréficas, sobre la variable fi le asignamos una ventana gréfica de color rgb y con nombre Pantalla Grdfica 1 sin numeracién, y de forma anéloga se hace con f2 de nombre Pantalla Gréfica 2 y de color blanco. Posteriormente, se hace una particién regular de 100 puntos sobre el interval [-1, I] y este vector lo asignamos a Ia variable x. Procedemos a generar las funciones y, z y w, se abre la ventana gréfica fi y sobre ella se genera una matriz de subgrificos de tamaho 2 x 2, en el primer espacio, se hace referencia mediante subplot(?,2,1) y se grafica la funcién y de color negro con lineas a trazos, con un ancho de linea de 2 puntos. Seguimos con el subplot(2,2,2) en el cual se grafica la funcién z con circulos azules, finalmente en el subplot(2,2,[3 4]) se grafica la funcién w de color rojo. Figura 1.14, Propiedades graficas Lego se abre la ventana grafic f2y sobre ela se graficalafuncién w de color negro, con el comando hold on se pega sobre este gréfico la otra funcién y de color rojo, con el comando legend colocamos en orden las respectivas 31 Powered by (@ CamScanner Notas de anilisis numérico con MATLAB 32 Junciones, como se muestra en la leyenda de la ventana f2, con xlabel y ylabel colocamos los nombres a los ejes coordenados, con title podemos colocar un titulo en el grafico, ademds el comando axis permite controlar los rangos de los ejes en los cuales se quiere ver el gréfico, el comando grid on genera una malla y el comando text, permite ingresar textos dentro del grafico, iniciando en las coordenadas deseadas. Para acceder a la ayuda de los graficos tridimensionales se puede introducir el comando “help graph3d”. Los comandos més empleados para hacer superficies y curvas en RY son fill3, plot3 y surf, para entender cémo funcionan mostraremos algunos ejemplos. Ejemplo 1.1.5 (Comando fill3). El comando fill colorea el interior de un poligono, utilizando este comando, podemos realizar el gréfico de un plano en 22. B? por ejemplo, para graficar el plano dado por la ecuacién z = 1. Primero debemos delimitar el plano dando coordenadas en 2>. 3 >> aia >> figure (ane! b> es23 (eyez, b> mabe (Ox >> yiaper'y") >> zlabel (12!) -8 068 9.8)) FU dal comands Fd = ‘le Edt Wew inet Tools Destiop Window Hep» >> eaele ("plans 2-1") OSes l/k|AV.G9ec- 8/0" Bee plano z=1 Figura 1.15. Comandb Fill3 Powered by (9 CamScanner Ejemplo 1.1.6 (Comando plot3).£] comand plot3 es similaral comando plot y nos sirve para graficar curvas en R°. 8° Por ejemplo, para graficar la curva parametrizada por 1 € [0;10] con ecuaciones x(t) = 2*cos(i, x(t) = 2 * sin(t) y =() = 2 * cos(t) podemos realizar los comandos que se muestran en la Figura 1.16. Conceptos bisicos Command Window ‘Mew to MATLAB? See resources fer Gating Stare 30,100); >> figure ‘Mane’, Uso dei conando plov3', 'tunbesTitle', 'of£*,*soler'y[1 1 1+ >> plots (x92, "E's >> xdabel (x!) >> ylaben ('y') apr [negalessooesia/o* Figura 1.16. Comando plot3 ‘ Ejemplo 1.1.7 (Comando surf). £1 comando surf nos permite graficar superficies en R, Por ejemplo, para graficar la superficie generada por la sin (Vx ty +0.5) ecuacién = = con dominio [-8, 8] * [-5: 5] lo podemos Way t0.5) realizar con los comandos que se muestran en la Figura 1.17. Donde el comando meshgrid nos da como resultado dos matrices xy y que representan el mallado del dominio. 33 Powered by (9 CamScanner Command Window New to MATLAB? See rexcures for Geting Saris >> wamuanspace(-£, 8,20); >> ylsLinepace(-5,§,20) >> Gxsyiemeshgria(el yl) + >> Reoaee (x. “247. "2) $0.57 >> znain(R) /R: >> zlabel ("2") fos MATLAB is numérico con acecolor', (0 © 0.2] Notas dea jura 1.17. Comando surf 1.1.5. Programacion en Matlab Matlab puede utilizarse como un lenguaje de programacién de alto nivel que incluye estructuras de datos, funciones, instrucciones de control de flujo, manejo de entradas/salidas e incluso programacién orientada a objetos. los programas de Matlab se escriben en archivos conocidos como M-ficheros. En los M- Ficheros podemos ejecutar una serie de comandos © funciones que aceptan argumentos de entrada y producen una salida. Estos se crean empleando el editor de texto o Script (ver Figura 1.18), en este editor de texto aparece una numera n por cada renglén empleado, la cual permite identificar los errores que se muestran en la ventana de comandos. Los comandos més utilizados para programar se muestran en la Figura 1.19. Los scripts con los M-ficheros mas sencillos no tienen argumentos de entrada ni de salida, simplemente estén formados por instrucciones XL awe se eecutan secuencialmente y que podrian escribirse igualmente desde la ventana de comandos. Los scripts operan con datos existentes 34 ened espacio de trabajo o con nuevos datos creados por el propio Script. Powered by (@ CamScanner Sobre la pestafia de un Script aparece el nombre Untitled, lo cual indica que no ha sido guardado, y para poder ejecutar las instrucciones, debemos guardarlo en una carpeta y ejecutarlo con el comando Run (ver évalo azul) de la pestatia EDITOR del Matlab (ver évalo rojo) de la Figura 1.20. ‘Conceptos > BB Dh > C > ProgramFiles » MATLAB > RQDITE > bin > CunentFolder OI Name = Tl @ hh mavegery — | @ hb regity wel ib wins wines Bi deploytootoat “edt |) ledataxsd See Steen | Sommand Widow A matiad.cce New to MATLAB? See resources for Getting Started. roan Brest >> aie 7 Figura 1.18. Editor de texto 0 Script Flujo de Control Declarscionescondisonaloe, bls, remifearin Sintaxis de! Lenguaje MATLAB iF, elseif, else jecutar decaracones sia concen es vercacera for Buti for en sere, para rept un numero especiicado do veces perfor ‘ce for en paraeo switch, case, otherwise — Ejecuta una de un grupo de varias declaraciones ry, catch Eyecuta decaracones y detecia eres resultantes while 1 bucle while para repair cuando la condicién es verdadera reat Taxmina la eecubién Ge is bulos for while continue asa el conic ala siguienle teaciin de las bules foro while end Tormina ol blaque de digo 0 nda oie ince do una matiz pevse Detiene la eecucion de MATLAB tempocalmente = —— ™ Figura 1.19. Comandos basicos para programar 35 Powered by (9 CamScanner Notas de anilisis numérico con MATLAB 36 Figura 1.20. Creacién de un Script |) File DADATOS\Desktop\ensayo\Script1m is not found in the AD Carvent folder oron the MATLAB path Torun thisfile, you can ether change the MATLAB current felder or add it folder to the MATLAB path, [CetangeFeder] (Aastra ) (cancel ] (_He Figura 1.21. Cambiar de Folder Las instrucciones numeradas hasta el renglon 9 pueden ser ejecutadas al dar click sobre el Item Run. Por primera vez, aparecera una ventana con el nombre Select File for Save As, en la cual, podemos colocarle el nombre al Script (ver évalo naranja), es importante no modificar la opcién del item Tipo. Finalmente, buscamos la carpeta en la cual queremos guardar y le damos click en Guardar, posteriormente, apareceré una ventana como la que se muestra en la Figura 1.21, que al darle click en la opcién Change Folder ejecuta el codigo del Script como se muestra en la Figura 1.22. Note que se ha ubicado la ruta donde se guard6 el Script (ver évalo rojo) con el nombre que hemos puesto previamente (ver évalo naranja). Powered by (9 CamScanner 1.1.6. Funciones en Matlab Matlab ademas de poseer funciones predeterminadas, tiene la opcién para definir funciones, estas se realizan en M-ficheros con el comando function, precedido de los argumentos de salida, el nombre de la funcién Conceptos bisicos que deseamos crear, y es el mismo con el que se especifican los argumentos de entrada, esta funcién deberd guardarse en una carpeta de trabajo y puede ser empleada por otro Script 0 M-fichero que se encuentre en la misma carpeta, Es necesario que figure la ruta de la carpeta donde se guardé la funcion y el nombre de la funcidn debera ser el mismo con el que se guarde el Script. También se puede utilizar el comando pwd, que nos informa en qué ubicacién, dentro del sistema de archivo, estamos trabajando. Figura 1.22. Ejecucién del Script Ejemplo 1.1.8 (Creando una funcién). En la Figura 1.23 se muestra la construccién de una funcién llamada ejemplot, que dados 2 niimeros reales x, yx, calcule su promedio aritmético. Al guardar el Script con el nombre de la funcién (ver évalo rojo), podemos ejecutar la funcién desde la ventana de comandos, previamente se ubique la ruta de la carpeta donde se guardé la funcién (ver ovalo azul). Para crear subfunciones dentro de un Script, se debe iniciar con la funcién principal que llevara el nombre del archivo, esta emplearé las subfunciones y deben iren la parte de abajo del mismo M-fichero como se muestra en la Figura 1.24. 37 Powered by (@ CamScanner MATLAB is numérico con g 2 38 11 Bucles y Comandos Basicos de programacién El uso de funciones recursivas, condicionales y definidas a trazos es muy comin en matematicas. Para la definicién de este tipo de funciones es necesario el manejo de los bucles basicos de programacién (ver la Figura 1.19). En la tabla 1.5 se muestran los comandos para trabajar con las relaciones de equivalencia y de orden. En la Tabla 1.6 se presenta la sintaxis para trabajar con los conectivos. Estas tablas nos permitiran construir proposiciones simples y compuestas como se puede ver en la Figura 1.25, las proposiciones son utilizadas en los bucles. 4 Tfancricn y ~€femeaoDiat, 22) Scien 2- | ytaienty72 >> egenpter (2,4) Figura 1.23. Creacién de una funcién pee TH > D: > DATOS » Destop > exsno ©) [df Eater D101109Destopneyapmp tm a3 son prpromedio(xin2) 7“ petniraay/2 Hen to NATLAB? Set resources fer Sting Stet >> (ey s]sereM@02 3,2, Figura 1.24. Creacién de subfunciones Powered by (9 CamScanner Operador Descripcién < Menor que Conceptos bisicos = Menor o igual que vy Mayor que >be Mayor o igual que -- Igual ~* Diferente a Cuadro 1.5. Operadores relacionales Operador Funcién Equivalence AGB and (A.B) AIB or (AB) -A not (4) Cuadro 1.6, Conectivos lgicos 1.1.7.1. Bucle Switch-Case-Otherwise El bucle Switch-Case-Otherwise sirve para ejecutar un segmento de cédigo al cual llamaremos Caso, este se ejecuta cuando sea llamado o la condicion que satisface dicho caso se cumple. Un ejemplo de este bucle se puede ver en la Figura 1.26. 1.1.7.2. Bucle Try-Catch Se usa para probar si cierto comando en el cédigo genera un error, si el error se produce dentro del bloque try, Matlab salta inmediatamente al bloque catch. En la Figura 1.27 se muestra un ejemplo de este bucle. Dadas dos matrices A y B, si las matrices son compatibles se realiza el producto, de lo contrario muestra un mensaje informando que el producto no se puede realizar y da como resultado Naw, que significa que el resultado No es numérico!, Notese que a pesar que el producto no se puede realizar, se puede seguir con las demas lineas del codigo, en caso de que existan, sin SH que se salga del programa. 39 Powered by (@ CamScanner MATLAB is numérico con g 2 Flfunction yrowitek case (opcien) pp:enieah coume(idee!) 1 cpoiin 2 uno 0 doo eacen Lover (opeisn) -_ dtsp('ts opcién es uno 9 dos!) >> stech_cage(*cuatzo!) He seleccionade cera epeién ‘@lep('Ra selecetonada cers opesén') Uf wasthn «TE 1 (ifunceton eerey_sateh Rs) 2- Gey ce >> ery catch (A,B) 6 = | diap(*ise matrices no son compatsbleat) 3 « >> tEy_caten (B.A) las matrices no scn compatibles Figura 1.27. Bucle Try -Catch Powered by (9 CamScanner oterm * | | New te MATLAB? See resources for Gettina Stated, 1 iguneticn s=ciele for (M) 5; etna ax8-9F 2- jan ~ 3 [igor measaew one = a- zetzzkl: 2 S- Mend 4 >> ciclo_for(6) fe >> Figura 1.28, Bucle for 1.1.7.3. Bucle for Se emplea para formulas de recurrencia, donde for k=a.:p: bindica que la variable k se incrementa cada vez en p unidades desde a hasta llegar a b cada vez que termina las lineas de cédigo internas en el bucle for. El Script de la Figura 1.28 muestra los nimeros pares 2 > for s=1:5,a,end Figura 1.30. Comparacién bucle for con bucle parfor 42 Powered by (@ CamScanner Conceptos bisicos SS cn ad | See | sane cn teres wun tacnesnesweros() ood pee eet may cans pu yon on ns ep og to ee ee) Figura 1.31. Configuracién modo paralelo En la Figura 1.32 se presenta una comparacién de los bucles for con el parfor, donde al configurar el modo paralelo con 4 trabajadores, el bucle parfor realiza la misma actividad que el bucle for con menor tiempo de calculo. Para el trabajo de prueba se crea un vector a de 100 componentes ® con aff) = mex Oyen)» donde Magic(104) es una matriz magica de tamafio 0k, cuya suma por diagonales, filas y columnas, es igual a una constante, @, representa el conjunto formado por los médulos de los valores propios o(4) de la matriz A. 1.1.7.6. Bucle While En la Figura 1.33 se presenta la sintaxis del bucle while, el cual permite ejecutar de forma repetitiva un comando o grupo de comandos, un niimero determinado de veces para mientras se cumpla una condicién légica especifica. En la Figura 1.34 se presenta una funcién que permite reescribir un vector dado de la Ultima componente a la primera. Notese que para realizar comentarios se puede utilizar el simbolo %. Powered by 43 camscanner MATLAB is numérico con g 2 44 Ws Ea Ea al a0 - ut Clwnsie 299 [Bf Ester -DADATOD\Desitopensayesicice pacer le porn “jrunction ekele perfor a= Csr eets100 (ej -max [eg (magic (20°%))) + > Clpartor wet+i00 ao- (ej -max [ei (magic (20°K))) 5 = ezetos: as- rater 22) to MATLAB! See resources fox Geng Sed Parallel pool using the ‘Iocal’ profile is shutting down. Starting paraliel pool (parpoot) using the ‘local* profile... >> ciclo partor 4 Figura 1.32. Comando parfor en modo paralelo while Condicién Comandos. . . end Figura 1.33, Bucle While {ie Gleina componente © ia primera petengen (x) = wor velyex(ene) 15 (end) rlengeh (x) ea. Figura 1.34. Ejemplo bucle While Powered by (9 CamScanner if condicién if condicién Comandos... if condicién elseif Condicién 1 Comanaos. caemaietcs) Mid Comandos.. en elseif Condicién 2 e Comandos. . . Conceptos ba — Comandos. alee Comandos... end Figura 1.35. Comando if- elsef-else 1 [function mejemplost (a,b) 2 [ses el mayor de dos nunercs 3- jit ae ae ma: s- | cise 6 mb: 7- lend By Eeitor- DADATOS\Desttop\encayos\ejemplosicetim | demploetseitm x | + | 1 Flfunction mejempioelseit (a,b, ©)| ‘mes el mayor de trea nuneros - | ar ap = | eaveit poe br = | eise New to MATLAB? See resources for Getting Stated, >> ejemploeiseif(3,pi, cart (29) Figura 1.36. Ejemplo if- elseif else 1.1.7.7. Comandos if - elseif- else En la Figura 1.35 se presenta la sintaxis de los comandos if, el cual permite ejecutar una serie de comandos mientras se cumpla la condicién dentro del comando condicional if. También se puede condicionar dentro de un comando if, para esto se utiliza el comando elseif que realiza los comandos internos mientras se satisfaga la condicién. El comando else (de lo contrario) permite ejecutar las siguientes lineas de comandos sino se satisfacen las condiciones especificadas en los anteriores if o elseif. En la Figura 1.36 se muestran dos ejemplos del uso de los comands if, elseif y else para calcular el numero mayor de dos y tres nimeros dados. 45 Powered by (@ CamScanner MATLAB is numérico con 2 wat 46 1.1.7.8. Comandos return - break- continue break: Sale del bucle en el que aparece (for o while). En bucles anidados, el control pasa al siguiente bucle exterior. Dunster arse btn Figura 1.37. Ejemplo Comando break - continue - return continue: Omite las declaraciones restantes en el bucle actual (for 0 while). El control pasa a la siguiente iteracién del mismo bucle. return: Se emplea en cualquier parte. Inmediatamente sale de la funcin en la que aparece, retorna al llamado de la funcién. En la Figura 1.37 se presenta un ejemplo del uso de los comandos break, continue y return. Para ello,dadoun niimeroacomoargumento de entrada, sielnimeroa<0empleaelcomandoreturnparasalirdelafunciénsinejecutar el bucle, En el caso que a > 0) se genera aleatoriamente un niimero entero 5€2{1.....10} yse hace una actualizacién para a =a + J, posteriormente entrar en el bucle while, dentro de este se preguntara sia <= en caso que no lo sea (else) se muestra un mensaje de texto con el comando sprintf del Ultimo némero aleatorio generado s y se ejecuta el comando break que terminaré con el programa sin ingresar més al bucle. En caso contrario, es decir a >= 5 se generaré un listado de los valores que satisfacen a >= s donde s y a se estan actualizando cada vez que se ejecuta el bucle while. 1.2. Conceptos Basicos Matematicos 1.2.1, Limites, Continuidad y Diferenciabilidad Los interesados en las demostraciones de este capitulo, que son fundamentales para el desarrollo posterior del curso las pueden ver en los Powered by (@ CamScanner libros (1, 27]. Aqui se plantean como ejercicios de repaso fundamental. También referenciamos el libro de célculo de Leithold para ejercicios de esta seccidn [14]. Conceptos bisicos Definicin 1.2.1. 1. Una sucesién de ntimeros reales (0 simplemente una sucesién), es una funcién f : N + B; que a un numero natural n le asigna un numero real denotado como a, ; esta funcién escrita como conjunto de parejas ordenadas es fay), Qaay)oo (na Joo} y este conjunto lo escribimos de forma resumida £4), dy yo denotamos por fa, },., (0 (a, 3). 2. Dada una sucesién fa, } de nimeros reales, una serie infinita de ntimeros reales (0 simplemente una serie), generada por {a, }, es una sucesién {s, } definida por 5 = y 8, = 8,44, (=a,t+a,) = yt a (Hat ayt.. ta) Los ntimeros a, son llamados los términos de la serie y los ntimeros 5, son llamados las sumas parciales de la seri. Si Jim s, existe (esto es sila sucesién {s, } converge) decimos que la serie es convergente y lamamos este limite la suma o el valor de esta serie, Si este limite no existe, decimos que la serie (3, } es divergente. Se utiliza la notacién Yan o y an, (1.2.1) para denotar la serie generada por la sucesi6n fa, }, y cuando la serie m= lim Sn, en el caso que exista el limite. Asi los simbolos (12.1) puede ser considerado como una forma de mostrar \¢ 9 una serie, que queremas saber si converge o diverge. Puede consultar mds sobre series en [23]. 47 Powered by (@ CamScanner 3. Sitenemos funciones definidas en los reales de la forma f(x) = a,(x-c) *, con a, € R paran = 0,1... podemos hablar de la sucesién de funciones { f.(x)}, (0 simplificada {f }) y por lo tanto, podemos formar la serie de funciones ¥:f,(x) 0 >:f,, Esta serie se conoce como una serie de potencias alrededor del punto x = c € R. Esto es > ala - 0)" n=0 Sic = 0 entonces Notas de anilisis numérico con MATLAB & anal" = ay ayxt anx” +--+ nxt n= 1 Sila sucesion {|an|"} acotada, establecemos p = limsup(|anl*); si esta sucesién no es acotada establecemos p = © . Definimos el radio de convergencia 1/p por 0 si p=a, I — si 0 0 existe un 6 > Otal que S10 < |x-al < 8 implica que | f(x) —a| < ©. a 2. Decimos que una sucesién fa,} tiene un limite « cuando n tiende a 48 infinito, en simbolos Powered by (@ CamScanner lim ay, = 4, 0a) a ne si para todo £ > 0 existe N € N tal que Conceptos bisicos sin> N implica que \a,—a| <€ Teorema 1.2.1. 1. El limite si existe es unico. 2. Elimite de una suma o resta de funciones 0 sucesiones es la suma 0 resta de los limites de las respetivas funciones o sucesiones, siempre que estos limites existan. En simbolos: si lim f(x) = a1, lim g(x) = a2 entonces lim( +g (x)= lim f(x)+ lim g(x) = «1 + a2. De forma similar para sucesiones. * + (nay) Figure 1.38, Grafica de una Sucesion 3. Sidesunniimerorealfijoy im f(x) = De forma similar para sucesiones. entonces lim 2 f(x) = ha 4. Ellimite de un producto de funciones 0 sucesiones es igual al producto de los limites, siempre que ests existan; y el limite de un cociente SY de funciones 0 sucesiones es igual al cociente de los limites, siempre que la funcién del denominador o sucesién sea diferente de ceroy 49 Powered by (@ CamScanner los limites existan. Luego si jim fa) 7 1, lim g(x) = @2, entonces tim( fo) g(x)) = are2 Y lim(f(x)/ g(a) = 41/42. De forma similar para sucesiones. Omitimos la mayoria de demostraciones de esta parte por no ser el objetivo principal de este libro de notas, pero para las demostraciones referimos al lector a los libros [1, 27] Definici6n 1.2.3. Decimos que una funcién f : A C RR, es continua ena € A si lim f(x) = fla), y por la definicion 1.2.2, decimos ques: A C RK es continua en a & A, si para todo & > O existe un 5 > 0 tal que Notas de anilisis numérico con MATLAB si |x-a\ <8 implica que | f(s) - f(@)\ <«. Cuando f es continua en todos los puntos de A decimos que f es continua. Nota 1.2.1. Claramente las sucesiones no son continuas. Se deja como ¢jercicio demostrarlo. Teorema 1.2.2. (Continuidad por Sucesiones). Una funcién f: A C RR, es continua en a & A siy solo si dada la sucesion {a,} en A cona, —-a entonces {f (a,)} converge a f(a). Demostracién. Ejercicio. Del teorema 1.2.1 podemos deducirel siguiente teoremadecontinuidad de funciones: Teorema 1.2.3. La funcién constante, la suma, resta, producto, cociente de funciones continuas, es continua. Demostracién. Ejercicio. Nota 1.2.2. x y 1. No mencionamos el caso de continuidad del producto de una constante por una funcién, porque es un caso particular del producto 50 efunaones Powered by (@ CamScanner 2. Una funcién polindmica (0 polinomio) la definimos asi: dados a, 4, ..., a, nlimeras fijas en los reales, y x una variable real (no fija) tenemos Conceptos bisicos » AG) = at ayxt + ay + ax" = Yair! Fe Luego un polinomio es una funcién formada por sumas y productos y por el teorema 1.2.3 es continua. Teorema 1.2.4. (Teorema de Valor Intermedio). Si fes continua en el intervalo cerrado Lab] yf (a) 0 para todo a € A, entonces fes creciente en 4; si f (a) < 0 para todo a € A, entonces f es decreciente en A Teorema 1.2.12. Una serie de potencias puede ser derivada término a término en su intervalo de convergencia. Esto es si Sx) = ¥, ayx", entonces f(x) = Y nayx"', para |x| < R. c= m= Estas nuevas series tiene radio de convergencia R. Teorema 1.2.13. (Fundamental del C4lculo). Sea fintegrable en a,b), definamos F sobre [a,b] por Sy F(x) f “finde 53 Powered by (@ CamScanner Sif es continua en c € [a,b], entonces F es diferenciable en c; y F'(c) =f (0). Sic = a0 b; entonces F'(c) se entiende como la derivada a la izquierda o a la derecha de F)) El siguiente teorema es de suma importancia en el anélisis numérico, su demostracién la podemos ver en [13]. Teorema 1.2.14. (Teorema de Taylor con la formula de Lagrange para el residuo). Si fE €* ([a,b]) y sif existe sobre el intervalo abierto (a,b) entonces para puntos cualesquiera c y x en [a,b] existe un punto & entre cy x conc +x tal que Notas de anilisis numérico con MATLAB a 1 f= ¥ Lok f (e)(x- 0) + En (x) (123) donde En (x)= SOO Ex-o) (1.2.4) ee 1)! Demostracién. Sea P un niimero real definido por la relacién et! ‘ ¢e ) ae P= f(a)- [ro DIO Ge ey oot FO u-o"| é (1.2.5) esto es (eo)! = fn- SLM (Oxo arp =O) ye ()(x —0) y consideremos la funcion g definida en J = [a,b] por nl eo) = F)-tF(O+ _ ptt teen oy (1.2.7) (x- OF + (x- 1)" MF —claramenteg escontinua enJporqueeslasuma de funcionescontinuas 54 _ diferenciables; por lo tanto, tiene derivada en (a,b), Se puede verificar que Powered by (@ CamScanner 0 (%) = Oy 9 (c) = 0 utilizando (1.25) en (1.2.7). Por el teorema de Roll, existe un punto € entre cy x tal que @' (é) = 0. Calculamas ¢ utilizando el teorema 1.2.12, obtenemas la serie telescdpica. Conceptos bisicos FO Gos -y © yr! oO = AfO-sO+ (n+! ws) LOO yt Foot (128) 1g)

10°. Un cdlculo con tal presicién requiere un polinomio con cien millones de términos. Xx y Corolario 1.2.15. Si P (x) representa la parte polindmica de grado n del teorema de 56 taylor, entonces Pi (x,) = f(x,) con k = Out Powered by (@ CamScanner Demostracién. La parte polinémica del teorema de Taylor es -ylyo — x9) Pax) dat (o)(a~ 30) (1217 Conceptos bisicos que es igual a 14 PalX)= f0)+ YF o)a- x0)", oat (1.2.18) claramente tenemos que p,(x,) = f (x,). Derivando p,(x) en (1.2.17) tenemos pila) = Plays 2F COE 30) + Sh eax xo)" (1.2.19) utilizando (1.2.19) se tiene que p’, (x,) ="(X,) y por induccién sobre nllegamos a que nbf(x0) ph (x0) = fo) (1.2.20) yse verifica que p” (x) =S(x,) Definicion 1.2.5. El polinomio que aparece del teorema de Taylor se llama polinomio de Taylor y cuando c = 0 se llaman polinomio de MacLaurin. Ejemplo 1.2.3. (Ejemplo en Matlab). Utilizar comandos de Matlab para graficar la funcién f = encontrar el polinomio de Taylor y graficar junto 1 5+ 4cos(x)” con la funcién Un procedimiento realizado en Matlab es cédigo 1.1 en él se muestra como se introducen los comandos exactamente, y podemos ver la gréfica SY resultante en 1.39. 57 Powered by (@ CamScanner Palinomlo de Taylor Ve Funcién Notas de anilisis numérico con MATLAB Figura 1.39. Comparacién del polinomio y la Funci6n del Ejemplo 1.2.3, 1 >> syms x % convier 2 >> £=1./(5+4*com(x)); % definicién de 1a funcidn 3 >> Tstaylor(£, 'order',8); % Crea el polinomio de taylor 4 >> pretty(T) 3 forma simb“olica del polinomio de Taylor s & 6 4 e en simbélica a x 8131220 1458 81 9 9 >> ezplot(T,{-pi.pi]) % Graficacién del nolinomio 10 >> x=-pi:0.05:pi; 11 >> Fesubs(£,x); % Crea la funcién numérica 12 >> hold on 13 >> plot(x,F,'.') % Grafica le funcién numérica 14 >> title( ' Polinomio de Taylor vs Funcién ' ); 15 >>legend('Taylor grado 8', 'Funcién Teérica') Cédigo 1.1: Graficacion y generacién de Polinomio de Taylor ¥ J Otros eédigos en Matlab son 1.2, y 1.3. 58 Powered by (9 CamScanner >> taylor (1og(x) ,x, ‘ExpansionPoint',1, ‘Order’ , 6) 1 Conceptos bisicos >> pretty (ans) 2 3 4 5 1 a 3 4 5 x - (x - 1)°2/2 + (x - 1973/3 - (e- 14/4 + (15/5 - 1 6 i 8 9 (e- 1) (= 1) (= 1) (x - 1) Cédigo 1.2. Procedimiento en Matlab para encontrar el polinomio de Taylor El cédigo 1.2 genera un polinomio con 6 términos diferentes de cero alrededor del punto 1. >> taylor (sin(x) ,x, 'ExpansionPoint ',pi/2, 'Order',6); >> pretty (ans) 1 2 3 a 5/ pi \4/ pi 2 6 7 8 9 24 Cédigo 1.3. Procedimiento en Matlab para general el polinomiode Taylor 6 alrededor de un punto El cédigo 1.3 genera un polinomio de grado 4 al rededor del punto © Otra presentacién del teorema de Taylores dada por el siguiente teorema Teorema 1.2.16. (El teorema de Taylor con la formula integral para el residuo). Sif C™! [a,b] entonces para cualquier punto x y cen [a,b] S()= v Af ou- oy Rn (x) (1.2.21) SS ae 59 Powered by (@ CamScanner donde Ra) = Lf aoe" at (1.2.22) Demostracién. Utilizando la integracién por partes en (1.2.22) ” pe ie wee AN dv= f° (dt emconces d= at y por el teorema fundamental del cdlculo (1.2.13) tenemos v =f (1) “sf ner 0" ema 7 re Je = - LM @a- a" [PO ea Notas de anilisis numérico con MATLAB Ry(a)= | eo" p>) o RB gy OP * Lr our ors fs" ya Raa) = D nl a(x) = = SP (a= ort aol ™ (x— 0)" de Bei Bala) = = SPOR 0)" Ret (1.2.23) Repitiendo el proceso de integracién por parte en (1.2.23), eventualmente llegamos a n | Ralad= — Y BLOCH oF + Ros (12.24) a nuevamente por el teorema fundamental del calculo tenemos " p(dt= f(x)— flo) (1.2.25) , laecuacién (1.2.24) queda Sot et R= — FEM (MaH oO +f) (0) 60 De (1.2.26) Powered by (@ CamScanner y despejando / tenemos s.1 LO= H+ Y GLOCOG- ol + By (1.22) a Conceptos bisicos Otra forma para la formula de Taylor Remplazando x porx + hy c por x tenemos "| f(xt y= Zareowe E,(h) (1228) con my: (nt 1) ee) path. En(h)= lr pw eet, (1.2.29) & se encuentra entrex yx +h Esta formula se puede utilizar en el caso que se quiera calcular una funcién donde el argumento se altere en un pequefio valor por ejemplo In(2.5) en este caso h = 0.5. Ejemplo 1.2.4. Vearnos una aplicacién del teorema de Taylor 1.2.14 Busquemos un polinomio que aproxime a la funcién 1 /*sen(e) [ea en 1,1 (1.230) Aplicando el teorema de Taylor a Ia funcién sen x que satisface las SQ) condiciones yr ant Gn i" * aeee(-yr! (-) sen(é) (1.231) za Qn+Dt reemplazando (1.2.31) en (1.2.30) con el respectivo cambio de variable. we A = _qyei XS Sia) if ar st (0! Gimp [Att Rer2) (1232) 61 Powered by (@ CamScanner g Integrando en (1.232) y simplificando tenemos i 1 § 8-155 HOD" ae Re) 2 donde 2 3 Row 2 = = Mc D Ga =n By enEsdt con0< Est 2 como | sen&,|<1 pe en 1 ) Ror 2S 5 fy Gat in” = Gar iant (1233) Podemos elegir el grado tal que Ry, 9 (| $5 % 10° (elegido arbitrariamente) ; 1 ime « |Ron-2(3)| = = Gas DiGn=) elegido n tal que 1 6 ——_____< 5x 10 Gr piGa <> (1234) La desigualdad (1.2.34) es vilida cuando 2n + 1 > 11. Luego el polinomio que usamos para aproximar a (1.2.30) es 2.2 #2! PO) I> ag 5157 77 * om con-1Sx<1. (1235) El c6digo 1.4 es un procedimiento en Matlab para graficar y comparar (1.2.30) y (1.2.35). Podemos ver la comparacién en la figura 1.40. iy 62 Powered by (9 CamScanner Potinomio de Taylor x) vs funciéa S{x) Conceptos bisicos aos Figura 1.40. Comparacién entre $y P del Ejemplo 1.2.4 (1.2.35). Podemos ver la comparacién en la figura 1.40. 1 >> x=-1:0.05:1; Ror Pam A-x,°2/(Zactorial (3)*3)+x.°4/(£actorial(5)*5)-x.-6/ © (factorial (7)*7) +x.78/ (factorial (9)*9); >> plot (x,P,'0') >> hold on >> syms x >> S=(1/x)*sinint (x); >> ezplot (8, [-1 11) >> title(*Polinomio de Taylor P(x) vs funci ‘on S(x)') 10 >> legend ('P(x)*,'S(x)") Cédigo 1.4. Graficacién y Comparacién de Polinomio de Taylor Otro procedimiento utilizando comando Taylor de Matlab es el cédigo. 's sy 63 Powered by (9 CamScanner Notas de anilisis numérico con MATLAB Sat 64 1 >> syms x 2 3 >> P = taylor (sinint (x) /x,x,0,'Ordez',9) 4 5 ans = 6 7 x°8/3265920 - x°6/35280 + x°4/600 - x°2/18 + 1 Cédigo 1.5. Comando Taylor de Matlab 1.2.2. Redondeo Consideremos un ntimero decimal positivo x de la forma x=0.d,d,d,...d,,d,, (1.236) Donde d, escualquier elemento del conjunto {0, J. 2... 9f. Seredondea xa cifras decimales (7 < m) de manera que depende del valor del digito (n+ 1). Siel digito d,_, es 0.1, 2. 3 0 4, entonces el n-ésimo digito d, no se cambia y los que siguen se eliminan, este redondeo se llama redondeo por defecto. 0,1,2,3,4 O.dydy- "dy dyer dye 2** de 1m ** = O.dyda** “dn Sil digito d,,, es 5, 6. 7. 8 0 9, entonces el digito d, se incrementa en una unidad y los que siguen se eliminan, este redondeo se llama redondeo por exceso. 5,6,7,8,9 Odyda dn dye dpt2°* dy idm * O.dyd** (dnt 1) Ejemplo 1.2.5. Redondear a cuatro digitos los siguientes nuimeros: a 1. 0.1735499 = 0.1735 redondeo por defecto 2 0,9999500 = 1.0000 redondeo por exceso 3. 04321609 © 4.322 redondeo por exceso. au 2 Powered by (@ CamScanner Nota 1.2.4. Six se redondea de modo que x es su aproximacién conn digitos, entonces Conceptos bisicos x-3]< 5 lo" (1.2.37) Veamos: 1. Sieldigiton+| es0, 1, 2, 30-4entoncesx = $+ econe < 5x 107" y se cumple (1.2.37) 2. Siel digito n+l es 5, 6, 7, 8, 0 9entonces ¥= $+ 107” donde x es un nimero con los mismos primeros n digitos que x y todos los restantes iguales a cero. Ahora, x = $45 % 10" cond > } yk x=( 1-8)» 10" como 1— 5 < 5 tenemos <— x 1-8) 10"< 3x 10" Si x es un numero decimal, su aproximacién por truncamiento a 7 digitos es el nimero ¥ que se obtiene al descartar todos sus digitos mas alla del n-ésimo. Tenemos |x- 4] < 107" (1.2.38) Es decir, que la relacion entre x y ¥ es tal que x — $ arrojan cero en las, primeras n posiciones y |x— &| < 10°” con0<8<1 Ix— $= [8] 107" < 107” yaqued< 1 (1.239) Nota 1.2.5. Pensemos en solucionar un problema, digamos: buscar el cero de una ecuacién complicada o el valor numérico de una integral definida, dificil de trabajar. En tal caso, un programa de computacién quiza produzca una solucién de niimeros reales x, ,x,, X,.... que se esté aproximando a la solucién correcta. Denotemos con {x, } este conjunto de datos. Tenemos lim x, = L, (ver 1.2.2). Donde L. es la solucién exacta. yy 65 Powered by (@ CamScanner Ejemplo 1.2.6. 1 1. Recordemos que e = lim (1- ‘) que nos sirve para definir el importante numero e. Utilizando un archivo .m de Matlab podemos calcular términos de la sucesién (ty ¥ el programa en Matlab en archivo.m es: Xn Notas de anilisis numérico con MATLAB function y = xn(n) y= (41A)n; Valores calculados con el anterior archivo: x, = 2.000000 1p = 2.593742 Xy, = 2674319 1691588 = 2.716924 sp ove Esta es una sucesién que converge mds bien en forma lenta ya que el limite es ¢ = 2.71822818... En el milésimo termino hay un error de 0.001358. 2. Como ejemplo de sucesién que converge répidamente: Lod = 1 ae pa el) (1240) Utilizando un archivo de Matlab podemos calcular algunos de sus términos. y y archivo .m function y = xn2(n) 66 ifn == 1, y= 20; ¥ Powered by (@ CamScanner else y= 1/2 *xn2(nel) + 1/xn2 (nel): end Algunos de sus términos son: Conceptos bisicos 000000 500000 416667 414216 El limite de esta sucesién es 12 = 1.414213562... iscula 1.2.3. Notacién de O mayuscula y 0 mi Sean fx,} y {a,} dos sucesiones distintas. Decimos que x, es 0 mayuiscula (u o grande) de cr,, en simbolos (/a,), si existen constantes c#0y r, tal que |x,| r. Si a, #0 para n>r, esto significa Xn que cy S ¢ (permanece acotada por c) cuando n— oo. Decimos que x, es 0 mintiscula (uo pequefia) de a,, en simbolos o(c,), cuando Aim (nf an) = 0. Estas notaciones nos proporcionan un método para comparar dos sucesiones. Six, = O/a1,) entonces x, converge al menos tan rapidamente como a, Six, = 0/é,), entonces x, converge a cero més rapidamente que 7, (ver [13]). Ejemplo 1.2.7. oll aa i 1. Con las sucesiones . 1} t n oo ih i - ¢ con c¢ 2 2 (constante). Luego = =0 (3) esto quiere decir que la primera sucesién converge de forma lenta, ya que la segunda converge muy lento Sy 67 Powered by (@ CamScanner Notas de anilisis numérico con MATLAB Sat 68 1 2. Conlas sucesiones |" *!\ y 11) tenemos |i”) nin(y)f \n T n no se puede acotar. Calculando el limite se tiene lim aaa “2 () il fe 2. Con las sucesiones fe | y {re} | no se pueden comparar luego 1 directamente las comparamos inicialmente con {(t } y{ | fy respectivamente. senn Por el teorema del emparedado sabemnos que lim ~"" = 0 (ya que nt+3 r. Una ecuacién de la forma f (x) = O(g (x)) (x-+x,) significa que existe una constante c y una vecindad de x, tales que | f (x)| Sc |g (x)| en esa vecindad. Ejemplo 1.2.8. Ax? = O (x). (x00) pues x°+1 < 4x’ para x > | (esto es x00) entonces \x'+1 < 2x. Ejemplo 1.2. 1. Sea f (x) = cosx al aplicar el teorema de Taylor conc = Oy n tenemos 1 cosx= 1— ox7+ As cos& (1.2.42) 2 24 luego 1 1 cosx+ on 1+ ayr cose (1.2.43) Powered by (@ CamScanner Conceptos bisicos 69 Esto implica que cosx+ 3x7 = 1+ O(x*) ya que Porque |cos €| < 1. La implicacién es que cosx+ 4x? converge a 1 aproximadamente Notas de anilisis numérico con MATLAB con la misma rapidez con la que x! converge a cero. 3 x 2. Se puede verificar que senx— ab O(x°). cuando (x0). (ejercicio) Esto significa que hay una vecindad de cero y una constante c tales que en esa vecindad |senx— x+ |. Lo cual se comprueba con el teorema de Taylor tomando n = 4 y,f (x) = sen x De manera semejante f (x) = 0 (g (x) (x-x,) significa que xe) Hee) 1.2.4, Orden de convergencia Sea {x,} una sucesién de nuimeros reales que tiende a x*, La rapidez de convergencia es por lo menos lineal si existe una constante c > I y un entero N tales que [x,,)-2"] Sc |x,-x"| para (72 N). (1.2.44) La raz6n de convergencia es superlineal si existe una sucesién {£, } que converge a cero y un entero N tales que [x,.)-¥*] S&, [x,-x*| siempre que (n>). (1245) a Larapidezo raz6n de convergencia es cuadratica si existe una constante 70 — cyunentero N tales que Powered by (@ CamScanner =x*|Se|x,-x*7 (ZN). (1.2.46) La rapidez 0 razén de convergencia es de orden a si existen dos constante c, «Ly un entero N tales que Conceptos bisicos Byes -x*| k=0 (1.2.49) Recordemos que si n 0 Vx #0. Ejemplo 1.2.12. 2t A= es definida positiva pues x1 x) =(x1+ 1)? + ax} + 33> 0 12 Para todo.x + (0,0) x° Ax se llama forma cuadréttica. Teorema 1.2.21. Si A es definida positiva y simétrica sus valores propios son reales positivos. En ocasiones se parten las matrices en submatrices. Ay An Bu Bo\ (Cu Cr An Aza} \ Br Baz Cr Cx 78 Donde 4, ,,B,,,C,, son matrices de ordenes i X j para i: j = 1,2 Powered by (@ CamScanner 1.3. Ejercicios 1. Realizar los siguientes programas en Matlab: Conceptos bisicos a) Dado unm € N generar el tridngulo de Pascal. b) Dado un.x € R redondear con p € N cifras el ntimero x. ©) Dada una matriz real A, muestre cuantas veces se repite cada componente de la mattiz. d) Dada una matriz A, muestre como salida los componentes mayor y menor, y sus respectivas posiciones en filas y columnas. e) Dado un polinomio evaluarlo en un punto c < R utilizando multiplicaciones anidadas f) Generar los n primeros términos de la sucesién de Fibonacci. 8) Sidividimos cada término de la sucesién de Fibonacci por el anterior, obtenemos otra sucesién que es convergente. Realizar un programa que muestre y grafique los n términos de esta sucesién, Calcular el limite de la sucesién. h) Generar los 2 primeros primos. i) Calcular n! paran < N #-2xt 1, si-l 1 ym que deberan ser introducidos desde el teclado. Luego generar la secuencia a, = 1. Si a, es pat, entonces = a,/2; pero si es impar entonces a,_, = 3a, + 1, para Use el teorema de Taylor para probar el teorema del binomio de Newton, para exponente entero y positivo n, "1M ekg xt y)"= a (ty= > ( i] y k=0 Demostrar los teoremas no demostrados de este capitulo. Encontrar los siguientes limites: s 8 i. lim r2x-2 70 Verificar que se satisface la definicién de limite en funcién de ¢ y & im ——,~ = 0. a0 1+ sen?x Powered by (@ CamScanner Probar que lim /(x)= lim fla* h) Suponga que f(x) < g(x) < Mx) y lim f(x) = lim (x) Pruebe que lim g(x) existe, y que lim (x)= lim f(x)= lim h(x) Conceptos bisicos (Hacer una grafica). El simbolo [x] denota el mayor entero que es < x. Asi [2.1] = [2] = 2.y [-09] = [-1] = ~1. Decir en cuales puntos son continuas las siguientes funciones: i SO=[s] ii, f(x) = x- Er. ii, FO) =[x]+ Vx~ BI] _fi w r0>[!] Suponga que fes una funcion que satisface | f(x)| < |x| para todo x. Mostrar que fes continua 0. Suponga que /satisface /(x+y) =/ (x) +f), yquefes continua en 0. Probar que fes continua en a para todo a. Determine los niimeros en que la funcién es continua y justifique: a+] 2x+5 i f(xy= 3x- 1 si x2 ii, f(x)= 4-x si 25x 1 Demuestre que la funcién f(x) = 7 donde nes un entero positivo, tiene una discontinuidad removible en 1. Encontrar f (x) si f (x) = g(t + x), y Sif () = git + x). la a respuesta no debe ser la misma. 81 Powered by (@ CamScanner Notas de anilisis numérico con MATLAB 82 20. Si fes diferenciable en x. Probar que Yea im LEEW SO7 ) FO)= jie 2h Encontrar f "(x) en: i F(x) = sen(x+ x) ii, f(x)= senx+ sens? ii plyy= MCD Encontrar (0) si g(x), si x40 Fx) = 0, si x= 0, ys@ =s'(0). Encontrar el polinomio de Taylor con el grado indicado en el punto indicado: i S()= e%, grado 3 en 0. i, (x)= e©™, grado 3 en 0. iti, f(x)= senx, grado 2n en x/2. 1 iv SUX) = 7 gtados m en 0. Probar que six <0, entonces x et f —(x~ t)"dt o al Demuestre que la ecuacién x = 3* tiene una solucién en [0,1] [xp (n+ 1)! < Sea k un entero positive y se 0 < a < 1. ;A que clase C(R) pertenece la funcién x"? Powered by (@ CamScanner 21. 22. 23. 24, 25. 26. 27. 28. Determine los dos primeros términos de la serie de Taylor para x" alrededor de 1 y el residuo E, Desarrolle la funcién Vx en serie de potencias de (x-/) yaproxime V0. 9999999995 hasta el décimo lugar decimal. Dado el polinomio P(x) = 2x° + 3x? + 4x + 5, Evaluar el polino- mio y su derivada en el punto x = 2, utilizar el algoritmo de Horner. Demuestre que toda operacién elemental entre filas 0 columnas se puede anular por medio de una operacién del mismo tipo. Una matriz monomial es una matriz cuadrada en la que cada fila y cada columna contiene exactamente una componente distinta de cero. Demuestre que toda matriz monomial es no singular. Sea D una matriz en forma de particiones: ‘AB D= cl Demuestre que si 4-BC es no singular, entonces D es no singular. {Son definidas positivas las siguientes matrices? 421 1-1 a) . b) [25 -1 1 R \1 24 {Para qué valores de a es definida positiva la siguiente matriz? Powered by (@ CamScanner Conceptos bisicos 83 29. Una matriz cuadrada A se dice que es antisimétrica cuando: A! = -A, Demuestre que si A es antisimétrica entonces x’ Ax = 0 para todo x 30. Demuestre que los elementos de la diagonal de una matriz antisimétrica son 0 y que su determinante también es 0 cuando la matriz es de orden impar. 31. Sead una matriz cuadrada, y defina Notas de anilisis numérico con MATLAB 1 I r, Ap= 5444") A= 34-4") Demuestre que 4, es simétrica, A, es antisimétrica, A = A, + A, y para toda 3 las formas cuddricas podemos restringir nuestra atencién a las matrices simétricas. x" Ax = x" A,.x. Esto implica porque al estudiar 32. Todo estudiante de calculo sabe que vin S00 i oh Demuestre ahora que se = 1+ OU?) l-cosh . “ 33. ffm" = 0 con qué rapider de convergencia? 34. Suponga que A y B son matrices definidas positivas de nxn Es— definida positiva? ii, Es A" definida positiva? ili, Es A +B definida positiva? lefinida positiva? 84 Powered by (@ CamScanner Capitulo 2 ARITMETICA DEL COMPUTADOR 85 Powered by (@ CamScanner Powered by (9 CamScanner s necesario hablar de la aritmética del computador en un curso de analisis numérico, ya que la aritmética fi del computador varia con respecto a la aritmética infinita que conocemos desde los primeros afios y esto influye en la teoria del error. Se pueden eviden- iar casos reales donde el desconocimiento del error ocasiona catastrofes como [a falla del misil Patriot [2], O el caso del cohete Ariane 5 [8]. Otras evidencias del mal manejo del error las podemos encontrar en libro de Einarson [9]. 2.1. Numeros de Punto Flotante y Error de Redondeo De la aritmética basica sabemos que cualquier numero puede expresarse mediante notacién cientifica normalizada, Multiplicamos © dividimos por 10 tantas veces como sea necesario para que todos los digitos diferentes de cero aparezcan a la derecha del punto decimal y de modo que el primer digito después del punto no sea cero. Por ejemplo: Cualquier numero con parte decimal diferente de cero, se puede escribir en forma “polinémica’, sin utilizar puntos decimales y en lugar de la variable se utiliza el ntimero 10: Como ejemplo el ntimero 537.325 se puede escribir de una forma mas explicita (0 “polinémica’). Namero, Notacién cientifica Normalizada 235.478 0.235438 x 10° 0.005789 05789 x 19 Cuadro 2.1. Notacion Cientifica Normalizada 87 Powered by (@ CamScanner 537.325 =5 1043 « 10!+7 « 10°+3 x 10142 « 10745 « 10° Lo cual ocurre en el sistema decimal comin. Pero en el sistema binario s6lo se utilizan los digitos 0 y 1. Por ejemplo, para el numero 1001.11101 tenemos 100111101 = 1% 23+0x27+0%2'+1%x 2°41 x21 +1M 2241 2940x244 1x25 Notas de anilisis numérico con MATLAB = 1X BH] x Me yx 2+ yx Q+1%29 +125 y para llevar este numero al sisterna decimal efectuamos las operaciones indicadas. 1 32 9.90625 Los niimeros 10 y 2 que llevan las potencias en los ejemplos anteriores se llaman bases del sistema numérico. En general, cualquier B> | puede utilizarse como base para un sistema numérico y los niimeros. representados en la base f incluiran los digitos 0, 1, 2, 3, 4, .., (B- 1).En © general un ntimero NV en la base i se escribe (N),, luego (1001.11101), =(9.90625),,,y segiin la base B generalmente el sistema recibesu nombre, B= 2es sistema binario, si f = 10 se llama sistema decimal, si f = 8 se llama sistema octal e.t.c Nota 2.1.1. La mayoria de computadores internamente trabajan con el sistema binario, pero muestra los resultados en pantalla en el sistema decimal. En este proceso de cambio de sistema ocurre pegefios errores de redondeo. Decimos que la longitud de palabra del computador es el niimero fijo de digitos con que trabaja este. La longitud de palabra impone una Sf testiecién sobre la presicin com la quese pueden representar los ndmeros reales en el computador. Un niimero decimal x distinto de cero en notacién 88 cientifica normalizada puede representarse en la forma Powered by (@ CamScanner x=+q* 10" (24.1) . 1 . donde g es un niimero tal que 55 < q< 1 y 7 es un ntimero entero (positivo, negativo o cero). En general para (/N), tenemos ‘Atitmética del computador =q*pP (2.1.2) S q< 1Six =0 entonces q = 0. Para x binario x=iqx2” (2.1.3) 1 : Donde 5 < q< 1 (six#0)y7esun entero, Liamamosag la mantisa yam exponente o caracteristica. Un niimero expresado en la forma (2.1.3) se dice que tiene la forma de punto flotante normalizado. Y cuando este ntimero binario normalizado se hace corresponder con la longitud palabra se llama ndmero de maquina. Nota 2.1.2. En un computador q y m estén representados como ntimeros segin su base. Ejemplo 2.1.1. Siun computador tienen una longitud de palabra 32 (esto es trabaja con, 32 digitos binarios o bits por su expresién inglesa binary digits). Supongamos que estos bits estan repartidos de la siguiente forma cuando representamos un numero: Signo de x 1 bit Signo del exponente m 1 bit Exponente(entero |m| 7 bits Mantisa (numero real |q|) 23 bits Dado que un ntimero real distinto de cero.x = + q x 2" puede normalizarse de tal manera que su mantisa se encuentre en el rango t < q< 1.Sepuede suponer que el primer bit en q después del punto binario sea 1, y por lo tanto, no requiere almacenamiento (se da por defecto en el computador), luego los x 23 bits que se dan para la mantisa se utilizan para almacenar el 2,3", 24 go Powered by (@ CamScanner bits en q. En efecto, la maquina tiene una mantisa de 24 bits para sus nimero de punto flotante. Los anteriores valores en nuestro lenguaje decimal significan: que si un niimero real x es expresado de la forma x = q x 2" el cual tiene la forma de punto flotante normalizado; y si x puede representarse exactamente con |m' ‘ocupando 7 bits y q ocupando 24 bits, entonces, es un niimero de maquina (o numero maquina). Veamos estos datos en la forma decimal y lo que significa: Notas de anilisis numérico con MATLAB Como || tiene a lo mas 7 bits se tiene: im] <(UILIL1), = 1 204 1 25+ 1 2 1 x D+ PHL DEE LP, esto es = 26+ 84 a4 234 2? 1 = 127 Para Ilevarlo a una base decimal buscamos un entero n tal que 227 = 10" (2.1.4) aplicando logaritmo a ambos lados y despejando n se tiene, _ 127m) é ”* ~~ ta (oy (215) entonces n= 38 y en consecuencia 28h 10%. (2.1.6) Luego este computador puede manejar numeros tan pequeiios como 10° y intimeros tan grandes como 10%. Cuando n > 38 se produce un desbordamiento por exceso o overfiow en inglés y generalmente, el computador se detiene o bloquea. Y sin <-38 se produce un desbordamiento por defecto o underflow en inglés, el computador en ocasiones convierte estos ntimeros en ceros pero con una advertencia. En el ejemplo 2.1.1 vemos que el intervalo de trabajo puede ser pequefio, por eso en ocasiones se aumenta el intervalo de trabajo utilizando 90 _ programas con aritmética de doble precisién que consiste en combinar Powered by (@ CamScanner dos longitudes de palabra (2 |g) + 2|m| + 2 aproximadamente). También se puede ampliar mas. Para el caso del intervalo inicial se utiliza precisién simple o sencilla También en el ejemplo 2.1.1 la restriccién de que q requiere maximo 24 bits significa que nuestros nimeros de maquina tienen una precision limitada, ya que el bit menos significativo (el ultimo) en la mantisa representa unidades de 2™ (aproximadamente 10”). Por lo tanto, los niimeros con mas de 7 digitos decimales seran aproximados por el computador y decimos que tiene una precision de 7. ‘Atitmética del computador Para el caso de los niimeros enteros en el computador del ejemplo 2.1.1, siz es un numero entero tenemos 2 2 304 9294 9284 aly 90 204 294 24 Ne ls (U1) 31 veces + I digit = 21-1 = 21474736647. Bits: TT 7 Punto 23 radical e limpet Figura 2.1. Representacién de un numero en punto flotante del Ejemplo 2.1.1 Luego los enteros en este computador estan en el intervalo le] < 21474736647. Podemos hacer una representacién grafica del punto flotante para un numero real de precision sencilla en el computador del ejemplo 2.1.1 este se divide en tres campos, ver la figura 2.1. S, 8 = {0,1}, luego x= (+1) xq x 2" donde q = (0.1F), ym = (ly *E. (2.1.7) Powered by (@ CamScanner 2.2. Algoritmo para transformar numeros reales a binarios Existen algoritmos que permiten pasar de una base a otra, a manera de ejemplo se explica el procedimiento para pasar 23.215 al sistema de numeracién de base 20 binario. 1. Se calcula la parte entera por divisiones sucesivas: Notas de anilisis numérico con MATLAB 23 = 1% 24+0x% 23+ 1x 27+ 1x 2'+ 1x 2°= (10111), 23 [2 3 | NL2 1 1 5 1 only 5 1) 2. Laparte decimal por multiplicaciones sucesivas: 20.215 ) [10.430\])) 0 2x 0.430 ) {10.860)]) ) 0 2 x 0,860 ) {|1.720]])) 1 20.720 ) {|1.440)])) 1 . 2 «0.440 ) [l0.880)]) ) 0 3. Resultado final: 23.215 = (10111.00110...),, Recordemos quelo que tenemos quehacer esmultiplicar sucesivamente por dos para ir eliminando los exponentes de dos y se va restando la parte entera. a2"+a27+.. +a2"+ 2x=a,ta2'+..+a2"+... Sat Ejemplo 2.2.1. 1 Levens el nimero decimal =~ = ().a,a,a, ...a binario: 92 19 ~ 9aAs4s Powered by (@ CamScanner Fo 7 4-344, (multiplicando por 2) entonces a, (muttiplicando por 2) $B = agaza.a,_ (mukiplicando por 2) entonces a, + =0.a,a.a, is =a,a.a,a, (multiplicando por 2) entonces a, 1.6=0.4.0,4,. restando | 06= fy =Oaua,.. por 2 Fea aan, entonces a, = | 02= 4 =0.4,4,4,4, .. por 2 luego ie 19 0.000110 110011 .. ‘Atitmética del computador 93 Powered by (9 CamScanner to 1100110011...) * 2°, normalizando Algoritmo 2.2.1. Algoritmo para pasar un numero decimal aa numeros binarios Entrada: m « N Notas de anilisis numérico con MATLAB salida: bb, ... bb, =m, b, © {0.1} parat=0,...7 R-m i-0 mientras R> 0 haga qe = (parte entera del cociente) 6, —R-2q Req ieit+l fin Para fracciones: Entrada x = O.d,d.d,... d, cond, € {0,1,2,... 9} parai= 1, ..1 salida x = 0.¢,c,... ¢, conc, € {0.1} para i F-2x para i = | hasta m haga ¢, ~ AF F - 2(F-c)). fin Los archivos 1m para estos dos algoritmos: XY 7+ Programa que transforma un miimero entero mayor que cero en namero binario podemos ver cédigo 2.1 y el nombre del archivo 94 es binario.m Powered by (@ CamScanner function y = binario(N) Ris Np i = 47 q = fe(R/2); ‘Atitmética del computador 1 2 3 4 5 while R > 0¢ 6 7 8 9 b(i) = R - 2*a: 17 end (Cédigo 2.1. Transformacién de un Numero entero a Binario 2. Programa para transformar una fraccién en binario, el cédigo 22 convierte un numero fracionario mayor que cero a binario Q.se debe dar en forma de fraccién. EI nombre del archivo es binariof.m 1 function y = binariofr(Q) . 2 3x =O 4 5 F = 2x; 6 7 for i = 1:16 8 9 e(i)= fie (F); 10 11 F = 2*(P-c(i))1 12 13 y(i) = ¢(4)*10\symbol (94) (-3); 14 15 end x y 16 17 format long 95 Powered by (@ CamScanner

También podría gustarte