Está en la página 1de 11

Práctica 1

Introducción al software MATLAB para modelado de sistemas


Jorge de Jesus Morales Mercado.
Objetivo:

Conocer el ambiente de trabajo de la herramienta MATLAB que se utiliza para el diseño y simulación
en el modelado de sistemas, así como en el control de sistemas.

Introducción:

Uno de los programas más utilizados para el desarrollo e implementación de modelados es Matlab,
nombrado de esta manera como una abreviación de las palabras “MATRIX LABORATORY”. Esto es
debido a que es un programa en el cual se puede realizar computación, visualización y programación
con un ambiente sencillo de utilizar, encontrando los siguientes usos para esta herramienta:

▪ Modelado y simulación de sistemas


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

Las aplicaciones de este software se pueden desarrollar, aunque no está limitado a estas, en las
siguientes áreas: Ingeniería de automatización de sistemas, ingeniería de control de sistemas,
álgebra lineal, análisis digital de imágenes y señales. Principalmente se utiliza para la obtención de
modelos matemáticos en ingeniería.

En este ambiente se cuenta con librerías con una serie de herramientas especializadas en:

▪ Ecuaciones diferenciales parciales


▪ Sistemas de control
▪ Adquisición de datos
▪ calibración basada en modelos
▪ Procesamiento de señales y visión artificial

Conocimiento previo

El primer paso sería reconocer el ambiente de trabajo que se tiene en MATLAB, en donde
revisaremos la distribución que tiene el área de trabajo de este programa.

AL arrancar el programa se observan 3 ventanas de trabajo principales que son Command Window,
WorkSpace y Curent Folder (Observar Figura 1), mientras que en la parte superior se tiene algunas
aplicaciones y contenido de Matlab. En caso de no observar estas ventanas seleccionar la opción de
Layout y seleccionar Default o en otras versiones seleccionar View ->Desktop Layout -> Default,
dependiendo de la versión del programa.

El entorno de Trabajo de Matlab es muy sencillo donde las componentes más importantes del
entorno de trabajo se enlistan a continuación:

1. El Escritorio de Matlab (Matlab Desktop), que es el contenedor de aplicaciones o demás


contenido de MATLAB (Entre las que destacan New Script y Simulink).
2. Las componentes individuales, orientadas a tareas concretas, entre las que se puede utilizar:
▪ La ventana de comandos (Command Window)
▪ La ventana histórica de comandos (Command History),
▪ El espacio de trabajo (Workspace),
▪ La plataforma de lanzamiento (Launch Pad),
▪ El directorio actual (Current Directory),
▪ La ventana de ayuda (Help)
▪ El editor de ficheros y depurador de errores (Editor&Debugger),
▪ El editor de vectores y matrices (Array Editor).
▪ La ventana que permite estudiar cómo se emplea el tiempo de ejecución (Profiler).

Figura 1. área de trabajo de MatLab.

La función de las 3 ventanas principales de MatLab son las siguientes:

- Command Window; En esta parte se ejecutan los comandos de Matlab, encontrándonos


con el siguiente símbolo (>> observar en la figura 1), el cual indica que el programa está
preparado para recibir instrucciones.
- Workspace; Esta parte 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.
- Current Directory; En esta parte se muestra los archivos y ficheros que se encuentren en la
dirección actual en la que se encuentran trabajando. El directorio activo se puede observar
entre las aplicaciones y las ventanas de trabajo de Matlab (Observar Figura 1).

El primer paso sería crear la dirección donde se guardará o donde se contiene la información
trabajada en MatLab. Esto se puede hacer cambiando la dirección dando clic en el directorio,
copiando y pegando la dirección deseada en el directorio o con el comando “𝒄𝒅”, por ejemplo:

