Material

yalma.fime.uanl.mx

Material

MatlabUna Introducción


Que es Matlab●Matlab es un programa, o software utilizadopara el análisis numérico de datos, es tambiénun lenguaje de programación


Quienes utilizan matlab●Matlab es utilizado por cientificos para susinvestigaciones e ingenieros para resolverproblemas


VENTANA PRINCIPAL DE MATLABCONSOLA O TERMINAL DE MATLAB


Iniciando con MatlabIniciando con MatlabCONSOLA O TERMINAL●●Al igual que en una calculadora podemos hacersimples operaciones aritmeticas con valores,sumas, restas, multiplicaciones , etc. , elresultado de estas operaciones al igual que enuna calculadora cada vez que damos enter (o”=” en una calculadora) se nos presentan losresultadosMatlab cumple con la jerarquia de operadoresque conocemos, ademas de la jerarquia deparentesis


Ejemplos – Operaciones aritmeticas aritméticas en MatlabOperadoresParéntesisPotencia y Radicales


Iniciando con MatlabFUNCIONES●●Pero Matlab no solo reconoce las operacionesaritméticas básicas para usar en nuestrosproblemas, también se pueden utilizar un grannumero de funciones matemáticas, detrigonométrica, de estadística, de calculo , etc.Para usar una función, se escribe el nombre deesta y los valores de los parámetros entreparéntesis


Ejemplos – Usando funciones en MatlabTrigonometriaFactorialesAngulos se manejanen radianesLogaritmos , natural y base 10Combinando operadores aritmeticos con funciones


Iniciando con MatlabIniciando con MatlabVARIABLES●●●Pero Matlab no solo es una consola decomandos secuencial, el resultado de unaoperacion se pueda usar mas de una vezMatlab tambien puede almacenar losresultados de operaciones o de valores, esto lohace a traves de variablesPor default los resultados de las operacionesse guardan en una variable llamada ”ans”


Ejemplos – Usando variables en MatlabPitagorasLeyes de NewtonEste punto y coma hace quela consola no muestre resultadoabcv0x0x0avfxfxf


Iniciando con MatlabVARIABLES●El uso de variables , de poder nombrar lasoperaciones y valores le da a nuestro trabajoen Matlab un mayor significado, ademas defacilitar el calculo y aumentar la comprensiónde los problemas que vayamos resolviendo


Iniciando con MatlabControl de flujo - Bifurcaciones● En Matlab también podemos usar condiciones ,esto hace que el flujo de nuestras operacionespueda bifurcarse, saltarse operaciones porhaberse cumplido una condición●Se puede usar en combinación con funciones,variables, etc.falsocierto


Ejemplos – Bifurcaciones en MatlabEjemplo de probabilidad, ganancia obtenida dado el resultado de un eventoLos tres puntos nospermiten saltar de lineay evitar tener que ponertodo en una sola


Iniciando con MatlabControl de flujo – Ciclos o Loops●●Las sentencias también pueden repetirsesegún una condiciónEste tipo de control de flujo es el llamado ciclo


Ejemplos – Bifurcaciones en MatlabEjemplo de probabilidad, ganancia obtenida despues de una serie de eventos, con lamisma probabilidad de exito o fracasoLa coma ”,” nos permite realizarvarias operaciones en una sola lineao en varias,parecido a los tres puntos ”…”pero la coma solo separa operacionesno las pega como una solaFin de ' if ' (de la bifurcacion)Fin de ' for ' (del ciclo)Una demostración de la veracidad de esta pequeña simulación seria suponer que de los10,000 eventos se ganaron 2000 y se perdieron 8000 dadas las probabilidades, si seobtuvieron 2000 triunfos se obtuvo una ganancia de 3x2000= 6000 si se perdieron 8000se obtuvo una perdida de 1x8000=8000 lo que nos da ganancia final igual a:Ganancia final = 6000-8000= -2000Lo que es aproximadamente nuestro resultado


