Está en la página 1de 11

 

Práctica 1
 

INTRODUCCIÓN AL SOFTWARE APLICADO AL MODELADO
 

LABORATORIO DE MODELADO DE SISTEMAS 
 
28 de enero de 2013 
Autor: Rubén Velázquez Cuevas 
Práctica 1
INTRODUCCIÓN AL SOFTWARE APLICADO AL MODELADO

OBJETIVO:

Conocer el software utilizado como herramienta de diseño y verificación para el modelado de sistemas e ingeniería
del control.

INTRODUCCIÓN:

Los programas de cálculo técnico y científico con lenguajes de alto desempeño y que integran computación,
visualización y programación en un ambiente sencillo de utilizar y donde los problemas y sus soluciones están
expresados en notación matemática familiar son característicos de software especializado en el modelado matemático
de sistemas. Uno de los más utilizados es Matlab, cuyo nombre tiene origen en la abreviación de “MATRIX
LABORATORY”. Dentro de sus usos más típicos se tienen:

 Cálculos matemáticos
 Desarrollo de algoritmos
 Adquisición de datos
 Modelado y simulación
 Análisis exploración y visualización de datos
 Gráficos científicos y de ingeniería
 Desarrollo de aplicaciones

Este software se ha convertido en una de las herramientas básicas para profesionales e investigadores de centros
docentes de diversas áreas, tales como: sistemas e ingeniería de control, álgebra lineal, procesamiento digital de
imágenes y señales, etc. En la industria, se utiliza como herramienta de investigación para la resolución de problemas
complejos planteados en la realización y aplicación de modelos matemáticos en ingeniería. Los usos más
característicos los encontramos en áreas de computación y cálculo numérico tradicional, generación de algoritmos
prototipo, teoría de control automático, estadística y análisis de series temporales para el proceso digital de señales
entre otros.

Adicionalmente, existen librerías que cuentan con una serie de herramientas especializadas para diferentes ámbitos
científicos. Por ejemplo:

 Herramientas para resolver ecuaciones diferenciales parciales


 Herramientas para los sistemas de control
 Herramientas de optimización
 Herramientas para la calibración basada en modelos
 Herramientas de matemáticas simbólicas
 Herramientas para el procesamiento de señales

Otros programas con características similares donde se pueden alcanzar las mismas tareas son: SCILAB, MAPLE,
Modellica, Octave, Derive, Mathematica, LabView, DSPACE, Dymola, C++, etc. De hecho se podría decir que
SCILAB es una versión de software abierto con características similares a MATLAB.

 
2
MARCO TEÓRICO

A continuación se muestra una breve guía para el uso particular del software Matlab, tomando en cuenta que el uso
en otro software mencionado con anterioridad presenta una lógica de programación y aplicación similar.

Al invocar a Matlab, aparece el escritorio principal con tres sub-ventanas (como se muestra en la figura 1.1). En caso
de no observar la misma distribución del escritorio basta con seguir los siguientes pasos desde la barra de menú
principal: View>Desktop Layout>Default.

Figura 1.1. Escritorio Default de Matlab.

La parte más importante de la ventana inicial es la ventana de comandos (Command Window), que aparece en la
parte derecha. En esta sub-ventana es donde se ejecutan los comandos de Matlab, a continuación del prompt
característico (>>), que indica que el programa está preparado para recibir instrucciones.

En la parte superior izquierda de la pantalla aparecen dos ventanas también muy útiles: en la parte superior aparece la
ventana Current Directory, que se puede alternar con Workspace haciendo clic en la pestaña correspondiente. La
ventana Current Directory muestra los ficheros del directorio activo o actual. El directorio activo se puede cambiar
desde Command Window, o desde la barra de herramientas, debajo de la barra de menús, con los métodos de
navegación de directorios propios de Windows. Workspace contiene información sobre todas las variables que se
hayan definido en esta sesión y permite ver y modificar las matrices con las que se esté trabajando. Algunas de las
ventanas pueden variar dependiendo de alguna versión más actualizada.

En la parte inferior izquierda aparece la ventana Command History que muestra los últimos comandos ejecutados en
la Command Window. Estos comandos se pueden volver a ejecutar haciendo doble clic sobre ellos.

En la esquina inferior izquierda de la ventana de Matlab de la pantalla aparece el botón Start, con una función
análoga a la del botón Inicio de Windows. Start da acceso inmediato a ciertas capacidades del programa.

 
3
En general, el entorno de trabajo de Matlab es muy gráfico e intuitivo, similar al de otras aplicaciones profesionales
de Windows. Las componentes más importantes del entorno de trabajo se enlistan a continuación:

1. El Escritorio de Matlab (Matlab Desktop), que es la ventana o contenedor de máximo nivel en la que se
pueden situar las demás componentes.
2. Las componentes individuales, orientadas a tareas concretas, entre las que se puede citar:
a. La ventana de comandos (Command Window),
b. La ventana histórica de comandos (Command History),
c. El espacio de trabajo (Workspace),
d. La plataforma de lanzamiento (Launch Pad),
e. El directorio actual (Current Directory),
f. La ventana de ayuda (Help)
g. El editor de ficheros y depurador de errores (Editor&Debugger),
h. El editor de vectores y matrices (Array Editor).
i. La ventana que permite estudiar cómo se emplea el tiempo de ejecución (Profiler).

La ventana de comandos es uno de los elementos más importantes, ya que esta es el mecanismo a través del cual se
puede establecer comunicación con el intérprete de Matlab. Para simplificar el proceso de introducir comandos,
algunas teclas especiales se pueden usar para editar comandos mal tecleados o llamar líneas de comando previas.
Algunas de ellas son:

↑ Llama a la previa línea


↓ Llama a la siguiente línea
← Mueve un carácter a la izquierda
→ Mueve un carácter a la derecha
Ini Se mueve al inicio de la línea de comando
Fin Se mueve al final de la línea de comando
Esc Borra la línea de comando

Antes de comenzar a trabajar con los primeros comandos, es recomendable crear un subdirectorio de trabajo (desde
el ambiente de Windows) y hacer éste el directorio actual. Esto se hace también desde la ventana de comandos de
Matlab con el comando ; por ejemplo:

>> :\ \ \

De este modo todos los datos y programas que se graben en el disco duro estarán en el subdirectorio apropiado. Uno
de los comandos más útiles es el comando help, ya que ayuda a conocer la operación de los distintos comandos,
funciones o procedimientos. Se recomienda al estudiante utilizarlo a lo largo del estudio de Matlab para información
más detallado sobre los distintos comandos y funciones. Por ejemplo, para obtener información sobre la operación y
uso del comando , teclee lo siguiente:

>>

 
4
Por otro lado, los elementos básicos de Matlab son matrices numéricas rectangulares con elementos posiblemente
complejos. En algunas situaciones se le atribuye un significado especial a las matrices escalares (de 1 1) y a las
matrices con sólo una fila o sólo una columna llamadas vectores. El lenguaje de Matlab no contiene ninguna
declaración de dimensionamiento, si no que asigna a las variables espacio en memoria conforme estas se definen.
Tampoco contiene ninguna declaración del tipo de variable: Todas las variables se manejan como de doble precisión;
es decir, que utiliza 8 bytes para representar cada número real y 16 bytes para cada número complejo. Las
declaraciones de Matlab frecuentemente son de la forma

>> ó

O simplemente

>> ó

La evaluación de la expresión produce una matriz que se asigna a la variable para uso futuro. Si se omite el nombre
de la variable y el signo de “ ” Matlab crea una variable con el nombre “ans” a la cual le asigna el valor de la
expresión. Los nombres de las variables pueden ser cualquier combinación de letras, números y guión bajo,
comenzando con letra. Matlab recuerda sólo los primeros 19 caracteres del nombre y distingue entre mayúsculas y
minúsculas. Algunas variables ya están predefinidas, por ejemplo la constante tiene el valor de 3.1415926…

Matlab dispone de un extenso conjunto de funciones. Las funciones pueden permitir múltiples argumentos de entrada
y salida. Los argumentos de entrada siguen inmediatamente a la función, encerrados entre paréntesis y separados por
comas; los argumentos de salida preceden a la función y al signo “ ” encerrados entre corchetes y separados por
comas. Por ejemplo:

>> . ; . ;

>> ,

Regresa el arco tangente en cuatro cuadrantes de los puntos con coordenadas , , mientras que:

>> : ;

>> ,

Regresa el valor máximo y el índice del valor máximo de los componentes en el vector . Este tipo de
funciones que permiten argumentos múltiples de salida pueden regresar menos argumentos; por ejemplo:

>>

Regresa solo el valor máximo en el vector . las funciones que permiten argumentos múltiples de entrada, en algunas
ocasiones específicas también pueden aceptar menos argumentos de entrada que el máximo permisible. Para saber
estos y otros detalles se recomienda siempre apoyarse del comando help comando.

 
5
DESARROLLO:

Las diferentes habilidades a estudiar (basado en el artículo: Introducción a Matlab de Mauricio Lara Barrón), se
encuentran distribuidas mediante las siguientes secciones:

I. Definición de Matrices y Vectores