≫ 𝒄𝒅 𝒄:\𝒎𝒊𝒔𝒅𝒐𝒄𝒖𝒎𝒆𝒏𝒕𝒐𝒔\𝒎𝒐𝒅𝒆𝒍𝒂𝒅𝒐𝒅𝒆𝒔𝒊𝒔𝒕𝒆𝒎𝒂𝒔\𝒑𝒓𝒂𝒄𝒕𝒊𝒄𝒂𝟏
NOTA: Para conocer como se ejecuta correctamente cada uno de los comandos para MatLab se
puede usar el comando help espacio y el comando a utilizar, con esto se obtiene una gran
información de la utilización de cada comando. Por ejemplo, para obtener información sobre la
operación y uso del comando 𝒄𝒅, se escribe lo siguiente en command window:

≫ 𝒉𝒆𝒍𝒑 𝒄𝒅
La ventana de comandos “command window” la ventana de interacción principal entre el usuario y
Matlab. En esta ventana algunas teclas del teclado utilizado tienen funciones como las siguientes:

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

Las variables o elementos trabajados en Matlab son matrices numéricas rectangulares donde se
pueden contener elementos complejos. El lenguaje de Matlab no contiene ninguna declaración de
dimensionamiento, si no que asigna a las variables un espacio en memoria conforme estas se
definen. Tampoco contiene ninguna declaración del tipo de variable así que 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

≫ 𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏 𝒎𝒂𝒕𝒆𝒎á𝒕𝒊𝒄𝒂

En el primer comando el resultado de la expresión matemática se guardará como una variable


matricial con el nombre “variable” mientras que en el comando se guardará el resultado de la
expresión matemática como una constante matricial con el nombre de “ans” por lo que al escribir
más expresiones sin nombre durante la programación se reescribirá en el resultado “ans” sin
guardar el valor anterior. 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...

En los comandos de Matlab existen algunas funciones que necesitan de una o más entradas. Por lo
que se escribe la función y enseguida los argumentos de entrada encerrados entre paréntesis y
separados por comas. Mientras que los argumentos obtenidos por la función (las Salidas) se escriben
entre corchetes separados por comas después el signo “=” después la función. Por ejemplo, la
función tangente:

≫ 𝒙 = 𝟎. 𝟐;
≫ 𝒚 = 𝟎. 𝟖;
≫ 𝒂𝒏𝒈𝒖𝒍𝒐 = 𝐚𝐭𝐚 𝐧(𝒙, 𝒚) ;

Este comando obtiene el ángulo con el arco tangente en cuatro cuadrantes de los puntos con
coordenadas (x,y).
Ejemplo del valor máximo;

≫ 𝒛 = −𝟏: 𝟏: 𝟏;
≫ [𝒎𝒛, 𝒊𝒛] = 𝐦𝐚𝐱(𝒛) ;

El primer comando crea un vector que inicia en la posición -1 avanza de 1 en 1 y termina en el valor
1, mientras que el resultado regresa el valor máximo “mz” del vector z y “iz” el índice del valor
máximo de los componentes en el vector z. Este tipo de funciones que permiten argumentos
múltiples de salida pueden regresar menos argumentos; por ejemplo “≫ 𝒎𝒛 = 𝐦𝐚𝐱 (𝒛)“ solo
regresa el valor máximo en el vector z:

Recuerden que para saber con detalle cada comando o función se recomienda siempre apoyarse
del comando help comando.

Desarrollo:
Desarrollar los siguientes procedimientos dentro de la herramienta MatLab.
I) Definición de Matrices y Vectores

Se tienen una serie de comandos básicos para la construcción de los vectores y las matrices en
Matlab. En la tabla 1 se enlistan algunos de los principales comandos para matrices y vectores.

Tabla 1. Comandos para definir vectores y matrices.