Iniciando con MatlabFUNCIONES PROPIASLas funciones implican ya empezar a ordenarnuestro trabajo•Las funciones propias ya no se escriben en laconsola de Matlab, sino en una ventana de dialogoparecida al bloc de notas•Las funciones se guardan como archivos con elmismo nombre de la función


Ejemplos – Haciendo funciones en Matlab1.- Creando script2.-Código de función3.-Salva ,compilaÁreatransversalFuerzaFuerzadLLongitudfinalLongitudInicialsalvando funciónFuerza


Ejemplos – Haciendo funciones en Matlab


Iniciando con MatlabFUNCIONES PROPIAS - EDITOR DE SCRIPTEn el editor de Scripts no solo se pueden hacerfunciones, se pueden hacer programas de unamanera mas cómoda a que si lo hiciéramosdirectamente en la consola•Ademas de que se pueden guardar masfácilmente


Ejemplos – Haciendo funciones en Matlab | EjecuciónResultado de una ejecución de la funcióncon valoresFunción guardada, ya compilada


Iniciando con MatlabFUNCIONES BREVES – FUNCIONES HANDLE•Matlab también ofrece un camino mas cortopara realizar funciones propias, incluso puedenhacerse sin necesidad de entrar al editor descript•Son llamadas “function handle”, son tambiénapuntadores a funciones o sinónimos


Ejemplos – Haciendo funciones cortas en MatlabNombre o sinónimoParámetrosFunciones Propias


MatlabTópicos Selectos


MatlabMatrices y vectores


MatlabMATRICES•Una de las mas grandes potencialidades deMatlab es el poder realizar operacionesmatriciales como si se trataran de operacionessimples aritméticas•Multiplicación, suma, resta y “división” entreotras son las posibilidades que nos da Matlaben el manejo de matrices


Ejemplos – Operaciones varias entre matricesUna suma simple entre matricesMultiplicación aritmética de matricesVectores dela forma renglónUna multiplicación entre matricesTranspuesta de una matriz4 5 2A=[ 6 2 3]3 2 1A=[ 4 5 31 2 3 ]8 5 4B=[ 6 1 3]1 5 6A T


Ejemplos – Operaciones varias de matricesCalculo de determinante de un MatrizObtención de la Inversa de una matrizB −1det (B)=∣B∣=∣ 8 5 46 1 31 5 6∣det (B)=−121Creando una matriz 3x3|con cerosCreando una matriz 3x3| de identidad


Ejemplos – Operaciones varias de matricesExtrayendo renglón de matrizLa matriz4 5 3 2A=[0 1 2 3]1 5 6 83 2 7 0Extrayendo submatrizExtrayendo columna de matriz4 5 3 2A=[0 1 2 3]1 5 6 83 2 7 0


MatlabMATRICES•Las matrices nos sirven para resolver un grannumero de problemas•Resolver y representar un sistema de ecuacioneslineales•Transformar un sistema de coordenadas•Representar grafos•Aplicaciones en las cadenas de Markov•Etc. etc.


Ejemplos Aplicativos – Resolviendo un sistema de ecuaciones linealesTenemos el sistema :4X1+2X2+3X3= 506X2+5X3 =606X1+3X2 =40Pasando a unaRepresentaciónmatricial4 2 3 50A=[ 0 6 5] B=[ 60]6 3 0 40Resolviendo a través de la inversaResolviendo a través de una seudo-division


MatlabVECTORES•Los vectores en Matlab son básicamentematrices de una sola dimensión, son enlenguaje común simples listas de datos, Matlabpuede trabajar con las operaciones conocidaspara los vectores


Ejemplos – Operaciones de vectoresUna suma simple entre vectoresNorma de un vector (o longitud)Vectores dela forma renglónProducto vectorial | solo para vectores de dimensión 3


Ejemplos – Operaciones de vectoresCreando un vector como una sucesión de númerosx=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]Accediendo a un elemento