II. Operaciones con Arreglos

III. Gráficas en dos Dimensiones

IV. Procedimientos y Funciones

V. Análisis de datos, control de flujo y operaciones con matrices y vectores

Para la elaboración de esta práctica se solicita que por equipo los integrantes realicen una serie de Evidencias que
permitan medir su avance en el conocimiento básico para utilizar Matlab. Como evidencia 1 se tiene la definición de
matrices y vectores. En la tabla 1 se muestran los comandos básicos para definir vectores y matrices.

Comando Significado
: Se utiliza para establecer un intervalo de valores
; Se utiliza al final de una operación o expresión para que no se despliegue el resultado
e Se utiliza para expresar cifras en potencias de diez
who Lista de variables definidas
whos Lista detallada de variables definidas
length Longitud de un vector
size Dimensión de una matriz
clear Limpia memoria, variables y funciones
clc Limpia la consola
eye Matriz identidad
zeros Matriz de ceros
ones Matriz de unos
rand Matriz o vector de números aleatorios, distribución uniforme

Tabla 1. Comandos básicos para definir vectores y matrices

Evidencia 1:

a) Generar un directorio de trabajo en el que se pueda llevar un registro de todos los archivos producidos y
agregarlo al PATH de Matlab

b) Generar un archivo de texto en su carpeta creada (evidencia1.txt) utilizando el comando DIARY

c) A continuación defina las siguientes matrices

1 2 3 1 
 
A   4 5 6  ; B  1 2 3 ; C   4  ; D  15
7 8 9  7 

d) Posteriormente utilice DIARY OFF para cerrar su diario y redefina las matrices B, C y D del modo
siguiente

B  A 1,: ; C  A :,1 ; D  trace  A 


 
6
e) Revise su archivo de texto creado y posteriormente verifique en Matlab los datos de las variables con el
comando WHOS

f) Nuevamente active su diario con DIARY ON y a continuación defina las matrices E, F, G y H de 3 3


mediante los comandos EYE, ZEROS, ONES y RAND respectivamente

g) Guarde las matrices creadas hasta ahora mediante el comando SAVE con el nombre evidencia1.mat y
posteriormente elimínelas con el comando CLEAR. Verifique que se han borrado con el comando WHO

h) Finalmente, restablezca las matrices creadas anteriormente con el comando LOAD y confirme que dio
resultado

La tabla 2 muestra los comandos básicos para realizar operaciones con arreglos. La evidencia 2 consiste en efectuar
los cálculos pertinentes para obtener los resultados que se solicitan.

Comando Significado
+ Adición
 Sustracción
.* Multiplicación elemento por elemento
./ División elemento por elemento
.^ Exponente a cada elemento
sign Función signo
sqrt Raíz cuadrada
exp Exponente de base natural
log Logaritmo natural
log10 Logaritmo base diez
sin Función seno
cos Función coseno
tan Función tangente
asin Función inversa de seno
acos Función inversa de coseno
atan Función inversa de tangente
atan2 Función inversa tangente de cuatro cuadrantes
real Parte real de una matriz
imag Parte imaginaria de una matriz
abs Valor absoluto
angle Ángulo de fase
conj Conjugado complejo
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
== Igual a
~= No igual a
not “NO” lógico (también ~)
and “Y” lógico (también &)
or “O” lógico (también |)
xor “Y/O” lógico

Tabla 2. Comandos básicos para realizar operaciones con arreglos

 
7
Evidencia 2:

a) Defina las siguientes matrices y vectores

 1 2 3   1 5 8  0 0 3 
A   1 5 2  ; B   1 4 2  ; C   4 2 5  ;
   
 2 2 4   2 3 4   3 4 6 

x  1 2 3 ; y   4 5 6

b) A continuación realice las siguientes operaciones

A B B  2* C det  A  inv  C 

c) Efectúe los siguientes cálculos

z1  x  y z2  x.* y z3  x.^y z4  2.^x  y

d) Determine las siguientes expresiones lógicas

L1  B  0 L2  A  B L3  ( A ~  B) & (C  0)

I1  find  ( A ~  B ) & (C  0)  I 2  find  rem( B, 2) ~  0 

e) Finalmente guarde los resultados calculados en un archivo llamado evidencia2.mat

Evidencia 3:

Obtenga la gráfica de la figura 2 mediante el comando PLOT, HOLD ON y GRID. Las funciones graficadas en un
intervalo de tiempo t  [0,10] con incrementos de 0.02; es decir: t=0:0.02:10 son:

a) f (t )  sin(t )  0.2 cos(10t )

b) g (t )  1  e  t sin(5t )

c) h(t )  e 0.5t cos(20t )


