1. Universidad Nacional de piurafacultad de ingeniería industrialespecialidad agroindustria TRABAJO MATLAB Responsable: Ibáñez Villarreal ZucetyStephanie Febrero, 2011
4. El Matlab incluye un editor de archivos M, orientado a la programación sobre este software. Si opta por otro editor, se debe vigilar siempre, que los archivos escritos se guarden con esta extensión. De acuerdo a cómo se definan, estos archivos pueden separarse en dos tipos: Archivos de comandos Funciones
5.
6. El path browser se encuentra dentro de la carpeta de instalación que trae el MATLAB incluído. Para convocar los archivos escritos, solo se debe escribir el nombre del archivo guardado en la ventana de comandos, y las instrucciones que hayan sido escritas, serán ejecutadas.
7. ¡IMPORTANTE! Todas las variables que se hayan creado dentro de este archivo, luego de su ejecución, pasarían a formar parte de nuestro ESPACIO DE TRABAJO o WORKSPACE. Se debe tratar de que las variables del WORKSPACE, no coincidan con las que aparecen con los archivos M que se han de ejecutar
8. Ejemplo Se utilizará “Hola mundo”. Primeramente, abrimos un documento de texto, ya sea desde el editor de archivos M que incluya el MATLAP o desde cualquier otro que nos permita editar el ASCII, en él escribimos la siguiente línea: disp(“Hola mundo”) La función disp muestra en la ventana de comandos el string que se le envía como comando. Guardamos ahora el documento como Saludar.m o el nombre que se desee, con su extensión m.
9. Ahora ingrese el nombre del archivo guardado en la ventana de comandos, sin la extensión .m esta vez para el ejemplo de arriba. >>saludar Hola mundo Este es un ejemplo bastante simple y claro que es lo que hace un archivo de comandos cuando es llamado.
10.
11. ¡IMPORTANTE! El nombre de la función debe coincidir con el nombre del archivo M con el cual se le guarda. De no ser esto, podrían existir errores de directorio y/o ejecución.
12. EJEMPLO Dado el script llamado cuadrado.m: % este es un script que eleva un número al cuadrado nro= input('Ingrese un número positivo:'); nro= nro * nro; disp('El número ingresado elevado al cuadrado es: '); disp(nro); Y cuando escribimos en el Workspace: >> help cuadrado este es un script que eleva un número al cuadrado
13. Toolboxes de MATLAB Control system Toolbox, Robust ControlToolbox Frequency Domain System Identification Toolbox Fuzzy Logic Toolbox Higher Order Spectral Analisys Toolbox Image Processing Toolbox Model Predective Control Toolbox Mu Analisis and Synthesis Toolbox NAG Foundation Toolbox Neural Network Toolbox Nonlinear Control Design Toolbox Optimization Toolbox Quantitative Feedback Theory Toolbox Signal Processing Toolbox SIMULINK, SIMULINK Real Time Workshop Spline Toolbox Statistics Toolbox Symbolic Math Toolbox System Identification Toolbox.
17. ¿CÓMO FUNCIONA MATLAB? La elaboración de un programa para Matlab es muy sencilla. Basta abrir un documento de texto (se puede hacer con cualquier editor, Matlab trae uno incorporado), escribir las instrucciones tal como se pondrían en la ventana de comandos y guardar el documento con la extensión .m (por ejemplo: miprog.m). Matlab reconoce automáticamente los ficheros que tienen extensión .m
20. Inicio de MATLAB MATLAB se inicia directamente desde Windows. Al invocarse MATLAB aparecerá la pantalla de comandos, algunas sugerencias y el símbolo >> , el cual indica la entrada de instrucciones para ser evaluadas. >> >> Comando o instrucción a evaluar < enter > Para hacer la suma de dos números, escribimos : >> 5 + 5 < enter > Presionamos la tecla entrar. ans = 10 El resultado es desplegado y se guarda en la variable ans (answer).
21. MATLAB puede almacenar información en variables tales como : a = 100 " <Ctrl> <ENTER> para evaluar la celda " Cada vez que capturamos información en MATLAB y presionamos <ENTER> ésta es desplegada inmediatamente ( letras en color azul ), pero si ponemos un punto y coma al final de la instrucción MATLAB omite el desplegado de información. Por ejemplo : b = 50; Si se quiere saber el valor de alguna variable capturada sólo se tiene que poner el nombre de la variable y <ENTER> y MATLAB lo despliega. Estas variables residen en el espacio de trabajo de MATLAB. b
22.
23.
24. HELP Y HELPWIN Si quieres conocer el funcionamiento de una determinada herramienta teclea >>help “nombre del comando” Ejemplo: >> help mean %Te indica como funciona mean, que calcula la media de una matriz Un resultado análogo encontrarás al teclear helpwin, en el que se te mostrará la ayuda en una ventana separada y en un formato más estético. >> helpwin mean
25. FUNCIONES DE ENTRADA Y SALIDA Input: Esta función permite imprimir un mensaje en la línea de comandos de Matlab y recuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario. Ejemplo: n = input('Ingrese un número: ') Disp: Esta función permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre. En realidad, disp siempre imprime vectores y/o matrices: las cadenas de caracteres son un caso particular de vectores. Ejemplo:disp ('El programa ha terminado')
30. VECTORES Y MATRICES Para crear un vector introducimos los valores deseados separados por espacios (o comas) todo ello entre corchetes []. Si lo que queremos es crear una matriz lo hacemos de forma análoga pero separando las filas con puntos y comas (;). Generalmente usaremos letras mayúsculas cuando nombremos a las matrices y minúsculas para vectores y escalares. Esto no es imprescindible y Matlab no lo exige, pero resulta útil. Ejemplos: >> x = [5 7 -2 4 -6] % es un vector, los elementos los separamos con espacios x = 5 7 -2 4 -6
31. >> y = [2,1,3,7] % es otro vector, los elementos los separamos con comas y = 2 1 3 7 >> z = [0 1 2,3 4,5] % es otro vector, da igual separar los elementos por comas o espacios z = 0 1 2 3 4 5 >> A = [1 2 3; 4 5 6] % es una matriz con 2 filas y 3 columnas A = 1 2 3 4 5 6
32. CONSTRUCCIÓN DE ALGUNAS MATRICES Al igual que pasa con los vectores, existen unas sentencias que nos ayudan a crear más rápidamente algunas matrices que Matlab ya tiene predefinidas (m y n deben tomar valores naturales): zeros (n)crea una matriz cuadrada n x n de ceros. zeros (m,n) crea una matriz m x n de ceros. ones (n) crea una matriz cuadrada n x n de unos. ones (m,n) crea una matriz m x n de unos.
33. rand (n) crea una matriz cuadrada n x n de números aleatorios con distribución uniforme (0,1). rand (m,n) crea una matriz m x n de números aleatorios con distribución uniforme (0,1). randn (n) crea una matriz cuadrada n x n de números aleatorios con distribución normal (0,1) randn (m,n) crea una matriz m x n de números aleatorios con distribución normal (0,1). eye (n) crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto. eye (m,n) crea una matriz m x n de unos en la diagonal y ceros el resto.
34. magic (n) crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo las filas y las columnas. hilb (n) crea una matriz cuadrada n x n de Hilbert, es decir, los elementos (i,j) responden a la expresión (1/(i+j-1)). invhilb (n) crea una matriz cuadrada n x n que es la inversa de la matriz de Hilbert.
35. ALMACENAR Y RECUPERAR DATOS Matlab permite guardar y cargar datos de los archivos del computador. En el menú File, la opción SaveWorkspace as… guarda todas las variables actuales y Import Data… carga variables de un espacio de trabajo guardado previamente. Otra forma sería guardar el estado de una sesión de trabajo con el comando save antes de salir: >> save Al teclear esto, automáticamente se crea un fichero llamado matlab.mat. Puede recuperarse la siguiente vez que se arranque el programa con el comando load: >> load
36. COMENTARIOS Mediante estos, se pueden hacer más legibles el código fuente, estructurado, y mantenible. Los comentarios se introducen con el símbolo “%”. Cuando un símbolo aparece, todo lo que sigue a partir de él hasta el final de la línea se considera como un comentario.
37. REPRESENTACIONES GRÁFICAS EN MAPLAT Existe la función fplotque evalúa la función que se desea representar en la gráfica de salida. Como entrada, necesita conocer el nombre de la función como una cadena de caracteres y el rango de representación como un vector de dos elementos: fplot ('nombre', [ valor min, valor max] ). Nota: La ordenplotgenera una gráfica