Está en la página 1de 15

DIVISIÓN DE INGENIERÍA ELÉCTRICA ML

DEPARTAMENTO DE CONTROL Y ROBÓTICA

FUNDAMENTOS DE CONTROL L1
Clave(6997)

—— Guı́a de clase laboratorio N◦ 1 ——

NOCIONES DE MATLAB Y SIMULINK

Apellidos y nombres:

Grupo: 3 Profesor: Fecha realización:


Semestre: 2019-1 MI. Mauro G. López R. Fecha entrega:
Brigada:

RÚBRICA DE EVALUACIÓN DE LA GUÍA DE CLASE


BUENO (2 PUNTOS) REGULAR (1.5 PUNTOS) NO ACEPTABLE (1 PUNTO)
CONCEPTOS, RUBROS O ASPECTOS A EVALUAR Completo entendimiento del problema, realiza la actividad cumpliendo todos Bajo entendimiento del problema, realiza la actividad No demuestra entendimiento del
los requerimientos. cumpliendo algunos de los requerimientos. problema o de la actividad.

Tiene conocimientos parciales de cálculo, No tiene conocimientos de


Tiene conocimientos de cálculo, álgebra lineal y
1. Conocimiento de cálculo y modelado de álgebra lineal y herramientas para cálculo, álgebra lineal y
herramientas para modelar el comportamiento de
sistemas dinámicos modelar el comportamiento de sistemas herramientas para modelar
sistemas dinámicos
dinámicos el comportamiento de
sistemas dinámicos
Carece del manejo de las
Muestra el buen manejo de las herramientas de Muestra un parcial manejo de las
2. Manejo del software herramientas de Matlab y
Matlab y de Simulink herramientas de Matlab y de Simulink
de Simulink

Entrega parcialmente las actividades No entrega las actividades


3.Realización de las mediciones Entrega las actividades perfectamente realizadas
perfectamente realizadas realizadas

Responde las preguntas correctamente tomando en Responde parcialmente las preguntas No responde el
4. Realiza el cuestionario y actividades de cuenta la información proporcionada en el fundamento o las respuestas no son precisas y cuestionario y no realiza
investigación teórico y realiza las actividades de investigación realiza las actividades de investigación las actividades de
correctamente apoyados en la literatura citada inadecuadamente investigación
Las conclusiones generadas son
Reflexiona sobre las actividades, demuestra
únicamente un recuento de lo realizado No genera conclusiones y
5. Genera conclusiones o evaluación pensamiento crı́tico en el desarrollo guı́a y aporta con
en la guı́a sin generar ninguna observaciones
recomendaciones sobre las actividades
observación
ATRIBUTOS DEL EGRESADO A LOS QUE CONTRIBUYE LA GUÍA DE CLASE NIVEL
Calificación
A1. Identificar, formular y resolver problemas de ingenierı́a aplicando los principios de las ciencias básicas e ingenierı́a. Intermerdio
A2. Aplicar, analizar y sintetizar procesos de diseño de ingenierı́a que resulten en proyectos que cumplen las necesidades especificadas. Avanzado
A3. Desarrollar y conducir experimentación adecuada; analizar e interpretar datos y utilizar el jucio ingenieril para establecer conclusiones. Avanzado

CONTROL DE MODIFICACIONES
Rev Descripción Elaborado por Revisado por Fecha
0 Primera versión Ing. Benjamı́n Ramı́rez Dr. Paul Rolando Maya Or- 08/02/2018
Hernández tiz
' $
Clave(6997) Página 1 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

I. Objetivos generales L1

1. Al finalizar la práctica el estudiante utilizará los comandos básicos de MATLAB para el manejo de funciones de trans-
ferencia, para graficar funciones ası́ como para el análisis de sistemas de control.
2. Iniciar al alumno en el manejo y uso de “SIMULINK ” como una herramienta de MATLAB y que sirva para el análisis
de sistemas dinámicos.

Objetivos especı́ficos de SIMULINK :


a) El alumno se iniciará en el manejo y uso de la caja de herramientas de SIMULINK . de “MATLAB ”, para el
análisis de sistemas dinámicos.
b) El estudiante aprenderá mediante un ejemplo sencillo la aplicación y uso de la herramienta SIMULINK de MATLAB
para la simulación de circuitos por bloques.

II. Recursos
1. Computadora Dual Core 1.6 Ghz, 4GB RAM.
2. Software MATLAB versión 2007a.

III. Seguridad en la ejecución de la actividad


Peligro o fuente de energı́a Riesgo asociado Medidas de control Verificación

Identificar los puntos energizados antes de


1ro Voltaje (corriente de alterna) Electrocución
127 V realizar la actividad y evitar contacto

Verificar polaridad y nivel antes de realizar


2do Voltaje (Corriente directa) Daño a equipo
24 V la conexión del equipo o dispositivo