La tabla 3 muestra los comandos básicos para graficar en dos dimensiones.

Nota: El color y textura de cada gráfica se pueden personalizar de acuerdo con las características establecidas en el
comando PLOT

 
8
Figura 2. Ejemplos de graficas en 2D

Comando Significado
figure Crea una nueva ventana para gráfica
plot Genera una gráfica de 2D
Permite gráficas múltiples en una
subplot
misma ventana gráfica
title Título de la gráfica
xlabel Etiqueta del eje X
ylabel Etiqueta del eje Y
legend Leyenda de la figura
grid Líneas de cuadriculado
axis Escala y apariencia de los ejes
hold Mantiene la gráfica actual
close Cierra la ventana especificada

Tabla 3. Comandos básicos para graficar en 2D

Además de procesar órdenes desde la ventana de comandos, Matlab puede ejecutar secuencias de comandos
guardados en archivos llamados Archivos M (M-File) puesto que tienen *.m como extensión. Los archivos M son
archivos ASCII ordinarios y se pueden editar, por ejemplo con el editor de texto de Matlab (Debugger). En general
se tienen dos tipos de archivos M: los procedimientos (SCRIPT) y las funciones (FUNCTION).

Los procedimientos son secuencias de comandos y expresiones. Cuando se invoca un procedimiento mediante su
nombre (con extensión *.m), Matlab ejecuta de manera secuencial los comandos listados como si se hubieran
introducido directamente en el teclado. Los procedimientos pueden incluir llamados a otros procedimientos o
funciones.

 
9
Por otro lado, las funciones no operan globalmente en el espacio de trabajo de Matlab. El intercambio de datos se
lleva a cabo a través de un conjunto de argumentos de entrada y salida. Un archivo M se interpreta como una función
cuando en la primera línea aparece la palabra function y el nombre de la función junto con las variables de entrada y
salida. La evidencia 4 consiste en construir dos archivos M que realicen la misma tarea, con la diferencia de que uno
es SCRIPT y el otro es tipo FUNCTION.

Evidencia 4

a) Crear el archivo M tipo SCRIPT de la figura 3 con el nombre evidencia3.m

b) Crear el archivo M tipo FUNCTION de la figura 4 con el nombre SinCos.m

Figura 3. Archivo M tipo SCRIPT Figura 4. Archivo M tipo FUNCTION

Además de las operaciones y funciones básicas descritas hasta ahora, dentro de los archivos-M o bien desde la
ventana de comandos resulta de mucha utilidad el uso de comandos específicos para diferentes tipos de tareas, como
son:

 Análisis de datos

 Control de flujo

 Operaciones con matrices y vectores

 Entrada y salida de datos

 
10
En la tabla 4 se enlistan los diferentes comandos básicos que se utilizan para resolver estas tareas. O se requiere
evidencia para esta sección ya que es únicamente informativa para su uso posterior.

ANÁLISIS DE DATOS
Comando Significado
min Componente más pequeño
max Componente más grande
conv Convolución y/o multiplicación de polinomios
deconv División de polinomios
roots Raíces de un polinomio
poly Polinomio con raíces específicas
CONTROL DE FLUJO
Comando Significado
if Ejecuta grupos de declaraciones basado en condiciones lógicas
else Se utiliza con if en caso de que la condición lógica sea falsa
elseif Se utiliza con if en caso de querer introducir una nueva condición lógica dentro de otra
switch Ejecuta grupos de declaraciones alternos
case Se utiliza con switch para declarar lada una de las consecuencias alternas
otherwise Se utiliza con switch cuando ninguna de las declaraciones con case es verdadera
for Repite un grupo de declaraciones un número de veces determinado
while Repite un grupo de declaraciones bajo el control de una condición lógica
end Fin del alcance de las sentencias if, switch, for, while
break Termina la ejecución de un bucle
return Regresa el control al procedimiento o a la función invocadora
OPERACIONES CON MATRICES Y VECTORES
Comando Significado
´ Transposición compleja
.´ Transposición no compleja
trace Traza de una matriz
det Determinante de una matriz
inv Inversa de una matriz
eig Valores propios
[] Asigna una matriz de dimensión cero
ENTRADA Y SALDA DE DATOS
Comando Significado
disp Exhibe matrices o texto
input Pregunta por entrada del usuario
keyboard Invoca el teclado como si fuera un archivo-M tipo script
pause Espera por la respuesta del usuario
save Guarda variables en el disco
load Recupera variables del disco
fprintf Escribe datos con formato a archivo

Tabla 4. Comandos básicos para la solución de diferentes tipos de tareas

 
11

También podría gustarte