Ejemplos – Operaciones de vectoresRealizando operaciones con escalares, aritméticas y funcionesSuma con escalarx=[0 0.2 0.4 0.6 0.8 1.0]MultiplicaciónUn punto, permite hacer operaciones del lado derechoFunciones y Potencias


MatlabPROGRAMACION DE FUNCIONES CON MATRICES Y VECTORES•Las matrices y los vectores dan a las funcionescreadas por el usuario la posibilidad de arrojarmas de un resultado a la vez•Matlab tiene la capacidad de arrojar comoresultado toda una estructura de datos como esla matriz o el vector•Ademas de poder recibir como parámetro unamatriz o vector


Ejemplos – Funciones con vectores o matricesLa función siguiente da como resultado tres valores, que son las raíces de la ecuaciónde tercer gradoFunción con tres valores de respuestax 3 +4x 2 +2x+3=0Utiliza un vector, pero no lo arrojade respuesta


Ejemplos – Funciones con vectores o matricesLa función siguiente es la misma que la anterior pero arroja el resultado triple en un vectorFunción con tres valores de respuesta-en un vector-x 3 +4x 2 +2x+3=0


Ejemplos – Funciones con vectores o matricesLa función siguiente ordena los elementos de un vector , con el algoritmo burbuja


Ejemplos – Funciones con vectores o matricesLa función siguiente reduce (o simplifica) una matriz con método de gauss


MatlabMATRICES Y VECTORES•Matrices y vectores tienen una enormecantidad de usos en Matlab, por ejemplo pararepresentar objetos como polinomios, o tablasde datos para tratamiento estadístico, etc.


MatlabÁlgebraTeoría de Ecuaciones


MatlabÁlgebra – Teoría de Ecuaciones•Una parte importante del Álgebra es el hallarsoluciones numéricas a ecuaciones algebraicasigualadas a cero, esto es decir hallar sus“raíces”•Matlab resuelve muchos de los problemas en laresolución de ecuaciones típicas y no tantípicas•El problema clásico de raíces de polinomios seresuelve prácticamente usando una solafunción


Ejemplos de obtención de raíces de ecuaciones algebraicasEcuación polinomica4∗x 5 +6∗x 4 +3∗x 3 +2∗x 2 +x+5Los polinomios son representadoscon un vector (del tipo renglón)Raíces complejasEcuación no lineal, no polinomicaValor inicial debúsqueda


Ejemplos de obtención de raíces de ecuaciones algebraicasEscribiendo la formula directamenteCon funciones rápidas del usuarioGráfico de la función


MatlabGráficos


MatlabGráficos•Matlab a diferencia de excel no hace gráficospor medio de un menú, diálogos de opcionesetc., lo hace , como lo hace , mediante laterminal, mediante comandos•Una parte importante son los vectores, ya queestos son usados para almacenar los datosque generan el gráfico


Ejemplos de gráficos 2DSalva y ejecutaCódigo guardado y compiladoCódigo realizado en la ventana de scriptsGráfico


MatlabGráficos 2D•En el ejemplo anterior se creo una gráfica apartir de dos grupos de datos 'x 'y 'y' siendo 'x'un vector generado, 'y' un vector creado apartir de aplicar operaciones sobre 'x'•¿Pero como se hace para dibujar variasgráficas en una sola ventana o varias curvas enuna misma gráfica?


Ejemplos de gráficos 2D | Colocando varias gráficas en una ventanaSalva y ejecuta1 23 4Útil cuando se abren varias ventanas gráficasCódigo realizado en la ventana de scripts


Ejemplos de gráficos 2D | Colocando varias gráficas en una ventana


Ejemplos de gráficos 2D | Colocando varias curvas en un solo gráficoSalva y ejecutaPara agregar las curvasIdentificandola curvaFormateando la curvaCódigo realizado en la ventana de scripts


Ejemplos de gráficos 2D | Colocando varias curvas en un solo gráfico