Apellidos y nombres:

IV. Fundamento teórico


El estudiante deberá contar con conocimientos matemáticos relativos a los cursos de Álgebra, Ecuaciones Diferenciales,
conocer el manejo matemático de los sistemas lineales invariantes en el tiempo ası́ como las bases de la solución numérica
de problemas matemáticos. Deberá contar con conocimientos básicos de programación en algún lenguaje de alto nivel. Se
recomienda que cuente con una computadora con la versión R2007a de MATLAB.

IV.1. Actividad 1
IV.1.1. Introducción
Matlab es una herramienta de simulación y cálculo matemático de tipo numérico (básicamente matricial) que puede
utilizarse para resolver modelos que representan sistemas dinámicos. La capacidad de cálculo de Matlab se basa en sus
múltiples funciones (comandos). En esta práctica se mostrará la utilidad de algunas de ellas. Al abrir Matlab hay tres
pantallas aparece una pantalla con tres ventanas: La primera ventana de la izquierda, es la ventana de arranque (launch
pad ) en donde se localizan todos los directorios y demos. La segunda ventana a la izquierda, donde se lleva un registro de
los comandos que se han ejecutado, ası́ como de las variables y parámetros utilizados, ventana de historia de comandos
(command history). La tercera ventana a la derecha, la ventana de comandos ( command window ) se considera la ventana
principal y es precisamente donde se declaran las variables y comandos de un programa y donde se ubica el sı́mbolo ”))”,
como se muestra en la Figura 1.
El indicador o Prompt representado por el sı́mbolo ”))” en la ventana de comandos indica que MATLAB está en espera
de que se introduzca un comando, una variable o la asignación de un parámetro. Para salir de MATLAB cuando sea perti-
nente use los comandos quit o exit.

La sintaxis general de MATLAB es la siguiente:


& %
' $
Clave(6997) Página 2 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

L1

Figura 1. Pantalla de matlab R2007a

[salidal, salida2, ...] = nombredecomando(entradal, entrada2, ...);


donde las variables de salida se encierran entre paréntesis cuadrados (corchetes) y las de entrada entre paréntesis nor-
males. Para una sola salida los corchetes son opcionales. Si no hubiera al final de la sentencia un punto y coma, el programa
nos mostrarı́a el resultado recogido en cada una de las salidas.

El programa MATLAB hace diferencia entre mayúsculas y minúsculas.

Las variables generadas durante una sesión se van almacenando en el ”espacio de trabajo” del propio programa. Si se
saliera de éste sin salvarlas previamente las variables se perderı́an. Para guardarlas se utiliza el comando ”save + nombre-
archivo”. Por ejemplo:

)) save prac00

MATLAB automáticamente agrega la extensión *.mat. Para recuperar los resultados de una sesión anterior se teclea el
comando:

)) load prac00

y coloca su contenido en el ”espacio de trabajo”. Para consultar el contenido del ”espacio de trabajo” se teclea el
comando:
)) who (”whos” proporciona información adicional a cada variable)

Si se desea borrar alguna de las variables del .espacio de trabajo”se utilizará:

)) clear variable 1

Si sólo se teclea )) clear se borrarı́an todas las variables existentes. Para consultar los archivos que están contenidos en
el ”directorio de trabajo” desde el cual se inicia la sesión de MATLAB ( c:>matlab trabajo ) se usa el comando:
)) dir
& %
' $
Clave(6997) Página 3 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

IV.2. Actividad 2 L1
IV.2.1. IV.2 Estructura de los Datos en MatLab
INGRESO DE DATOS
La forma de ingresar los datos, puede ser de alguno de los tipos siguientes: Un escalar, un vector o una matriz.

DEFINICIÓN DE UN ESCALAR
Un sólo dato, por ejemplo

A = 8.7
DEFINICIÓN DE UN VECTOR
Si una matriz tiene una sola renglón (escribiendo los caracteres separados por comas o espacios) o una sola columna
(escribiendo los caracteres separados por punto y coma), entonces se ingresó un vector; conocidos como un vector renglón
o un vector columna.  
B = 12.56 36.47
MATRIZ
El tamaño de una matriz se especifica por el número de renglones y de columnas; ası́, es una matriz de 3 × 3. Un dato de
una matriz se puede identificar por los subı́ndices; ası́ W13 representa el dato 90 de la matriz W , si una matriz contiene m
renglones y n columnas, entonces contiene un total de m × n valores; ası́ W , es una matriz de tamaño 3 × 3.
 
1 34 90
W = 59 12 67
22 −9 37
ESTILO
MATLAB es sensible a la diferencia entre mayúsculas y minúsculas, ası́ que los nombres ”Dato, DATO y dato” representan
tres variables distintas.

DEFINICIÓN DE UNA MATRIZ


La forma más sencilla de definir una matriz es usar una lista de números, como:
   