Comando Significado
: Establece un intervalo de valores
; Finaliza una operación y no se despliega el resultado.
e Se utiliza para expresar cifras en potencias de 10
who Lista de variables definidas
whos Lista detallada de variables definidas
length Longitud del vector
size Dimensión de una matriz
clear Limpia variables y memoria
clc Limpia la pantalla (no borra memoria)
eye Matriz identidad
zeros Matriz de ceros
ones Matriz de unos
Rand Vector o matriz de elementos aleatorias con distribución uniforme
La estructura para definir a los vectores y las matrices se basa en separar elementos en columnas
de una fila mediante comas o espacio y para realizar una nueva fila se separa mediante un punto y
coma, con todos estos elementos dentro de corchetes. ejemplos:
≫ 𝒗𝒆𝒄𝒕𝒐𝒓𝒇𝒊𝒍𝒂 = [𝟏 𝟐 𝟑];
≫ 𝒗𝒆𝒄𝒕𝒐𝒓𝒄𝒐𝒍𝒖𝒎𝒏𝒂 = [𝟏; 𝟐; 𝟑];
≫ 𝒎𝒂𝒕𝒓𝒊𝒛 = [𝟏 𝟐 𝟑; 𝟒 𝟓 𝟔; 𝟕 𝟖 𝟗];

Procedimiento 1: Realizar los siguientes pasos:


a) Crear un directorio donde guardara los archivos de la práctica.
b) Generar un archivo de texto (>>diary procedimiento1.txt)
c) Defina las matrices:
1 2 3 1 
 
A =  4 5 6  ; B = 1 2 3 ; C =  4  D = 15 ;
7 8 9  7 
d) Utilizar >>diary off y redefenir las matrices:
B = A(1,:); C = A(:,1); D = trace( A);
e) Revisar el archivo de texto creado y también ejecutar el comando whos en MatLab.
f) Reactivar el diario >>diary on y crear la matrices E, F y G de dimensión 3x3 con los comandos
eye(3), ones(3) y rand(3,3) respectivamente.
g) Guardar las matrices creadas con el comando >>save procedimiento.mat, después elimine
las matrices con >>clear all y verificar que se borraron con el comando >>who.
h) Reestablecer las matrices anteriores con el comando >>load procedimiento1.mat.

Existen operaciones que se pueden realizar con vectores y matrices, continuación es enlista algunos
comandos para operaciones con matrices.
Tabla 2. Comandos para Operaciones de matrices
comando Significado
+ Adición
- Sustracción
.* Multiplicación elemento a elemento
./ División elemento a elemento
.^ Exponencial a cada elemento
sign Función signo
sqrt Raíz cuadrada
exp Exponente de base neutral
log Logaritmo natural
log10 Logaritmo de base 10
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 de tangente en 4 cuadrantes
real Parte real de una matriz
imag Parte imaginaria de una matriz
abs Valor Absoluto
angle Ángulo 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 se usa ~)
and “Y” lógico
or “O” lógico
xor “Y/O” lógico

De la misma forma podemos encontrar funciones que otorgan propiedades de matrices, a


continuación, se enlista los comandos.
Tabla 3. Comando de funciones de matrices
Comando Significado
rank(A) Rango de la matiz A
det(A) Determinante de la matriz A
[U,V]=eig(A) Autovalores(U) y Autovectores(V) de la matriz A
Norm(A) Norma de la matriz A
trace(A) Traza de la matriz A
inv(A) Inversa de la Matriz A
poly(A) Polinomio característico de la matriz A
roots(p) Raíces del polinomio p

Procedimiento 2: Realizar las siguientes operaciones:

a) Define 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) Realizar las siguientes operaciones:
A+B B-2*C Det(A) Inv(C)

c) Realizar los siguientes cálculos:


Z1=x+y Z2=x.*y Z3=x.^y Z4=2.^x-y
d) Determine las siguientes expresiones lógicas (arroja un 1 si es verdadero o un 0 si es falso):
L1=B>0 L2=A==B L3=find(rem(B,2)~=0)

e) Guardar los resultados en un archivo llamado procediemiento2.mat

II) Funciones y graficas:

Para poder obtener las gráficas (en dos dimensiones) se debe analizar cuales son las variables
que tenemos disponibles para poder graficar, por ejemplo, una función como lo es el seno
“y=sin(w);” y el vector con el cual se esta calculando “w=0:3/4*pi;”. Con esto se enlistan los
siguientes comandos para graficar en Matlab:
Tabla 4. Comandos para graficar en MatLab
Comando Significado
figure Crea una ventana para graficar
plot Genera una gráfica en 2D
subplot Permite varias graficas en una ventana
title Título de la grafica
xlabel Etiqueta del eje x
ylabel Etiqueta del eje y
legend Leyenda de la figura
grid Lineas del cuadriculado
axis Escala y apariencia de los ejes
hold Mantener la gráfica actual
close Cierra la ventana especificada

Procedimiento 3: Graficar las siguientes funciones:

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

a) 𝑓(𝑡) = 𝑠𝑖𝑛(𝑡 ) + 0.2 ∗ 𝑐𝑜𝑠(10𝑡)

b) 𝑔(𝑡) = 1 − 𝑒 −𝑡 𝑠𝑖𝑛(5𝑡)

c) ℎ(𝑡) = 𝑒 0.5𝑡 𝑐𝑜𝑠(20𝑡)


Figura 2. Grafica usando Hold on.

Nota: El color y textura de cada gráfica se pueden personalizar de acuerdo con las características
establecidas en el comando PLOT, y para cada una de las características se enlista la siguiente tabla:
Tabla 5. Características en las figuras de MatLab.
Símbolo Significado
y Amarillo
m Magenta
c Cian
r Rojo
g verde
b azul
w Blanco
K Negro
- Línea solida
: Línea punteada
-. Trazos y puntos
-- Trazos
o circulo
X x
+ Cruz
* Estrella
S Cuadrado
D Diamante
V Triangulo abajo
< Triangulo izquierda
> Triangulo derecha
p Pentágono
h Hexágono
d) Obtener la figura 3 con el comando subplot obteniendo solo la parte real de las funciones:

≫ 𝒙 = −𝟐𝟎: 𝟎. 𝟏: 𝟐𝟎;
≫ 𝒚 = 𝐚𝐭𝐚𝐧𝐡(𝒙) ;
≫ 𝒚𝟏 = 𝐚𝐭𝐚𝐧𝐡(𝟎. 𝟕𝟓 ∗ 𝒙) ;
≫ 𝒚𝟐 = 𝐚𝐭𝐚𝐧𝐡(𝟎. 𝟓 ∗ 𝒙) ;
Inicio del programa (El porcentaje “%” inicia un comentario en el programa):

>> 𝒔𝒖𝒃𝒑𝒍𝒐𝒕(𝟐, 𝟏, 𝟏); %Primera grafica con 2 ocupa 2 lugares y está en la posición 1,1.

>> 𝒑𝒍𝒐𝒕(𝒙, 𝒓𝒆𝒂𝒍(𝒚), ’𝒌 − ’, 𝒙, 𝒓𝒆𝒂𝒍(𝒚𝟏), ’𝒌: ’, 𝒙, 𝒓𝒆𝒂𝒍(𝒚𝟐), ’𝒌 + ’);


>> 𝒚𝒍𝒂𝒃𝒆𝒍(‘𝒚’);
>> 𝒕𝒊𝒕𝒍𝒆(𝒑𝒂𝒓𝒕𝒆 𝒓𝒆𝒂𝒍 𝒅𝒆 𝒕𝒈𝒉^{−𝟏});
Continuar el código graficando la parte absoluta en la posición (2,2,3), y la parte del ángulo fase en
la posición (2,2,4), observar figura 3.

Figura 3. Graficar usando subplot.

III) Archivos de programación:

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 subnombre (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.
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.

Procedimiento 4: Realizar los siguientes archivos Scrip y guardarlos.

a) Abrir un archivo M o script y guardarlo como procedimiento4.m, crear y correr el programa


de funciones seno y coseno.
b) Abrir un archivo M o script y guardarlo como funcionSC4.m, crear el código de la función y
correo el programa generando en el “command window” w=-pi:0.1:pi, y ax=[-pi pi -1.1 1.1];

Figura 4. Seno y coseno Figura 5. función seno y coseno.

También podría gustarte