Ejemplos de gráficos 2D | Colocando varias curvas en un solo gráficoApilamos la curva rotada, con una original


MatlabGráficos 2D•Hasta aquí se han formateado básicamentefunciones, pero es mas importante graficargrupos de datos obtenidos de la realidad , paravisual y matemáticamente estimar si tienen unarelación


Ejemplos de gráficos 2D | Colocando varias curvas en un solo gráficoGráfico de dispersión de datos 'x' y 'y' | Solo puntosSímbolo de punto x,ySerie de datos no ordenada


MatlabGráficos 3D•Matlab también puede crear gráficos en 3eradimensión•Los gráficos que puede generar sonbásicamente•Curvas•Superficies , mallas•Contornos (una forma de ver la 3era dimensión)•Simplemente puntos en el espacio•Etc.


Ejemplos de gráficos 3D | Puntos espaciales


Ejemplos de gráficos 3D | Curva en el espacio


MatlabGráficos 3D•Las “superficies” en Matlab se construyen através de una “retícula o malla de puntos”•Se construye primeramente una matriz depuntos “x-y” (o “y-z” o “x-z” )•Posteriormente se asigna una coordenada 'z' (ola que corresponda) a cada punto de esa mallayx


Ejemplos de gráficos 3D | Planos en el espacioConstrucción de MallaPunto de vista del observador


Ejemplos de gráficos 3D | Superficies


Ejemplos de gráficos 3D | Superficies y contornos


MatlabCalculo


MatlabCalculo•En el calculo hay varias operaciones básicasque son•Limites•Máximos y mínimos de función•Derivación•Integración•Matlab puede numéricamente apoyar mucho enel calculo de estas operaciones básicas, conlas funciones estándar y las incorporadas enlos toolbox


Ejemplos de Calculo | Máximos y Mínimos de funciónCódigofx2Función con mínimo infinitofx1


Ejemplos de Calculo | Ejercicios de IntegraciónCódigoResultados-TerminalVentana-Suscripto


MatlabEstadística y Probabilidad


MatlabEstadistica y Probabilidad•Matlab cuenta con un gran numero defunciones para obtener estimadoresestadísticos de conjuntos de datos en sulibrería estándar y toolbox estadístico•Ademas de tener un gran numero de funcionespara calcular los valores de distribuciones deprobabilidad


Ejemplos de Estadística | Ejercicios de estadística descriptivaCódigo para obtener los estadísticos mascomunes de un una muestraHistogramaMuestra aleatoria (normal)


Ejemplos de Estadística | Formateando HistogramasCódigo para construir histogramas a partir de una muestra


Ejemplos de Estadística | Formateando Histogramas


MatlabEstadística y Probabilidad|Análisis y ajuste de regresión lineal•Matlab puede realizar ajuste lineal de curvascomo lo hacen otros software como excel•Partiendo de una pareja de datos “x-y” que secreen dependientes uno de otro, matlab ajusteuna linea recta a partir de ese conjunto dedatos solo con la función polyfit ( tambiénutilizable para ajustes de curvas )•También es posible el calculo de estimadorespara saber que tan bueno es nuestro ajuste


Ejemplos de Estadística | Regresión Linealy=Ax+b


Ejemplos de Estadística | Regresión – errores de estimaciónR 2 RCon función de matlab


MatlabEstadística y Probabilidad|Análisis y ajuste de curvas•Al igual que excel, matlab también puede haceranálisis de regresión no lineal, o ajuste decurvas a datos de muestras•Puede realizar ajustes sobre polinomios ocurvas exponenciales, etc


Ejemplos de Estadística | Regresión Polinomicay= B 0+B 1∗x 1 +B 1∗x 2 .... B n∗x n


Ejemplos de Estadística | Regresión Polinomica– errores de estimaciónGráficaCoeficientes polinomioValor de REcuación polinomio−0.0074∗x 3 −0.00701∗x 2 +3.488∗x 1 +27.3144