A = 8.7 , B = 12.56 36.47
La matriz W se puede ingresar como:
 
W = 1 34 90; 59 12 67; 22 −9 37 ;
Para obtener:  
1 34 90
W = 59 12 67
22 −9 37
PUNTOS SUSPENSIVOS
Si hay demasiados números en un renglón de una matriz para que quepan en una lı́nea, podemos continuar la instrucción en
la siguiente lı́nea, pero se requiere una coma y tres puntos al final de la lı́nea para indicar que la renglón debe continuar.

EJEMPLO  
H = −2, 0, −3, 4, −3, −4, 5, 0, 0, 2, 1, 1, 1, 3, 4, −0.2 ;
Que también se puede escribir como:
H = [−2, 0, −3, 4, −3, −4, ...
5, 0, 0, 2, 1, 1, 1, 3, 4, −0.2]
MATLAB también permite usar una matriz que ya se definió:

EJEMPLO  
B = 1.5, 4.1

& %
' $
Clave(6997) Página 4 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

L1
 
D = −4, B
este comando arroja  
D = −4, 1.5, 4.1
También podemos modificar los valores de una matriz o agregar valores adicionales usando una referencia a un lugar
especı́fico.

EJEMPLO

D(3) = 6 ;Cambia el tercer valor de la matriz D del valor 4.1 por 6, para quedar como:
 
D = −4, 1.5, 6

Ası́ también logramos extender una matriz definiendo nuevos elementos.


Si ejecutamos el siguiente comando D(4) = 2.5; La matriz D tendrá cuatro valores en lugar de tres, ası́ D se verá como;
 
D = −4, 1.5, 6, 2.5

TECLEÉ LOS SIGUIENTES COMANDOS


1. B=[2;4;6;10], Lo que define un vector columna.
2. C=[5,3,5;6,2,–3], Lo que define una matriz de 2x3.

3. E=[3,5,10,0;0,0,... 0,3;3,9,9,8], La coma y tres puntos para continuar la lı́nea.


4. T=[4,24,9], Q=[T,0,T], Intercala el valor de 0 entre los dos vectores.
5. V=[C(2,1);B], De la matriz C21 selecciona el valor de y lo agrega al vector B.

6. A(2,1)=-3, Crea una matriz A y le asigna el Valor de -3 al elemento a21 .


El OPERADOR DE DOS PUNTOS
Es útil para generar matrices nuevas. Si se usa el operador dos puntos para separar dos enteros, el operador de dos puntos
generara todos los enteros entre los dos enteros especificados.

n=1:10 ,Este operador es especialmente útil para generar los ı́ndices de tiempo de una señal en tiempo discreto.

También se usa el operador dos puntos para separar tres números, el operador de dos puntos generará valores entre el
primer número y el tercero, usando el segundo número como incremento:
t=0.0:0.5:6.0 , Este operador es especialmente útil para generar los ı́ndices de tiempo continuo o un dominio de una
función analógica

r =15:-1:0 , El incremento también puede ser negativo


FUNCIONES ESPECIALES PARA GENERAR MATRICES NUEVAS.
El comando size devuelve dos argumentos escalares que representan el número de renglones y el número de columnas,
podemos usar size para generar una matriz de unos o ceros que tengan el mismo tamaño que la otra matriz ejemplo:
 
C = 1, 2, 3; 4, 2, 5 , → D = ones(size(C)), → D = zeros(size(C)).
OPERACIONES CON ESCALARES, VECTORES Y MATRICES:
Ingrese los siguientes comandos:    
a = 3; b = 2, 6, 4 , c = 4, 10, 2 ,
los vectores y matrices pueden multiplicarse por un escalar: a ∗ b.

ans es el nombre dado a un resultado cuando el usuario no le asigna un nombre.

& %
' $
Clave(6997) Página 5 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

Un escalar puede sumarse a un vector o matriz: a + c L1

La suma de un escalar a un vector o matriz sólo añade el escalar a cada elemento del vector o matriz la resta se define
de manera similar: a − b

Los vectores y matrices se suman (o restan) como lo hacemos en matemáticas, esto es, los dos vectores o matrices deben
tener la misma forma para sumarse o restarse a menos que uno de ellos sea un matriz de 1 ∗ 1, un escalar, como lo vimos
antes : b + c, c − b

Los vectores y las matrices se multiplican de acuerdo a las reglas del álgebra matricial: b ∗ c

Este resultado ilustra un error común en Matlab. Las matrices deben ser conformables para ser multiplicadas utilizando
el operador ∗. La premultiplicación de un vector renglón de 1 × 3 como c por un vector renglón de 1 × 3 como b no está
definida. Sin embargo si c se transpusiera a un vector columna 3 × 1, se definirı́a la multiplicación. La transposición se
efectúa con el operador ’(apostrofe). c0 , b ∗ c0 este es el producto bcT .

