Академический Документы
Профессиональный Документы
Культура Документы
Sesin 1
Agustn Valencia Gonzlez Ing. Civil Electrnica LABSEI
Contenidos
Qu es y para que sirve Matlab/Simulink? Manejo y operatoria de vectores y matrices Comandos tiles Ejemplos de clculos simblicos Tipos de grficas Mnimos, Mximos, Sumatorias, Desviacion estndar, etc. Programacin de Scripts .m y funciones Aplicacin de conceptos en el anlisis de un sistema LTI de segundo orden Conceptos Bsicos de simulink Algunos Toolboxes. Ejemplos prcticos
Qu es Matlab?
Matrix Laboratory
Trabajo con matrices y vectores Tamao depende slo de la mquina Permite trabajo con simblicos Ampliamente usado en ciencia e ingeniera
Qu es Simulink?
Suite complementaria a Matlab Anlisis y simulacin de sistemas fsicos y matemticos. Lineales y no lineales De tiempo continuo y discreto Trabajo en base a diagramas en bloque
Aplicaciones
Procesamiento Digital de Seales (DSP) Ingeniera Aeroespacial Inteligencia Artificial, Redes Neuronales y Lgica Difusa Comunicaciones Mquinas Elctricas Y SEP Control Adaptivo y Robusto Mquinas de estado y FPGAs Finanzas Etctera
Aplicaciones
Xilinx ISE (FPGA,CPLD) Comsol (modelacin de fenmenos fsicos) Solidworks (Ing. Mecnica) SystemVue (Comunicaciones, FPGA) LabView (Instrumentacin Virtual) Multisim (Simulacin de Circuitos)
Primer Paso:
Primer Paso:
Primer Paso:
Primer Paso:
Observar: Formato de punto flotante doble exactitud por defecto Decimales . Ingreso directo
Observar: En Matlab no es necesario gestionar memoria. Asignacin directa para variables numricas. Declaracin de simblicos. Uso de ; al final de cada comando
Vectores y Matrices
Un vector es una matriz de 1xN (fila) o Nx1 (columna) Definicin:
Vectores y Matrices
Experiencia: En Command Window ejecute: >> help rand >> doc rand
Vectores y Matrices
Experiencia: En la seccin de uso aritmtico se ejecut:
Vectores y Matrices
En efecto, en este caso , se utiliza para ingresar varios comandos de una sola vez. Cuando , est dentro de *+ indica separacin de columnas en un vector/matriz
Vectores y Matrices
Una vez entendido el trabajo con vectores, la utilizacin de matrices es trivial.
As como se utiliza , para separar columnas dentro de *+ , para separar filas se utilizar ;.
Vectores y Matrices
Notar que en verdad no es necesario el uso de , para separar las columnas, un simple espacio en blanco har que matlab interprete el valor siguiente en otra columna
Vectores y Matrices
Experiencia: Ejecute >> magic (3) (utilice help para entender la funcin)
>>rand(3,3) (idem)
Operaciones bsicas
Funciones Trigonomtricas
Funciones Exponenciales
Funciones de Redondeo
Operaciones Matriciales
Comandos tiles
clear all : Elimina todas las variables del workspace clear x : Elimina x del workspace who: Lista las variables presentes en el workspace clc: Limpia el command window close: Cierra todas las ventanas emergentes de Matlab
Save nombrearchivo: Crea un archivo nombrearchivo.mat en la carpeta actual con todas variables que existen en ese momento en el entorno.
Comandos tiles
Load nombrearchivo: Carga al entorno las variables del archivo nombrearchivo. Tip: cuidar no destruir variables existentes del mismo nombre. Load nombrearchivo x y z: Carga desde Nombrearchivo.mat las variables x y z
Es importante que el archivo del cual se quieren cargar datos est presente en la carpeta actual.
Simblicos: Derivacin
diff(f,x)
Donde f es la funcin, y X la variable simblica respecto de la cual se deriva. Debe declararse primeramente los simblicos antes de operar con ellos. No es necesario declarar como simblico una funcin que contendr simblicos ya declarados.
Simblicos: Derivacin
int ( f, x )
Se comprueba que la integral de la derivada de f es en verdad f.
El comando funciona !
Se calcula igual que una integral indefinida y al final del comando se agregan los lmites de integracin.
Simblicos: Simplificacin
A veces se obtienen resultados complicados de entender a simple vista incluso ejecutando pretty . En los casos en que la expresin es simplificable puede ejecutarse el comando simple() para hacer un poco ms legible y amigable a la vista.
Simblicos: Simplificacin
Grficas
Existen diversos tipos de grficos generables desde Matlab, aqu sern vistos los de mayor uso, pero el estudiante ya es capaz de leer docs y helps y aprender por s mismo.
PLOT() Utilizable para grficas 2D de tiempo continuo, en general se toman puntos y matlab interpola entre ellos, pero con una gran resolucin este efecto es menor a la vista.
Grficas: PLOT()
Experiencia: Generar un vector de tiempo Generar un vector fila aleatorio Ambos del mismo tamao, para posteriormente asignarlos como ejes x e y de una grfica de ruido blanco.
Grficas: PLOT()
Grficas: PLOT()
Ttulo, etiquetado ejes y leyenda de curva.
Actividad
Grafique x = sin(0.3t + 1.34) Y = cos(0.56t - 0.76) En una misma ventana aadiendo ttulo, leyenda a los ejes, nombre a las curvas y con grilla. Aydese con help.
Actividad
Diferencias en la manera de plotear dos seales en una misma ventana. Elija usted cual prefiere.
Actividad
Grficas: Stem
Se usa normalmente para graficar seales en tiempo discreto, se utiliza de igual forma que Plot.
Grficas: Polares
Grficas : 3D
PLOT3(): Curvas en 3 dimensiones Se define una variable independiente y tres vectores que dependen de ella.
Grficas: 3D
STEM3():
SURF(): Superficies en 3 dimensiones. Se genera una matriz de malla de variables X e Y, luego una tercera variable en funcin de las anteriores.
Grficas : 3D
MESHGRID(): Superficies en 3 dimensiones. Se crea una malla y se define una funcin que depende de X e Y
Grficas: 3D
Mnimos y Mximos
Muchas veces para el anlisis del comportamiento del sistema en cuestin, ser necesario obtener mximos y mnimos, por lo que se propone la siguiente situacin. Actividad Generar una funcin y=sinc(x) y obtener valores mximos y mnimos de y.
Mnimos y mximos
Desviacin estndar
Usualmente en anlisis de seales se suele calcular la desvacin estndar de una secuencia (seal discreta en el tiempo), pues esta corresponde al valor RMS (root-mean-square) de la misma.
Desviacin estndar
Sumatoria
Muchas veces es necesario sumar todos los elementos de un vector, para esto se usa el comando sum(x) siendo x un vector (columna o fila da igual)
Sumatoria
Si x fuese una matriz la orden sum(x) entregar vector fila que contiene la suma de todas las columnas respectivas.
Promedio
mean(x): Entrega el promedio de un vector de largo cualquiera.
Programacin de Scripts
Qu es un script? Guin, es un archivo con instrucciones a ejecutar secuencialmente, es una manera de automatizar tareas.
Programacin de Scripts
En Matlab: Procesos Funciones Archivos .m (En la literatura M-files) Uso de Editor Run / Debug
Programacin de Scripts
Programacin de Scripts
Se escriben las mismas funciones que en el Command Window , y al ejecutar el script (F5) se ejecutarn todas secuencialmente. Actividad. Volvamos al ejemplo de las dos grficas simultneas, pero ahora programe un script que realice todas las tareas.
Programacin de Scripts
Programacin de Funciones
Las funciones son scripts las cuales pueden ser llamadas desde el Command Window, o bien desde otros scripts/funciones. Tambin son archivos de extensin .m que poseen un encabezado que las declara como funciones y los parmetros de los cuales Depende.
Programacin de Funciones
La forma de programarla: function [out1 out2 out3] = NombreFuncion(in1 in2 in3) Cdigo propio de la funcin; La forma de llamarla: >> NombreFuncion(VarEntrada) O bien >> [var salida] = NombreFuncion(VarEntrada)
Programacin de Funciones
Actividad: Haciendo uso de los funciones ya vistas, genere una funcin que devuelva la sumatoria, promedio y desviacin estndar de un vector cualquiera.
Programacin de Funciones
Programacin M-Files
Es til:
For () While() If() Switch() Clc Close Input()
Muy parecido a lenguaje C , usted ya tiene la capacidad de leer helps y aprender por s mismo
Fenmeno de Gibbs
Modelacin de un escaln (u onda cuadrada) a travs de una Serie de Fourier.
Fenmeno de Gibbs
Fenmeno de Gibbs
Sistema Realimentado
Se tiene un sistema dado a anlisis:
+
Debugging y Performance
Breakpoints Ejecucin por bloque Uso de disp(mensaje) antes/despus/dentro de iteraciones tic/toc (timer)
Simulink
Ambiente grfico interactivo Trabajo basado en diagramas de bloques Disear, simular, implementar, y probar sistemas de control, procesamiento de seales, comunicaciones y muchos otros sistemas variantes en el tiempo.
Simulink
Revisar ejemplos incluidos: Help > Simulink Help > Simulink 3D Animation > Demos > Open
Simulink
Simulink
Toolboxes
Simulink (Bloques ms usados) Control System Toolbox (Sistemas LTI y no lineales) SimPowerSystems Toolbox (Mquinas Elctricas)
Editar funciones de transferencia Rotar realimentacin Cambiar signo sumador Step time
Concepto de struct Observar creacin del vector tout Explorar simout con el editor de variables plotear
Simulink: SimPowerSystems
Simpowersystems es un toolbox orientado al anlisis de mquinas elctricas. Facilita el trabajo de modelar los sistemas ya que permite trabajar directamente con variables elctricas tangibles y ahorra la modelacin del sistema mediante ecuaciones diferenciales y su traspaso al dominio de Laplace.
Simulink: SimPowerSystems
Electrical Sources: Fuentes de alimentacin Elements: Componentes elctricos discretos Machines: Modelos de mquinas elctricas Measurements: Bloques que permiten mediciones Power Electronics: Componentes activos de electrnica de potencia Help ayuda de verdad
Simulink: SimPowerSystems
Experiencia: Modelacin de un generador sincrnico trifsico cuyo rotor gira gracias a un motor universal alimentado con corriente continua proveniente de una fuente trifsica rectificada. Medicin de formas de onda de corriente de armadura y de campo del motor y tensin de salida del generador. (Experimento Laboratorio de Conversin electromecnica)
Simulink: SimPowerSystems
Simulink: SimPowerSystems
Observar: Seleccin de buses Entrada torque motor salida torque generador Salida velocidad motor entrada velocidad generador Inversin de signo de giro por posicionamiento fsico (de frente) Setteo de puente rectificador a diodos (otras opciones) Resistencias en paralelo salida generador para no simular corto circuito Uso de HELP
Simulink: SimPowerSystems
Simulink: SimPowerSystems
Simulink: SimPowerSystems
Como en un motor universal el circuito de campo y el de armadura estn en serie, se comprueba que ambas corrientes son iguales.
Simulink: SimPowerSystems
Simulink: SimPowerSystems