Ejemplos de Estadística | Regresión Polinomica- errores de estimaciónFunción para obtener valor de R (coeficiente de correlación polinomico)Valores | Ejemplo Anterior


MatlabEstadística y Probabilidad|Análisis y ajuste de curvas•Aunque Matlab no trae las regresionesexponencial,potencial y logarítmica dentro desus funciones estándar, estas funciones sepueden desarrollar a partir de la regresión lineal


Ejemplos de Estadística | Regresión logarítmicaCódigo para ajustar una curva logarítmica a una pareja de datosy=A∗log 10 ( x)+B


Ejemplos de Estadística | Regresión logarítmicaGráficos de la regresión logarítmica


Ejemplos de Estadística | Regresión PotencialCódigo para ajustar una curva potencial a una pareja de datosy=A∗x B


Ejemplos de Estadística | Regresión PotencialGráficos de la regresión potencial


MatlabEstadística y Probabilidad|Análisis y ajuste multivariado•Si se presenta el caso de un suceso quedepende de los valores de varias variables, elanálisis para estos sucesos es llamadomultivariado y el resultado no da una simpleecuación en un plano x, y ,puede extenderse avarias dimensiones


MatlabEstadística y Probabilidad|Análisis y ajuste multivariado•Matlab puede calcular una ecuación de primergrado multidimensional para sucesos de estetipo•Para el caso de tres variables , el resultado esla ecuación conocida del plano•El calculo se hace mediante el uso de matrices


Ejemplos de Estadística | Regresión Multivariadaz=a∗x+b∗y+c y=B 0+B 1∗x 1+B 2∗x 2z=B 0+ B 1∗x+ B 2∗y


Ejemplos de Estadística | Regresión Multivariada


MatlabSistemas de Ecuacionesy Optimización


MatlabSistemas de ecuaciones lineales•Aunque ya se ha visto como se puede resolverun sistema de ecuaciones lineales con elsimple uso de matrices, matlab tiene funcionesmas especializadas, ademas de poder resolversistemas que el “Álgebra normal” no tienealcance•Veremos tres tipos de sistemas•Lineales Determinados•Lineales Sobredeterminados•Lineales Indeterminados (o subdeterminados)


Ejemplos de Estadística | Sistemas lineales determinadosSistema:ec1 : 7x 1 +3x 2 =56ec2 : 4x 1+5x 2=47A=( 7 34 5 ) B=(56 47 )


Ejemplos de Estadística | Sistemas lineales determinadosSistema:ec1 : 7x 1 +3x 2 =56ec2 : 4x 1+5x 2=47A=( 7 34 5 ) B=(56 47 )


Ejemplos de Estadística | Sistemas lineales superdeterminadosAgregando mas ecuaciones al sistemaec1 : 7x 1 +3x 2 =56ec2 : 4x 1+5x 2=47ec3 : −6x 1+7x 2=63ec4 : 2x 1+3x 2=367 3 564 5 47A=( ) B=( )−6 7 632 3 36Gráfico


Ejemplos de Estadística | Sistemas lineales superdeterminadosCódigo de Matlab para resolver sistema


Ejemplos de Estadística | Sistemas lineales superdeterminadosSignificado de la solución de Matlab del sistema sobredeterminadoyMinimizardif=Y-B*X'Para evitar negativos seminimiza mejordifn = norma(dif)Y'=B*X'difY=B*Xdif .- vector columna∣dif∣=∣B∗X '−Y∣donde X ' es el vector columna conla solucion de minimos cuadrados del sistemax


Ejemplos de Estadística | Sistemas lineales superdeterminadosSignificado de la solución con la seudoinversaALGEBRAy=B∗x(B∗x− y)=0B∗(B∗x− y)=B∗0B∗B∗x−B∗y=0B∗B∗x=B∗yx= B∗yB∗Bx=( B∗B) −1 ∗B∗yALGEBRA LINEALY =B∗Y(B∗X −Y )=0B T ∗(B∗X −Y )=B T ∗0B T ∗B∗X −B T ∗Y =0B T ∗B∗X =B T ∗YX =(B T ∗B) −1 ∗B T ∗Ydonde: B + =(B T ∗B) −1 ∗B Tes llamada seudoinversaCuadrael sistemaLa solucion con seudoinversada tambien el valor de minimos cuadrados