OPERACIONES ELEMENTO POR ELEMENTO


A menudo es muy útil multiplicar dos vectores o matrices de la misma forma, elemento por elemento en vez de utilizar
las reglas usuales de la multiplicación de matrices. Ese tipo de multiplicación se denomina multiplicación del arreglo en
Matlab y se lleva a cabo utilizando el operador .∗

Las operaciones elemento por elemento, u operaciones de arreglos, no sólo se aplican a operaciones entre dos matrices
del mismo tamaño, si no también a operaciones entre un escalar y un no escalar.

Ası́ pruebe las instrucciones de cada uno de los siguientes juegos:


1. A = [4, 3, 2, 4, 6];
2. C = 3. ∗ A

3. G = A./5
Las vectores resultantes C y G tendrán el mismo tamaño que A.

A fin de ilustrar las operaciones de arreglos para vectores, considere los dos siguientes vectores renglón:
 
B = −6, 3, −2, 4, 6
Calculemos el producto de arreglos de A y B usando las siguientes instrucciones:

B = A. ∗ B
El comando de división de arreglos,

B = A./B
Asimismo la exponenciación de arreglos también es una operación elemento por elemento, ejemplos;

Z = A.2 M = A.B
También podemos usar una base escalar con un exponente vector como;

P = 3.A
Los ejemplos anteriores utilizaron vectores, pero las mismas reglas se aplican a matrices con renglones y columnas, como
lo podrás constatar declarando la matriz d ejecutando las operaciones indicadas:

d = [1 : 6; −1 : −1 : −6], → f = d. ∗ 6 → w = d.2

& %
' $
Clave(6997) Página 6 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

Comando Función L1
roots Cálculo de las raı́ces de un polinomio
poly Vonstruye un polinomio con las raı́ces especificadas
polyval Evalúa un polinomio
polyvalm Evalúa un polinomio con una matriz como argumento
residue Desarrollo de fracciones parciales (residuos)
polyfit Ajuste de un polinomio a unos datos
polyder Derivada de un polinomio
conv Multiplicación de polinomios
deconv División de polinomios
Tabla 1. Comandos para operar con polinomios

IV.3. Polinomios y Funciones de Transferencia


MatLab representa a los polinomios como si fueran vectores, los cuales contienen los coeficientes del polinomio ordenados
de la mayor a la menor potencia. Por ejemplo, para el polinomio, s3 + 2s2 + 3s + 4 se debe crear el vector.

 p = [1, 2, 3, 4];
Las raı́ces de la ecuación algebraica que se obtiene al igual el polinomio a cero se pueden obtener utilizando la instrucción:

 roots(p)
si se cuenta con las raı́ces se puede formar el vector que representa al polinomio en MatLab mediante la instrucción
poly( ), por ejemplo:

 p2 = poly([−1, −2])
Para evaluar el polinomio en un punto se utiliza la instrucción:

 ps = polyval(p, s)

donde p es el vector que representa al polinomio en MatLab y s es el punto en el cual se desea evaluar. Puede evaluarse
al polinomio en un conjunto de valores si s se define como un vector.

Para la multiplicación de polinomios se maneja la instrucción:

 c = conv([l1], [12])
y para la división:

 d = deconv([1, 3, 2], [1, 1])


Para que MatLab presente en forma de fracción se utiliza

 printsys(num, den)

Otros comandos útiles pueden verse en la Tabla 1.


Nota: Si tiene alguna duda respecto a algún comando puede teclear help comando.

IV.4. Actividad 3
IV.4.1. IV.4 Representaciones Gráficas
GRAFICA x-y
Gráficas x vs. y sencillas. Suponga que se desea graficar los resultados de un experimento,y se cuenta con una tabla de
datos.
Pruebe generar esta gráfica: creando un vector llamado x

& %
' $
Clave(6997) Página 7 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

x 1 2 3 4 5 6 7 8 9 10 L1
y 158.5 93.8 84.2 77.3 111.5 88.3 100.1 65.6 90.5 149.4
Tabla 2. Mi primera gráfica

Color Marcador Estilo de lı́nea


y amarillo . punto - continua
m magenta o cı́rculo : punteada
c cian x marca -. guión punto
r rojo + más – discontinua
g verde * asterisco
b azul s cuadrado
w blanco d diamante
k negro v triángulo (hacia abajo)
ˆ triángulo (hacia arriba)
Tabla 3. Colores, marcadores y estilos

x = [1 2 3 4 5 6 7 8 9 10];

y un vector llamado y con los datos:

y = [158.5 93.8 84.2 77.3 111.5 88.3 100.1 65.6 90.5 149.4];

plot (x, y)

Se genera automáticamente la gráfica. También es posible dibujar una retı́cula sobre la gráfica mediante el uso del
comando: grid

