Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE M ÉXICO
Facultad de Estudios Superiores Cuautitlán
DEPARTAMENTO DE INGENIERÍA
LAB. DE TEORÍA DE CONTROL Y ROBÓTICA
Reporte NO.6
“Simulación de sistemas en Matlab”
GRUPO: 1801 B
ALUMNO:
GARCÍA PÉREZ JAN RODRIGO.
Objetivos
Al término de esta práctica el alumno:
- Estará familiarizado con el ambiente de simulación de sistemas Matlab, así
como los comandos del toolbox de control del mismo entorno.
- Conocer el comportamiento teórico de diferentes sistemas de primer y segundo
orden, y su respuesta a señales de entrada fundamentales.
Equipo
Introducción
MATLAB
MATLAB (abreviatura de MATrix LABoratory, «laboratorio de matrices») es un
sistema de cómputo numérico que ofrece un entorno de desarrollo integrado (IDE) con
un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas
Unix, Windows, macOS y GNU/Linux.
Entre sus prestaciones básicas se hallan la manipulación de matrices, la representación
de datos y funciones, la implementación de algoritmos, la creación de interfaces de
usuario (GUI) y la comunicación con programas en otros lenguajes y con otros
dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales
que expanden sus prestaciones, a saber, Simulink (plataforma de simulación
multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden
ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las
de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En
los últimos años ha aumentado el número de prestaciones, como la de programar
directamente procesadores digitales de señal o crear código VHDL.
En 2004, se estimaba que MATLAB era empleado por más de un millón de personas
en ámbitos académicos y empresariales.
Características
Lenguaje
2
Practica 6: “Simulación de sistemas en Matlab”
Toolboxes
MATLAB
- Parallel Computing
- Math, Statistics, and Optimization
- Control Systems
- Signal Processing and Communications
- Image Processing and Computer Vision
- Test and Measurement
- Computational Finance
- Computational Biology
- Code Generation and Verification
- Application Deployment
- Database Connectivity and Reporting
MATLAB Report Generator
- Text Analytics Toolbox™
- Simulink
- Event-Based Modeling
- Physical Modeling
- Control Systems
- Signal Processing and Communications
- Code Generation
- Real-Time Simulation and Testing
- Verification, Validation, and Test
- Simulation Graphics and Reporting
Limitaciones y alternativas
Durante mucho tiempo hubo críticas porque MATLAB es un producto propietario de
The Mathworks, y los usuarios están sujetos y bloqueados al vendedor. Recientemente
se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la
sección de herramientas «Application Deployment» para utilizar funciones MATLAB
como archivos de biblioteca que pueden ser usados con ambientes de construcción de
aplicación .NET o Java. Pero la desventaja es que el computador donde la aplicación
tiene que ser utilizada necesita MCR(MATLAB Component Runtime) para que los
2
Practica 6: “Simulación de sistemas en Matlab”
Procedimiento experimental.
1. Matlab consiste en un entorno de ventanas con cuatro partes:
o Command Window: Es la ventana en la que se escriben las instrucciones que se
quieren ejecutar.
o Current Folder: Muestra el contenido de la carpeta de trabajo. La dirección de
la carpeta de trabajo se puede cambiar mediante la barra desplegable que aparece
encima de las ventanas.
o Workspace: La ventana Workspace muestra información sobre las variables y
objetos definidos.
o Editor / Command History: Permite ingresar una serie de comando que se
ejecutaran de manera secuencial de tal manera que nos evita ejecutar cada comando de
manera individual, esta ventana también puede mostrar los últimos comandos
(instrucciones) ejecutados.
Para la realización de esta práctica se utilizará la ventana Command Window.
2
Practica 6: “Simulación de sistemas en Matlab”
t = [0:0.1:10];
ye = step(num,den,t);
Aquí el parámetro t tiene 3 valores: el valor en el cual inicia la simulación t=0s; el
tiempo en el cual termina la simulación t=10s, es decir, la simulación termina a los 10
2
Practica 6: “Simulación de sistemas en Matlab”
segundos, y el paso intermedio t=0.1s que indica el tiempo en el que el programa hace
los cálculos de la simulación.
plot(t,ye);
title ('Respuesta a un escalon unitario'); xlabel ('tiempo(seg)');
grid;
El resultado se observará en una nueva ventana de Matlab, como la que se ve en la
figura 6.3.
2
Practica 6: “Simulación de sistemas en Matlab”
fprintf("constante de tiempo:%f\n",tauEstim)
7. Para finalizar con los sistemas de primer orden, se va a comprobar que los
resultados coinciden con los esperados de forma teórica. Los sistemas lineales de
primer orden de ganancia unitaria invariantes en el tiempo tienen la siguiente respuesta
característica a una entrada escalón unitario:
𝑦(𝑡) = 1 − 𝑒−𝑡/𝑟, 𝑡 ≥ 0
2
Practica 6: “Simulación de sistemas en Matlab”
Sin embargo, las ecuaciones pueden estar dadas de otra forma, por ejemplo:
0.2𝑠2 + 0.3𝑠 + 1
𝐺2(𝑠) =
(𝑠 + 0.5)(𝑠2 + 0.4𝑠 + 1)
11. Para ver los polos o los ceros de la función de transferencia, se pueden usar los
comandos roots(den) o roots(num) respectivamente.
12. Una forma más completa de convertir una función de transferencia dada por
dos polinomios, numerador y denominador, en un conjunto de factores de grado 1,
correspondientes a los polos (z1, z2, z3) y ceros (c1, c2), es a través del comando:
2
Practica 6: “Simulación de sistemas en Matlab”
14. La respuesta a la entrada escalón unitario se obtiene con la función step. Para
ello se debe de definir un intervalo de simulación, empleando los siguientes comandos:
t2 = [0:0.3:15];
y2e = step(num,den,t2); plot(t,y2e);
title ('Respuesta a un escalón unitario'); xlabel ('tiempo(seg)');
grid;
15. La figura 6.7 muestra la ventana donde aparece la gráfica correspondiente a los
comandos del punto anterior.
16. La respuesta en frecuencia de los sistemas se puede obtener usando las
funciones de Bode.
Para obtener la gráfica de la respuesta en frecuencia mostrada en la figura 6.8 escriba
los comandos:
2
Practica 6: “Simulación de sistemas en Matlab”
17. El comando nyquist calcula tanto la parte real como la imaginaria de 𝐺(𝑗𝜔) y
realiza la representación si no se le indican parámetros de salida. Para obtener la
representación gráfica solo hay que graficar la parte real contra la imaginaria. El
resultado obtenido mediante el ejemplo anterior puede verse en la figura 6.9 al escribir
los siguientes comandos:
[re,im] = nyquist (num,den,w); plot(re,im,re,-im,'r')
2
Practica 6: “Simulación de sistemas en Matlab”
18. Como es bien sabido en la teoría clásica del control, los márgenes de
estabilidad son el margen de fase y el margen de ganancia. Estos márgenes se calculan
usando el comando margin. Escriba el siguiente comando para obtener el margen de
ganancia y el margen de fase de la función de transferencia de segundo orden además
de sus frecuencias correspondientes:
[mg,mf,wmg,wmf] = margin (num,den)
Cuestionario
𝑘𝜔2
𝑛
𝐺(𝑠) =
𝑠2 + 2 𝜁 𝜔 𝑛 𝑠 + 𝜔 𝑛2
Determine:
Determine:
a) Raíces del sistema (polos y ceros)
b) Ganancia estática del sistema
c) Respuesta temporal a entrada escalón unitario
d) Respuesta frecuencial en magnitud y fase
e) Las partes real e imaginaria de G(jw)
f) Los márgenes de ganancia
2
Practica 6: “Simulación de sistemas en Matlab”
Observaciones
2
Practica 6: “Simulación de sistemas en Matlab”
2
Practica 6: “Simulación de sistemas en Matlab”
2
Practica 6: “Simulación de sistemas en Matlab”
2
Practica 6: “Simulación de sistemas en Matlab”
Aquí se observa el diagrama de Nyquist el cual grafica la parte real como la parte
imaginaria de G(jω), la principal función de este grafico es observar mediante la
trayectoria de Nyquist el cual debe encerrar todo el semiplano positivo, rodeando e
incluyendo a todos los ceros y polos de la función.
2
Practica 6: “Simulación de sistemas en Matlab”
Con los siguientes comandos obtuvimos los márgenes de ganancia y fase del sistema
de segundo orden, los cuales nos sirven para determinar si un sistema es inestable, el
margen de fase es el ángulo (en grados) que habría que restarle a la fase G(s)*H(s) para
volver inestable a M(s), mientras que el margen de ganancia es el valor que habría que
multiplicar (o los decibeles que habría que sumar) a la ganancia G(s)*H(s) para que
M(s) se vuelva inestable.
Conclusiones.
Luego de analizar los resultados obtenidos, podemos concluir que el software Matlab
es una excelente ayuda y una herramienta indispensable para llevar a cabo el análisis
de las funciones, dado que el programa tiene un gran número de funciones, el completo
entendimiento del mismo puede resultar en una tarea con cierto grado de complejidad,
sin embargo, si se usa en determinado campo y para determinadas acciones, el
programa resulta de gran ayuda para llevar a cabo dichas simulaciones.
Fuentes.
Cibergrafía:
https://dademuch.com/2020/05/07/sistema-de-segundo-orden/
2
Practica 6: “Simulación de sistemas en Matlab”
https://es.wikipedia.org/wiki/MATLAB
Bibliografía:
- Katsuhiko Ogata, Ingeniería de Control Moderna, 4ª edición, Prentice
Hall;2003
- Groover Mikel P., Automation, production systems and computerintegrated
manufacturing 3rd edition, USA, editorial Prentice Hall, 2007.
- Saha Subir Kumar, Introducción a la robótica, México, Editorial McGrawHill,
2010.