Ejemplos de Estadística | Sistemas lineales indeterminadosSistemas de Ecuaciones Superdeterminados / Con múltiples solucionesx 1 +2x 2 +3x 3 =164x 1+5x 2+6x 3=177x 1+8x 2+9x 3=1810x 1+11x 2+12x 3=1913x 1+14x 2+15x 3=201 2 3 164 5 6 17A=( 7 8 9 ) B=( 18)10 11 12 1913 14 15 20Tratar el sistema como si fuera normal, arroja un resultado en base a mínimos cuadradosUsando la seudoinversa


Ejemplos de Estadística | Sistemas lineales indeterminadosExplicación de sistema superdeterminado1 2 34 5 6A=( 7 8 9 )10 11 1213 14 15ReduciendoGauss1 2 30 3 6A = ( 0 0 0)0 0 00 0 0Parte Significativa del ProblemaParte No Significativa del Problema o RedundanteLa parte significativa del problema es de solamente dos renglones, quedefinen a la matriz como de rango 2 , o de dos vectores IndependientesEl sistema es de dos ecuaciones, tres variables , lo que hace al sistemasubdeterminado


MatlabSistemas de ecuaciones no lineales•Los sistemas de ecuaciones no lineales son losque tienen ecuaciones que no son de primergrado, que llevan potencias, radicales,funciones trigonométricas afectando lasvariables•Un sistema no lineales no se pueden describirsimplemente como la suma de sus partes (ovariables), su solución es compleja, no única yno existe un modelo general de solución


Ejemplos de Estadística | Sistemas no linealesSistema no lineal con dos variables0.2x 1 2 +2x 1−x 2=−3−0.05x 1 4 + x 1 2 − x 2=−6Código de solución en matlab


MatlabOptimización•La optimización en sistemas se refierebásicamente a sistemas de ecuaciones de todotipo en el que su solución no es simplemente elhallar un valor en el que todas las ecuacionescumplan una igualdad•Su solución se basa en llevar a una ecuaciónllamada “función objetivo” a su punto máximo omínimo, esa solución sera considera la optimao ideal


MatlabOptimización•Los sistemas de este tipo regularmente llevandesigualdades en la descripción de susecuaciones y por lo regular no son sistemasdeterminados, son sobredeterminados eindeterminados comúnmente•También pueden ser no lineales e incluso llevaroperadores booleanos


MatlabOptimización•Los algoritmos para resolver este tipo desistemas son muchos, pero no todos llevan auna solución ultima (o única), no todos sonexactos


Ejemplos de Estadística | Ejemplo – Optimización linealSistema a OptimizarFuncionObjetivo:z=10x 1+2x 2+4x 3+8x 4+x 5Restricciones :x 1+xy 2−x 3≥ 82x 1 +x 2 +x 3 ≥ 23x 1+x 4+x 5≥ 4x 1 +2x 4 −x 5 ≥ 10x 1, x 2, x 3, x 4, x 5 ≥0Interpretación Matricial para MatlabVector objetivo, puede ser vectorcolumna o renglónMatrices de RestricciónB*X=YMatrices B de coeficientesMatriz Y de términos independientesVector Xinf de limite inferior para x,puede ser vector columna o renglón


Ejemplos de Estadística | Ejemplo - OptimizaciónCódigo para Optimizar un sistemaModelo de Sistema para optimizacionminimiza ' z 'De acuerdo a restricion : B∗x≤Ylimite inferior para X : X ≥ Xinfpara invertir B∗ X ≥Y (−1)B∗X =(−1)Ya forma canonica B∗X ≤Y

More magazines by this user
Similar magazines