Varias instrucciones para el análisis de sistemas generan automáticamente gráficas. Un último aspecto que será impor-
tante en la obtención de representaciones gráficas es la forma de incluir textos en ellas, las principales instrucciones que
pueden utilizarse son:
title, escribe un tı́tulo en la parte superior para nombrar a la gráfica.

xlabel, permite escribir un nombre al eje x de la gráfica.


ylabel permite escribir un nombre para el eje y de la gráfica.
legend indica lo que representa cada curva de la gráfica.
Se pueden incluir un Tı́tulo de la gráfica y etiquetas para los ejes coordenados, de la forma siguiente:

title(’Titulo de la grafica’) xlabel(’Variable independiente’), ylabel(’Variable dependiente’)

plot éste define el color y el estilo de la gráfica. Es una cadena la que determina el color de la lı́nea, estilo de la misma y
los sı́mbolos (si los hay) utilizado para los puntos de marca, por tanto intente dar elegancia a su gráfica anterior agregando
al comando plot:

plot(x,y,’ro’); grid

CARACTERES ÚTILES PARA DAR ESTILO A LAS GRÁFICAS

Graficas lineales y logarı́tmicas:


La mayor parte de las gráficas que generamos dan por hecho que los ejes x vs y se dividen en intervalos espaciados
uniformemente; estas gráficas se llaman gráficas lineales. Una escala logarı́tmica (de base 10) es útil cuando una variable
abarca varios órdenes de magnitud. Los comandos MATLAB para generar gráficas lineales y logarı́tmicas de los vectores x
& %
' $
Clave(6997) Página 8 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

y y son los siguientes: L1


plot(x,y) Genera una gráfica lineal con los valores de x y y.
semilogx(x,y) Genera una gráfica de los valores de x y y con escala logarı́tmica para x y una escala lineal para y.
semilogy(x,y) Genera una gráfica de los valores de x y y con escala lineal para x y una escala logarı́tmica para y.
loglog(x,y) Genera una gráfica de los valores de x y y con escalas logarı́tmicas tanto para x como para y.
Graficas múltiples:
Una forma sencilla de generar curvas múltiples en la misma gráfica es usar múltiples argumentos en un comando de
graficación, como en:
plot(t,x,t,y) Al ejecutarse este programa, se traza la curva correspondiente a x versus t, y luego se traza en la misma grafica
la curva correspondiente y vs t.
Código No.1
v1=[0:0.001:.7979];
w1=298;
q=1.6022e-19;
n=1.5;
k=1.38e-23;
num1=q.*v1;
den1=n*k*w1;
M1=num1./den1;
x1=1e-9.*exp(M1);
v2=[0:0.0001:.6379];
w2=358;
num2=q.*v2;
den2=n*k*w2;
M2=num2./den2;
x2=1024e-9.*exp(M2);
plot(v1,x1,’b’,v2,x2,’r’);title(Écuación del diodo’);
legend(’TEMPERATURA 298 K’,’TEMPERATURA 358 K’);grid;

Subgráficas:
El comando subplot permite dividir la pantalla de gráficos en ventanas. Las posibles divisiones pueden ser dos ventanas
o cuatro ventanas o incluso 8 ventanas en una hoja.. Los argumentos del comando subplot son tres enteros: (m, n, p). Los
dı́gitos m y n especifican que la ventana de gráficos se divida en una retı́cula de m por n ventanas más pequeñas, y el digito
p especifica la p-ésima ventana para la gráfica actual (donde se ubica esta grafica) . Las ventanas se numeran de izquierda
a derecha y de arriba abajo.

Por ejemplo el siguiente comando subplot(2,1,1);plot(x,y) especifica que la ventana de gráficos se divida en una grafica
superior y una inferior ( dos lı́neas de graficas en una columna ) y que la grafica actual plot(x,y) se coloque en la ventana
superior ver código No. 2. Las siguientes instrucciones genera cuatro graficas que ilustran la función del comando subplot
empleando escalas lineales y logarı́tmica.

Código No.2
t=[0:0.001:1];
f=2;
w=2*pi*f;
x=((1/2).*(1+cos(2*w.*t)));
subplot(2,2,1);plot(t,x,’r’,’linewidth’,2);grid
subplot(2,2,2);semilogx(t,x,’b’,’linewidth’,2);grid
subplot(2,2,3);semilogy(t,x,’r’,’linewidth’,2);grid
subplot(2,2,4);loglog(t,x,’b’,’linewidth’,2);grid

Código No.3
w1=2/3;
w2=1/2;
w3=1/3;

& %
' $
Clave(6997) Página 9 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

x1=2.*sin(w1.*t); L1
x2=3.*sin(w2.*t);
x3=4.*sin(w3.*t);
plot(t,x1,’b’,t,x2,’r’,t,x3,’k’,’linewidth’,2);title(’Cada senoidal completa un numero entero de ciclos’);gris

Entregar graficas obtenidas de los códigos 1, 2 y 3

V. Nociones de simulink
V.1. Introducción
En las diferentes áreas de la ingenierı́a, la simulación de sistemas y procesos se ha convertido en una herramienta indis-
pensable, tanto para el análisis como para el diseño de sistemas. En la mayorı́a de los casos, el proceso de simulación reduce
el tiempo de diseño y permite anticipar el comportamiento de sistemas y procesos antes de su construcción, reduciendo, por
ende, el costo de desarrollo y evitando posibles desperdicios. Dichos sistemas de simulación se construyen, en muchos casos,
con programas de cómputo, donde éstos realizan gran cantidad de cálculos numéricos. El área de control automático no es
la excepción y en ésta se hace un uso intensivo de simuladores y de programas de cálculo numérico. De la gran variedad de
programas, que pueden hacer simulaciones y cálculo numérico intensivo, en el mercado se ha elegido a MATLAB con varias
de sus cajas de herramientas, para las actividades de análisis y diseño de sistemas de control, debido al uso tan extendido
del mismo y al desempeño mostrado en muchas áreas de ingenierı́a y ciencia.

Por lo que, además de los análisis teóricos en la enseñanza del control automático, será necesario mostrar al alumno el
manejo adecuado de “MATLAB ” con el fin de complementar su formación en lo que respecta a las soluciones numéricas
y de simulación. SIMULINK es un programa que funciona en el ambiente de MATLAB, dicho programa cuenta con una
interfaz gráfica de usuario que permite la construcción de sistemas por medio de diagramas de bloques o ı́conos. SIMULINK
es una herramienta fácil de utilizar, debido a que cuenta con librerı́as de elementos de sistemas, donde podemos encontrar:
elementos de entrada (fuentes de señales), elementos de salida (graficadores), bloques que representan a los sistemas (blo-
ques de funciones de transferencia, o variables de estado), además de bloques o ı́conos de unión. Para todos los elementos
mencionados anteriormente es posible ajustar los parámetros de los mismos, con la intención de ajustarse al sistema bajo
prueba tales como son: tiempo de inicio, tiempo de paro, método de solución de ecuaciones diferenciales, etc. En resumen,
SIMULINK es una herramienta poderosa para el análisis de sistemas dinámicos. Por lo que, resulta indispensable para el
estudio del control automático.

Cabe hacer mención que existen programas de software con licencia libre que permiten la misma utilización y funcio-
namiento similar de MATLAB y que siguen un similar protocolo de funcionamiento tales como Scilab como el progra-
ma similar a MATLAB y Scicoslab en el entorno SIMULINK que pueden emplear el similar formato de utilización de
MATLAB o de SIMULINK . La página de descarga de dichos programas se encuentra en: http://www.scilab.org para
Scilab y http://www.scicoslab.org/ para Scicoslab similar a SIMULINK .
Aspectos notables de MATLAB
MATLAB es un sistema interactivo que realiza cálculos numéricos.
Con MATLAB se pueden hacer cálculos muy complejos con sólo algunos comandos.
MATLAB es un conjunto de programas que interactúan de manera eficaz para producir soluciones confiables.

MATLAB está compuesto de un gran número de algoritmos verificados y confiables.


MATLAB, realizará por nosotros una gran cantidad de cálculos, permitiéndonos utilizar de manera más eficaz nuestro
tiempo.
SIMULINK es un programa (“toolbox”) que funciona bajo el ambiente de MATLAB.

SIMULINK contiene un ambiente de programación gráfica.

V.2. Actividad 1

& %
' $
Clave(6997) Página 10 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

En las versiones de MATLAB para Windows, para iniciar el programa L1


haga un doble clic sobre el icono del programa. Aparecerá, entonces, la
pantalla del espacio de trabajo de MATLAB, donde podrá introducir co-
mandos. La lı́nea de comando aparecerá como >>. El modelo a construir
corresponde con el circuito mostrado en la Figura 2
Para construir el primer sistema defina en el espacio de trabajo las va-
riables; introduciendo la siguiente lı́nea de comando >> R=1; L=1; C=0.1;
oprima enter

Como se verá más adelante es posible pasar información desde SIMU-


LINK al espacio de trabajo y del espacio de trabajo hacia SIMULINK , las
variables definidas en la lı́nea de comando anterior se utilizarán en SIMU-
LINK .
Abriendo SIMULINK
Figura 2. Circuito RLC
Introduzca la siguiente lı́nea de comando

>>simulink oprima enter

La ventana de simulink mostrada será “SIMULINK Library Browser” (SLB). Observe que en dicha ventana se muestran
las librerı́as.

V.3. Actividad 2 Construcción de un modelo dinámico en SIMULINK


Use la siguiente ecuación diferencial construya un modelo en SIMULINK

d 2 vc R dvc 1 V
+ + vc =
dt2 L dt LC LC
La ecuación anterior modela un circuito eléctrico RLC conectado en serie, al que se le aplica una fuente de voltaje
constante V, mostrado en la Figura 2. Los valores de los parámetros se representan por R, L y C, con c vc la variable que
representa el voltaje en el capacitor y V es la fuente de voltaje constante de entrada.
Para iniciar la construcción del modelo en SIMULINK , despejemos la derivada de mayor orden
d2 vc R dvc 1 V
2
=− − vc +
dt L dt LC LC
Del modelo anterior se observa que es necesario integrar dos veces para obtener el voltaje en el capacitor, es necesario
hacer: dos restas, una suma y tres multiplicaciones por un escalar (ganancias). Por lo que, necesitamos: bloques de suma
(o resta), de integración y de ganancia.

Dentro de la interface de SIMULINK Library Browser (SLB) seleccione el menú desplegable “File” elija “new”, se abrirá
una ventana en blanco donde se construirá el modelo. Traiga a primer plano la nueva ventana y la de SLB. Dé un clic en
el recuadro a la izquierda de la caja de herramientas de SIMULINK , deberán abrirse todas la librerı́as.

V.4. Actividad 3: Construcción utilizando bloques simples.


Introduciendo bloques
1. Seleccione la opción “Sources” y de ésta elija “constant” ubicando el ratón y oprimiendo el botón izquierdo sin soltarlo
arrastre dicho bloque hasta la ventana del archivo nuevo, suelte el botón del ratón, para dejar el bloque.
2. Seleccione la opción “Sinks” y elija “Scope”, arrástrelo a la ventana de archivo nuevo, suelte el botón del ratón, para
dejar el bloque. Este bloque permitirá observar la gráfica de salida del sistema.
3. Seleccione la opción “Continuous” y elija “Integrator ”, arrástrelo a la ventana de archivo nuevo suelte el botón del ratón,
para dejar el bloque.
4. Seleccione la opción “Math” y elija “Sum”, arrástrelo a la ventana de archivo nuevo suelte el botón del ratón, para dejar
el bloque.
& %
' $
Clave(6997) Página 11 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

5. Seleccione la opción “Math” y elija “Gain”, arrástrelo a la ventana de archivo nuevo suelte el botón del ratón, para dejar L1
el bloque.
Conectando bloques
Para duplicar los bloques en la ventana de nue-
vo archivo, seleccione, haciendo clic en el bloque
con el botón izquierdo del ratón, (se habilitarán
unos cuadros de selección en las esquinas del blo-
que) ubique el ratón, nuevamente en el bloque y
arrástrelo, oprimiendo el botón derecho del ratón,
al lugar donde desea ubicarlo, suelte el botón del
ratón, para dejar el bloque.

Para hacer la conexión entre dos bloques ubique


el apuntador del ratón a la salida (entrada), éste
cambiará su forma a una cruz, cuando cambie opri-
ma el botón izquierdo del ratón y manteniéndolo Figura 3. Circuito RLC
oprimido arrastre la lı́nea generada hasta la entrada (salida). Para deshacer la conexión seleccione dicha conexión con
el apuntador del ratón, haga clic con el botón izquierdo, y cuando aparezcan los recuadros de selección, oprima la tecla
suprimir del teclado, la lı́nea deberá desaparecer.

Duplique el bloque de integración (siguiendo el procedimiento anterior), póngalos en lı́nea horizontal, conecte la salida
de un bloque de integración con la entrada del segundo. La salida del segundo integrador será el voltaje en el capacitor y la
entrada al primer bloque de integración es la segunda derivada del voltaje en el capacitor. Por tanto, a la entrada debemos
conectar el lado derecho de la ecuación:

d2 vc R dvc 1 V
=− − vc +
dt2 L dt LC LC
El modelo queda como se muestra en la Figura 3. Las ganancias (que deben estar definidas como “Element-wise gain”)
se editan dando doble clic con el botón izquierdo e introduciendo los términos adecuados.

VI. Resultados
1. Gráfica del código 1

2. Gráfica del código 2


3. Gráfica del código 3
4. Mostrar con ayuda de un Scope el voltaje capacitor.

& %
' $
Clave(6997) Página 12 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

VII. Cuestionario y actividades de investigación L1

1. ¿Como se define la función de transferencia?

2. Obtenga paso a paso la función de transferencia del circuito mostrado en la Figura 2.

3. Obtener el comportamiento del voltaje del capacitador Vc del circuito mostrado en la Figura 2. Mostrar la imagen del
Scope exportada a la ventana de comandos de Matlab, se debe observar la solución de la ecuación diferencial (linea
continua) y la respuesta del sistema como función de transferencia (linea punteada).
(La Figura va aquı́ Borrar cuando se ponga la imagen)
Observaciones y conclusiones:

4. En un mismo Scope muestre y compare las señales obtenidas de la solución de la ecuación diferencial y de la función de
transferencia.
Observaciones y conclusiones:

5. Con base en la Figura 4, mostrar el comportamiento de la velocidad angular θ̇.

Figura 4. Motor de DC

Obtener la imagen del Scope exportada a la ventana de comandos de Matlab, se debe observar la solución de la ecuación
diferencial (linea continua) y la respuesta del sistema como función de transferencia (linea punteada).
& %
' $
Clave(6997) Página 13 de 13
FUNDAMENTOS DE CONTROL
Rev. 0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López R. ML
Guı́a de clase laboratorio N◦ 1

La función de transferencia tomando como salida la velocidad angular θ̇ es L1

θ̇(s) KI
= 2
V (s) JLs + (JR + BL)s + BR + KI KA

Observaciones y conclusiones: (Figura2 Borrar cuando se ponga la imagen).

6. Mostrar el comportamiento des desplazamiento angular θ del motor de DC modelado en clase. Mostrar la imagen del
Scope exportada a la ventana de comandos de Matlab, se debe observar la solución de la ecuación diferencial (linea
continua) y la respuesta del sistema como función de transferencia (linea punteada).
La función de transferencia tomando como salida la posición angular del motor θ es

θ(s) KI
=
V (s) JLs3 + (JR + BL)s + (BR + KI KA )s

Observaciones y conclusiones: (Figura3 Borrar cuando se ponga la imagen)

Les agrego este link para revisar el modelado del motor de DC, esta página es muy útil para entender algunos conceptos
de modelado usando función de transferencia y variables de estado. http://ctms.engin.umich.edu/CTMS/index.php?
example=MotorSpeed&section=SystemModeling
OBSERVACIONES Y CONCLUSIONES GENERALES

& %
' $
Clave(6997) DIE-LA-FPE-L1
FUNDAMENTOS DE CONTROL
Rev.0 2019-1
Tema: Profesor:
NOCIONES DE MATLAB Y SIMULINK MI. Mauro G. López ML
R.
Guı́a de clase N◦ 1
L1
Apellidos y nombres: Fecha de ejecución: Grupo: EWS:
1. PRÉSTAMO DE EQUIPO
Es obligación del alumno verificar que el equipo y material recibido se encuentre completo y en buen estado, en caso de existir algún daño o faltante deberá informarlo inmediatamente, de no ser ası́, el alumno asume la responsabilidad del
daño o faltante. Al finalizar la clase el profesor deberá inspeccionar que el alumno devuelva el equipo y material en buenas condiciones.

EQUIPOS, INSTRUMENTOS, HERRAMIENTAS Y ACCESORIOS RECIBIDO NO APLICA OBSERVACIONES

a) Computadora Dual Core 1.6 Ghz, 4GB RAM.

b)
Firma del alumno
El equipo se recibió en buenas condiciones
c)

d)

e)

Firma o sello del profesor


f)
El equipo se devolvió en buenas condiciones

2. EVALUACIÓN DE LA SESIÓN DE CLASE


Favor evaluar la ejecución de la sesión de clase, en caso de que alguno de los siguientes criterios no haya sido de su completa satisfacción, le pedimos nos ayude a identificar los aspectos a mejorar utilizando los espacios en blanco. Su

evalución nos dará la posibilidad de mejorar continuamente. Al finalizar, deberá obtener la sumatoria de acuerdo al valor de cada indicador de desempeño y colocar el resultado final de la evaluación en la celda correspondiente.

l. GUÍAS DE CLASE

1. La estructura y contenido de la guı́a de clase fue Buena Regular Mala

2. Las actividades propuestas en la guı́a de clase contribuyen al aprendizaje del tema Si Algunas No

3. Se alcanzaron los objetivos planteados en la guı́a de clase Si Algunos No

ll. PROFESOR

4. La explicación del profesor para el correcto desarrollo de la guı́a de clase fue Buena Regular Mala

5. Las dudas planteadas durante la clase fueron atendidas correcta y oportunamente Si Algunas No

6. Inicia y termina la sesión de clase a la hora señalada Si Regular No

7. Incentiva y propicia un ambiente de respeto y proximidad Si Regular No

8.El profesor dio a conocer el plan de estudios Si Algunas No

lll. MATERIAL Y EQUIPO

9. El funcionamiento del equipo del laboratorio fue Bueno Regular Malo

10. La limpieza y el orden del laboratorio antes y después de la sesión de clase fue Buena Regular Mala

IV. EVALUACIÓN DE LA SESIÓN DE CLASE

Bueno/Si 1 Resultado de
Valor de cada
Regular/Algunos 0.5 evaluación de la sesión
respuesta
Malo/No 0 de clase: ———

& %

También podría gustarte