[go: up one dir, main page]

0% encontró este documento útil (0 votos)
115 vistas41 páginas

Laboratorio 1 SCD - 2020

Este documento proporciona una introducción a varios comandos de MATLAB utilizados en sistemas de control digital. Explica comandos como ones(), zeros(), abs(), angle(), bilinear(), c2d(), cloop(), conv(), d2c() y más, y proporciona ejemplos de su uso. El objetivo es que los estudiantes aprendan a emplear MATLAB para resolver problemas matemáticos relacionados con sistemas de control discreto.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
115 vistas41 páginas

Laboratorio 1 SCD - 2020

Este documento proporciona una introducción a varios comandos de MATLAB utilizados en sistemas de control digital. Explica comandos como ones(), zeros(), abs(), angle(), bilinear(), c2d(), cloop(), conv(), d2c() y más, y proporciona ejemplos de su uso. El objetivo es que los estudiantes aprendan a emplear MATLAB para resolver problemas matemáticos relacionados con sistemas de control discreto.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

ESCUELA PROFESIONAL DE INGENIERÍA Emisión:

ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
1 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

LABORATORIO DE: SISTEMAS DE CONTROL DIGITAL

EXPERIENCIA N°: 01

TÍTULO DE LA EXPERIENCIA:

COMANDOS USADOS DE CONTROL PARA MATLAB

Alumno(os): Grupal Indiv. Total


1.
2.
3.
4.

Grupo:
Docente: ING. MULLISACA William
Semestre: 7
Fecha de
Hora:
entrega:
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
2 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
LABORATORIO N° 01

COMANDOS USADOS DE CONTROL PARA MATLAB

I.- OBJETIVOS:

-. Emplear MATLAB en la solución de problemas matemáticos que involucren a sistemas de


control discreto.

II.- FUNDAMENTO TEÓRICO:


Temas a desarrollar:
Comandos de Matlab más usados en sistemas de control digital.

III.- RECOMENDACIONES EN SEGURIDAD

3.1. En condiciones de una emergencia Identifique:


 Vías de acceso y evacuación
 Equipos de respuesta a emergencias
 Señalización de seguridad

3.2. Complete el ATS (Anexo 1) y cumpla las condiciones obligatorias para el uso del
ambiente

IV.- EQUIPOS Y MATERIALES A UTILIZAR:

Cantidad Descripción
1 Ordenador de mesa

V.- PROCEDIMIENTO:

1. [1 ones()]
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
3 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Vector formado por el número 1 como primer elemento, y una matriz de unos que en
este caso ones() representa una matriz de unos, de 1x1.
Ejemplo:

>> ones()
ans =
1
>> ones(1)
ans =
1
>> [1 ones(1)]

ans =

1 1

2. [1 zeros()]

Vector formado por el número 1 como primer elemento, y una matriz de ceros que en
este caso zeros() representa una matriz de ceros de 1x1.
Ejemplo:

>> zeros()
ans =
0

>> [1 zeros(1)]

ans =
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
4 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
1 0

>> [1 zeros(1,3)]
ans =
1 0 0 0 % a partir del 2do número se forma una matriz de ceros de
1x3

3. abs()

abs(X) es el valor absoluto del elemento de X. Cuando X es complejo, abs(X) es el


modulo o magnitud del número complejo X.
Ejemplos:

>>x = -8;
>> abs(x)
ans =
8

>> x=2+2i;
>> abs(x)
ans =
2.8284

4. allmargin()

Proporciona información detallada acerca de la ganancia, fase y márgenes de retardo y


las frecuencias de corte correspondientes del modelo de bucle abierto SISO SYS.

Ejemplo: Obtendremos todos los márgenes de


ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
5 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Solución:

>> num=[40];
>> den=conv(conv([1 0],[1 4]),[1 10]);
>> G=tf(num,den);
>> allmargin(G)
ans =
GainMargin: 14.0000
GMFrequency: 6.3246
PhaseMargin: 70.8774
PMFrequency: 0.9675
DelayMargin: 1.2787
DMFrequency: 0.9675
Stable: 1

5. angle()

Retorno el ángulo de fase en radianes de cada elemento de la matriz h con elementos


complejos.
Ejemplo:

>> z=2+3i; w=5+7i;


>> angle(z) % Devuelve 0.9828
>> angle([z,w]) % Devuelve 0.9828 0.9505

6. bilinear()

La transformación bilineal es un mapeo matemático de variables.


Transforma filtros analógicos, diseñados utilizando las técnicas de diseño de filtros
clásicos, en sus equivalentes discretos

Ejemplo:
Fs = 0.5; % frecuencia de muestreo
[z,p,k] = ellipap(6,5,90); % prototipo filtro pasabajos
[num,den] = zp2tf(z,p,k); % convierte a la forma función de transferencia
[numd,dend] = bilinear(num,den,Fs); % Conversion analógica a digital
fvtool(numd,dend) % Visualizar el filtro

7. c2d()
Conversión de sistema continuo a tiempo discreto
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
6 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

sintaxis:

SYSD = C2D (SYSC, TS, MÉTODO) calcula un SYSD modelo en tiempo discreto
con TS tiempo de muestreo que se aproxima al modelo SYSC de tiempo continuo.

Ejemplo:

1
𝐺(𝑠) =
𝑠 3 + 10𝑠 2 + 27𝑠 + 18

num = 1;
den = [1 10 27 18];
G = tf(1,[1 10 27 18])
Transfer function:

1
---------------------------------
s^3 + 10 s^2 + 27 s + 18

%para convertirlo a uno discreto con tiempo de muestreo 0.01seg


Gd=c2d(G,0.01)
Transfer function:

1.626e-007 z^2 + 6.342e-007 z + 1.546e-007


-----------------------------------------------------------
z^3 - 2.902 z^2 + 2.807 z - 0.9048

Sampling time: 0.01

% Ahora para la conversión opuesta


Gc = d2c(Gd,’zho’) % utilizando el comando d2c

Transfer function:
1
---------------------------------
s^3 + 10 s^2 + 27 s + 18

8. c2dm()
Conversión de sistema continuo a tiempo discreto por varios métodos
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
7 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

9. cloop()

Comando cloop para obtener la función de transferencia resultante de un sistema con


retroalimentación unitaria

10.conv()

Convolución y multiplicación de polinomios.


ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
8 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
C = conv (A, B) convoluciona vectores A y B

11.d2c()
Cadena que especifica un método de conversión de discreta a continuo tiempo:
'zoh' - de orden cero mantenga en las entradas. Asume las entradas de control son a
trozos constante durante el período de muestreo.

12.d2cm()

D2cm Conversión de sistemas LTI discretos a tiempo continúo.


[Ac, Bc, Cc, Dc] = D2cm (A, B, C, D, T, "método") convierte el sistema de estado-
espacio-tiempo discreto de tiempo continúo usando "método":
1. 'zoh' Convertir en tiempo continúo suponiendo una retención de orden cero en
las entradas.
2. 'tustin' Convertir en tiempo continúo usando la aproximación bilineal (Tustin) en
el derivado.
3. 'prewarp' Convertir en tiempo continúo usando la aproximación bilineal (Tustin)
con prewarping frecuencia. Especifique la frecuencia crítica con un argumento
adicional, es decir D2cm (A, B, C, D, T, 'prewarp', aseo)
4. 'matched' Convertir el sistema SISO a tiempo continúo utilizando el método de
polos y ceros emparejado.

[NUMC, denc] = D2cm (NUM, DEN, Ts, «método») convierte la función de


transferencia polinomio de tiempo discreto G (z) = NUM (z) / DEN (z) a tiempo
continuo, G (s) = NUMC (s) / denc (s), el uso de "método".

Nota: 'foh' ya no está disponible.

13.dcgain()

Permite obtener la ganancia estática de una función de transferencia.


Sintaxis:
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
9 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
K = dcgain (SYS) calcula el estado de equilibrio (DC o baja frecuencia) de ganancia
del sistema dinámico de SYS.

Ejemplo:
Definiendo la siguiente función

num=[3]; den=conv([1 2],[1 3]);


G=tf(num,den);
dcgain (G)
ans =

0.5000

14.deconv()

Deconvolución y división polinómica.


[Q, R] = deconv (B, A) deconvolves vector A de vector B. El resultado se devuelve
en el vector Q y el resto en el vector R tal que

B = conv (A, Q) + R.

Si A y B son vectores de coeficientes polinómicos, deconvolución es equivalente a


la división polinómica. El resultado de dividir B por A es Q y el resto cociente R.

Si
u = [1 2 3 4]
v = [10 20 30]
la convolución
c = conv(u,v)
c=
10 40 100 160 170 120
Utilice deconvolución para recuperar v:
[q,r] = deconv(c,u)
q=
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
10 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
10 20 30
r=
0 0 0 0 0 0
Esto da un cociente igual a v y un resto cero.

15.dimpulse()

Respuesta al impulso de sistemas lineales de tiempo discreto.


dimpulse (A, B, C, D, IU) representa la respuesta del sistema discreto:

x [n + 1] = Ax [n] + Bu [n]
y [n] = Cx [n] + Du [n]

A una muestra de unidad se aplica a la IU entradas. El número de puntos se determina


automáticamente.

dimpulse (NUM, DEN) traza la respuesta al impulso de la función de transferencia


polinomio G (z) = NUM (z) / DEN (z) donde NUM y DEN contienen los coeficientes
del polinomio en potencias descendentes de z.

16.dlinmod()

El dlinmod función puede linealizar discreta, multifrecuencia y sistemas continuos


y discretos híbridos en cualquier tiempo de muestreo dado. Utilice la misma sintaxis
de llamada para dlinmod como para linmod, pero insertar el tiempo de la muestra en
la que realizar la linealización como segundo argumento. Por ejemplo,

[Ad, Bd, Cd, Dd] = dlinmod ('sys', Ts, x, u);


produce un modelo de espacio de estado discreto en el tiempo de muestreo Ts y el
punto de trabajo propuesta por el vector de estado x y vector de entrada u. Para
obtener una aproximación modelo continuo de un sistema discreto, establezca Ts a
0.

17.dlsim()

Simulación de sistemas lineales de tiempo discreto dlsim (NUM, DEN, U)


representa el tiempo de respuesta de la función de transferencia.
Descripción G (z) = NUM (z) / DEN (z) donde NUM y DEN contienen los
coeficientes del polinomio en potencias descendentes de z. Si LONGITUD (NUM)
= LONGITUD (DEN) a continuación dlsim (NUM, DEN, T) es equivalente a
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
11 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
FILTRO (NUM, DEN, U). Cuando se invoca con los argumentos de la mano
izquierda,
[Y, X] = dlsim (A, B, C, D, U)
[Y, X] = dlsim (NUM, DEN, U)
Devuelve la salida y el estado historial vez en las matrices Y y X.
Sin trama se dibuja en la pantalla. Y tiene tantas columnas como salidas y longitud
(U) filas. X tiene tantas columnas como estados y longitud (U) filas.

18.dlsim()

Igual al comando 7

19.dlyap()

Resolver ecuaciones de Lyapunov discretos.

X = dlyap (A, Q) resuelve la ecuación discreta matriz de Lyapunov:

A * X * A '- X + Q = 0

X = dlyap (A, B, C) resuelve la ecuación de Sylvester:

A*X*B-X+C=0

X = dlyap (A, Q, [], E) resuelve la ecuación de Lyapunov discreta


generalizada:

A * X * A '- E * X * E' + Q = 0

20.eig()

Calcula los autovalores de una matriz, valores propios y vectores propios de la


matriz simbólica.
lambda = eig(A) % devuelve un vector simbólico que contiene los valores
propios de la plaza simbólica de la matriz A.
Ejemplo:

A=[1 2;3 4];


[V D]=eig(A)
%nos devuelve como resultado
V=
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
12 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
-0.8246 -0.4160
0.5658 -0.9094

D=
-0.3723 0
0 5.3723

21.eval()

Evalúa una función en los valores de x

Sintaxis:
eval (expresión) realiza la expresión, una cadena que contiene cualquier expresión
MATLAB válida. Usted puede construir la expresión mediante la concatenación de
subcadenas y variables dentro de corchetes:

expression = [string1,int2str(var),string2,...]

Ejemplo:
nombre='3*x.^2-5';
x=[ 1 2 4];
eval(nombre)
%nos devuelve como resultado
-2 7 43

22.expm():

Y = EXPM (X) calcula la matriz exponencial de X.


ejemplo:
Comparar Exponenciales
Calcular y comparar la exponencial de A con la exponencial matricial de A.

A = [1 1 0; 0 0 2; 0 0 -1];
exp(A)
ans =
2.7183 2.7183 1.0000
1.0000 1.0000 7.3891
1.0000 1.0000 0.3679
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
13 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

expm(A)
ans =
2.7183 1.7183 1.0862
0 1.0000 1.2642
0 0 0.3679
Observe que los elementos diagonales de los dos resultados son iguales, lo que es cierto
para cualquier matriz triangular. Los elementos fuera de la diagonal, incluyendo
aquellos por debajo de la diagonal, son diferentes.

23.ezplot():

Grafica una función f en el intervalo [a,b] adicionándole un título por defecto


ezplot('f',[a,b])
Ejemplo:
ezplot('4-abs(x)',[-3,3]);

24.ezplot3():

3-D curva paramétrica plotter.


ezplot3 (x, y, z) traza la curva espacial x = x (t), y = y (t), z = z (t) sobre el dominio
predeterminado 0 <t <2π.

ezplot3 (x, y, z, [Tmin, Tmax]) representa la curva x = x (t), y = y (t), y z = z (t) sobre
el dominio tmin <t <tmax.

Ejemplo:
Trazar la curva paramétrica x = sen (t), y = cos (t), z = t en el dominio [0, 6π].
syms t
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
14 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
ezplot3(sin(t), cos(t), t,[0,6*pi])

25.feedback():

Código para el análisis de los sistemas de control, en donde se considera que ya se han
definido G1(s), G2(s), etcétera, y H(s).
Conexión de dos sistemas por realimentación no unitaria

sintaxis:
sys = feedback (SYS1, SYS2) devuelve una sys modelo de objetos para la interconexión
de retroalimentación negativa del modelo de objetos SYS1 y SYS2.

Ejemplo:
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
15 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

26.filter():

Filtro digital 1-D


y = filter(b, a, x) filtra los datos de entrada, x, utilizando una función de transferencia
racional definido por el numerador y denominador coeficientes b y A,
respectivamente.
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
16 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Si x es un vector, entonces el filtro devuelve los datos filtrados como un vector del
mismo tamaño que x.
Si x es una matriz, luego filtrar actos a lo largo de la primera dimensión y devuelve los
datos filtrados para cada columna.
Si x es una matriz multidimensional, luego filtrar actos a lo largo de la primera
dimensión de matriz cuyo tamaño no es igual 1.
y = filter(b, a, x, zi) utiliza las condiciones iniciales, zi, por los retrasos de filtro. La
longitud de zi debe ser igual a max (longitud (a), la longitud (b)) - 1.
y = filter(b, a, x, zi, dim) actúa junto tenue dimensión. Por ejemplo, si x es una matriz,
a continuación, filtrado (b, a, x, zi, 2) devuelve los datos filtrados para cada fila.

Ejemplo:
obtenga la transformada Z inversa de
1  z 1  z 2
X ( z) 
1  z 1
z2  z 1
X ( z) 
z2  z

>> num = [1 1 -1];


>> den = [1 -1 0];
>> x = [1 zeros(1,40)];
>> y = filter(num,den,x)
y=
Columns 1 through 15
1 2 1 1 1 1 1 1 1 1 1 1 1 1 1

Columns 16 through 30
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Columns 31 through 41
1 1 1 1 1 1 1 1 1 1 1

>> plot(y,'o')
>> grid
>> title('Respuesta a la entrada de kronecker')
>> xlabel('k')
>> ylabel('y(k)')
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
17 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Esta grafica debe concordar con lo que se obtendría manualmente x(k )   0 (n  1)  1(k )

27.filtic():

Las condiciones iniciales de forma directa aplicación del filtro II transpuesta z = filtic(b,
a, y, x) encuentra las condiciones iniciales, z, por los retrasos en la aplicación del filtro
en forma directa II transpuesta dado resultados pasados y y entradas x. Los vectores b
y A representan los coeficientes de numerador y denominador, respectivamente, de
función de transferencia del filtro.

Los vectores xey contienen la entrada o salida más reciente en primer lugar, y la entrada
más antigua o la salida anterior.

x=[x(−1),x(−2),x(−3),…,x(−n)]
y=[y(−1),y(−2),y(−3),…,y(−m)]

donde n es la longitud (b) -1 (el orden numerador) y m es la longitud (a) -1 (el orden
denominador). Si la longitud (x) es menor que n, almohadillas filtic it con ceros a
longitud n; si la longitud (y) es menor que m, almohadillas filtic it con ceros a la longitud
m. Elementos de x más allá de x (n-1) y los elementos de y más allá y (m-1) son
innecesarios por lo filtic los ignora.

Z de salida es un vector columna de longitud igual a la mayor de n y m. z describe el


estado de los retrasos dadas entradas pasadas x y salidas anteriores y.
z = filtic(b, a, y) asume que la entrada x es 0 en el pasado.
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
18 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
La estructura en forma directa II transpuesta se muestra en la siguiente ilustración.

n - 1 es el orden del filtro.


filtic funciona para ambas entradas reales y complejos.

28.impulse():

Calcula la respuesta impulso unitario de un modelo de sistema dinámico. Para los


sistemas dinámicos en tiempo continuo, la respuesta de impulso es la respuesta a una
entrada de Dirac δ (t). Para los sistemas de tiempo discreto, la respuesta de impulso es
la respuesta a un impulso unidad de área de la longitud y la altura Ts 1 / Ts, donde Ts
es el tiempo de muestreo del sistema. (Este pulso se acerca δ (t) como Ts se aproxima
a cero.) Para los modelos de espacio de estado, el impulso asume valores iniciales de
estado son cero.

Impulse (sys) traza la respuesta al impulso del modelo de sistema dinámico sys. Este
modelo puede ser continuo o discreto, y SISO o MIMO. La respuesta al impulso de los
sistemas multi-entrada es el conjunto de respuestas de impulso para cada canal de
entrada. La duración de la simulación se determina automáticamente para mostrar el
comportamiento transitorio de la respuesta.

Ejemplo:
Trazar la respuesta al impulso del modelo de espacio de estado de segundo orden

a = [-0.5572 -0.7814;0.7814 0];


b = [1 -1;0 2];
c = [1.9691 6.4493];
sys = ss(a,b,c,0);
impulse(sys)
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
19 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

La trama de la izquierda muestra la respuesta al impulso del primer canal de entrada, y


la trama derecha muestra la respuesta de impulso del segundo canal de entrada.

29.initial():

Respuesta condición inicial del modelo de estado-espacio


initial(sys, x0) calcula la respuesta no forzados de un sys modelo de espacio de estado
(ss) con una condición inicial en los estados especificados por el vector x0:

Esta función es aplicable a cualquiera de los modelos continuos- o de tiempo discreto.


Cuando se invoca sin argumentos de salida, parcelas iniciales de la respuesta condición
inicial en la pantalla.

initial(sys, x0, Tfinal) simula la respuesta desde t = 0 hasta el tiempo t final = Tfinal.
Exprese Tfinal en las unidades de tiempo del sistema, especificados en la propiedad
TimeUnit de sys. Para los sistemas de tiempo discreto con tiempo de la muestra sin
especificar (Ts = -1), interpreta iniciales Tfinal como el número de períodos de muestreo
para simular.

Ejemplo:
Respuesta del Modelo Espacio de Estado a condición inicial
Trazar la respuesta del siguiente modelo de espacio de estado:

Tome la siguiente condición inicial:


ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
20 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

a = [-0.5572, -0.7814; 0.7814, 0];


c = [1.9691 6.4493];
x0 = [1 ; 0];

sys = ss(a,[],c,[]);
(sys,x0)

30.length():

Largo de un vector. Longitud de la mayor dimensión de matriz.


L = length(X) devuelve la longitud de la dimensión más grande de matriz X. Para los
vectores, la longitud es simplemente el número de elementos.

Ejemplo:
Número de elementos vectoriales
Encuentra la longitud de un vector espaciados de manera uniforme en el intervalo
[5,10].
v = 5:10
v=
5 6 7 8 9 10
L = length(v)

L=
6
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
21 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
31.limit():

el comando limit(f,x,a) sirve para calcular el límite de la función f cuando la variable x


tiende al punto a.

argumento
limit(f,x,a): límite de la función f cuando la variable x tiende al punto a.
limit(f,a). límite de la función de única variable que tiende al punto a.
limit(f): límite de la función f cuando tiende a cero
limit(f,x,a,'left'): el límite de la función f aproximado por la izquierda cuando la variable
x
tiende al punto a.
limit(f,x,a,'right'): el límite de la función f aproximado por la derecha cuando la variable
x
tiende al punto a.

ejemplo
>> limit((1 - cos(x))/x^2, x,0)

ans =1/2

32.impulse():

Extracto de tiempo continuo modelo de estado-espacio lineal alrededor del punto de


operación
Se mantiene el orden de los estados desde el modelo no lineal al modelo lineal. Para los
sistemas de Simulink, una variable de cadena que contiene el nombre del bloque
asociado a cada estado se puede obtener utilizando
[tamaños, x0, xstring] = sys

33.linspace():

crea un espacio de puntos en base aun intervalo de números que se dan en los
argumentos
Argumento
y = linspace (x1, x2) devuelve un vector fila de 100 puntos uniformemente espaciados
entre x1 y x2.
y = linspace (x1, x2, n) genera n puntos. La separación entre los puntos es (x2-x1) /
(n-1).

ejemplo:
>> linspace(2,10,5) %incremento(10-2)/(5-1)=2
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
22 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

ans =

2 4 6 8 10

34.lsim():

Dado un sistema descrito como un objeto LTI, la lsim comando se puede ejecutar una
simulación del sistema usando entradas arbitrarias y condiciones iniciales.
Argumento
El comando lsim (sys, U, T, X0) traza el tiempo de respuesta de un sistema invariante
en el tiempo lineal. Este sistema puede ser continua o discreta. Para un sistema de
tiempo continuo, la ecuación diferencial está integrado de vez T (0) a T (longitud (T)),
a partir de la condición inicial X0 y el uso de la entrada U. El vector de entrada debe
tener el mismo número de entradas como el vector tiempo. Si las condiciones iniciales
son todos cero, X0 puede omitirse.

Ejemplo

>> A = [-20 -40 -60 1 0 0 0 1 0];


B = [1 0 0];
C = [0 0 1];
D = 0;
>> T = 0:0.01:10; % tiempo de simulacion = 10 seg
U = zeros(size(T)); % sin entrada
X0 = [0.1 0.1 0.1]; % condiciones iniciales de los tres estados
sys = ss(A,B,C,D); % construyendo un modelo de sistema
lsim(sys, U, T, X0) % simulando y graficando la respuesta (la salida)
title('Response to Non-Zero Initial Conditions')
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
23 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

35.ones():

Definición devuelve una matriz de unos


Argumentos
X = ones() devuelve el escalar 1.
X = ones (n) devuelve una matriz de unos.

Ejemplo
>> ones(5)

ans =

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

36.plot():

Sirve para graficar funciones


Argumentos
En los argumentos podemos dar diferentes funciones simultaneas para graficar además
de modificar el color y forma de puntos en las gráficas en el argumento linespec así
como asignarle un valor a los puntos de la gráfica.
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
24 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

plot(Y)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)

Ejemplo
>> x = -pi:.1:pi;
>> y = sin(x);
>> plot(x,y)

37.pole():

Calcula los polos de un a funcion de transferencia


Ejemplo

>> num=[1 10]


num =

1 10

>> den=[20 15 50]

den =
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
25 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
20 15 50

>> pole(tf(num,den))

ans =

-0.3750 + 1.5360i
-0.3750 - 1.5360i

38.polival():

Evalúa un polinomio en valores que recibe la función

Argumentos
y = polyval (p, x)
[y, delta] = polyval (p, x, S)
[Y, delta] = polyval (p, x, S, mu )

Ejemplo
>> fx=[1 3 5]

fx =
1 3 5

>> polyval(fx,[1 5 0])

ans =
9 45 5

39.pulstran():

pulstran genera trenes de impulsos de funciones continuas o pulsos prototipo


muestreados.
argumentos
y = pulstran (t, d, 'func') genera un tren de pulsos basado en muestras de una función
continua, 'func', donde 'func' es

pulstran se evalúa de longitud (d) veces y devuelve la suma de las evaluaciones y = func
(td (1)) + func (td (2)) + ...

Ejemplo
>> t = 0 : 1/1e3 : 1; % 1 kHz sample freq for 1 sec
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
26 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
d = 0 : 1/3 : 1; % 3 Hz repetition freq
y = pulstran(t,d,'tripuls',0.1,-1);
plot(t,y)

40.pzmap():

grafica los polos y ceros de una función de transferencia

Argumento
también se puede hacer más graficas de polos y ceros simultáneamente y asignar valores
a los valores de pols y ceros
pzmap(sys)
pzmap(sys1,sys2,...,sysN)
[p,z] = pzmap(sys)

ejemplo
num =

1 10

>> den=[20 15 50]

den =

20 15 50

>> pzmap(tf(num,den))

41.rank():
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
27 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Proporciona el rango de una función, proporciona una estimación del número de filas o
columnas de una matriz completa linealmente independientes

Argumento
k = rank (A) devuelve el número de valores singulares de A que son más grandes que
la tolerancia predeterminada, max (tamaño (A)) * eps (norma (A)).
k = rank (A, tol) devuelve el número de valores singulares de A que son mayores que
tol.

Ejemplo

>> rank(ones(4,4))

ans =

42.residue():

Proporciona los numeradores, denominadores y residuo de las fracciones parciales de


una división de polinomios

Argumento
También se puede almacenar los valores recibidos en diferentes variables
[r, p, k] = residuo (b, a)

[b, a] = residuo (r, p, k)


Ejemplo
>> [a,b,c]=residue([1 2 3],[4 5 6])

a=
0.0938 - 0.1224i
0.0938 + 0.1224i

b=
-0.6250 + 1.0533i
-0.6250 - 1.0533i

c=
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
28 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
0.2500

43.roots():

Halla las raíces de un polinomio dado


Ejemplo
>> p = [3 -2 -4];
r = roots(p)

r=
1.5352
-0.8685

44.solve():

Herramienta que se utiliza para resolver ecuaciones y desigualdades

Argumentos
solve (eq, x, opciones) devuelve el conjunto de todas las soluciones complejas de una
ecuación o desigualdad eq con respecto a x solve (eq, x = a .. b , options )
solve ( eq , vars , options ) resuelve ecuaciones de varias variables
solve ( eq , options )
solve ( eqs , x , options ) resuelve ecuación de varias variables con respecto de x

Ejemplo
>> syms x
>> solve(x.^2 > 5, x)

ans =

Dom::Interval(5^(1/2), Inf)
Dom::Interval(-Inf, -5^(1/2))

45.ss():

Crea modelos en espacio de estado o convierte modelos LTI a espacio de estado


recibiendo matrices

Ejemplo
A = [0 1;-5 -2];
B = [0;3];
C = [0 1];
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
29 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
D = 0;
sys = ss(A,B,C,D);
sys = ss(A,B,C,D)

sys =

a=
x1 x2
x1 0 1
x2 -5 -2

b=
u1
x1 0
x2 3

c=
x1 x2
y1 0 1

d=
u1
y1 0

Continuous-time state-space model.

46.Ss2tf():

Convierte funciones de estad e funciones de transferencia


Argumentos
[B, A] = ss2tf (A, B, C, D) convierte un espacio de estados de un sistema en una función
de transferencia equivalente. Ss2tf devuelve el Laplace transformada función de
transferencia para sistemas de tiempo continuo y la transferencia de Z-transform
función para sistemas de tiempo discreto.
[B, A] = ss2tf (A, B, C, D, NI) devuelve la función de transferencia que se produce
cuando la ni TH entrada de un sistema con múltiples entradas es excitado por un impulso
unitario.

Ejemplos
>>A = [0 1;-5 -2];
>>B = [0;3];
>>C = [0 1];
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
30 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
>>D = 0;
>> [b, a] = ss2tf (A, B, C, D)

b=
0 3 0

a=
1 2 5

47.Ss2zp():

Descompone una función de transferencia en en sus ceros polos y ganancia


[z, p, k] = ss2zp (A, B, C, D)
Ejemplo
b = [2 3 0];
a = [1 0.4 1];

[A,B,C,D] = tf2ss(b,a);
[z,p,k] = ss2zp(A,B,C,D,1)

z=
0
-1.5000

p=
-0.2000 + 0.9798i
-0.2000 - 0.9798i

k=
2

48.stairs():
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
31 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Elabora gráfico tipo escalera de las


funciones que propongamos tal igual
como el comando plot también
podremos asignarle un valor a su salida
stairs(X,Y)
stairs(___,LineSpec)
h = stairs(___)

Ejemplo

X = linspace(0,4*pi,40);
Y = sin(X);

figure
stairs(Y)

49.stem():

sirve para hacer graficas mediante pulsos también al igual que el comando stairs se le
puede asignar un valor a su salida

argumentos
stem(Y)example
stem(X,Y)example
stem(___,'filled')example
stem(___,LineSpec)
h = stem(___)

ejemplo
>> X = linspace(0,4*pi,40);
Y = sin(X);
>> stem(y)
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
32 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

50.step():

Simula y grafica una respuesta de una función de transferencia cuando se le somete


entrada escalón.
step(sys)
step(sys1,sys2,...,sysN,t)
y = step(sys,t)

Ejemplo
>> s = tf('s');
G = exp(-s) * (0.8*s^2+s+2)/(s^2+s);
T = feedback(ss(G),1);
step(T)
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
33 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

51.syms():

sirve para declarar una o más variables simultáneamente para trabajar con ellas syms x

ejemplo
syms x y

52.tf():

Sirve para crear una función de transferencia en base a su numerador y denominador


recibiendo vectores y tomándolos como polinomios
sys = tf(num,den)
sys = tf(num,den,Ts)

ejemplo
>> syms t
>> w=tf([1 2 3],[4 5])

w=

s^2 + 2 s + 3
-------------
4s+5

Continuous-time transfer function.

53.Tf2ss():
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
34 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

Convierte una función de transferencia en su forma espacial mediante variables

Argumento
Posee 4 variables de salida y de entrada el numerador y denominador de la función de
transferencia

Ejemplo
>> b = [0 2 3; 1 2 1];
>>a = [1 0.4 1];
>>[A,B,C,D] = tf2ss(b,a)

A=
-0.4000 -1.0000
1.0000 0

B=
1
0

C=
2.0000 3.0000
1.6000 0

D=
0
1

54.Tf2zp():

Convierte una función de transferencia en su forma de polos, ceros y ganancia [z,p,k] =


tf2zp(b,a) contiene 3 variables de salida para cada parámetro que saquemos de la
función de transferencia que está escrito en forma de numerador y denominador

Ejemplo
[z,p,k]=tf2zp([2 8 16],[5 15 75])

z=
-2.0000 + 2.0000i
-2.0000 - 2.0000i

p=
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
35 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
-1.5000 + 3.5707i
-1.5000 - 3.5707i

k=
0.4000

55.tfdata():

Accede a la composición de la función de transferencia devolviendo su numerador y


denominador
[num,den] = tfdata(sys)
[num,den,Ts] = tfdata(sys)

Ejemplo

h=
s+1
-------------
s^2 + 2 s + 5

Continuous-time transfer function.

>> [num,den] = tfdata(h,'v')


num =
0 1 1

den =
1 2 5

56.zero():

Nos retorna lo ceros y ganancia de la función de transferencia que invoquemos z =


zero(sys)
[z,gain] = zero(sys)

Ejemplo
>> [z gain]=zero(tf([1 2 3],[4 5]))

z=
-1.0000 + 1.4142i
-1.0000 - 1.4142i
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
36 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
gain =
0.2500

57.zeros():

Crea matrices del tamaño que le indiquemos llenándolas con ceros


predeterminadamente o también asignándole valores en el argumento.
X = zeros(n)
X = zeros(sz1,...,szN)

Ejemplo
>> X = zeros(2,3,4);
size(X)

ans =

2 3 4

58.zp2ss():

Convierte una función de transferencia dado en sus parámetros de ceros polos y


ganancia y los convierte en su modo espacial
[A,B,C,D] = zp2ss(z,p,k)

Ejemplo
>> [A,B,C,D] = zp2ss([ -9 8 6],[10 5 2],5)

A=
10.0000 0 0
2.0000 7.0000 -3.1623
0 3.1623 0

B=
1
1
0

C=
10.0000 50.0000 -101.1929

D=
5
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
37 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB

59.zp2tf():

Convierte los parámetros de ceros polos y ganancia en una función de transferencia de


parámetros numerador y denominador
[b,a] = zp2tf(z,p,k)

>> [a,b]=zp2tf(3,[1 2],-5)

a=
0 -5 15

b=
1 -3 2

60.zpk():

Crea una función de transferencia en base a sus polos, ceros y ganancia sys = zpk(z,p,k)

Ejemplo
>> z=zpk([5 -6],[-1 -2],5)

z=

5 (s-5) (s+6)
-------------
(s+1) (s+2)

Continuous-time zero/pole/gain model.

61.zplane():

Grafica los ceros y polos de una función de transferencia

Argumento:
zplane(z,p)
zplane(b,a)
zplane(d)
[hz,hp,ht] = zplane(z,p)

Ejemplo
>> [z,p,k] = ellip(4,3,30,200/500);
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
38 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
zplane(z,p)
grid

VI.- OBSERVACIONES Y CONCLUSIONES:

- Dar sus observaciones y conclusiones de forma personal, en forma clara y empleando el


menor número de palabras.

Observaciones

Conclusiones (dos por integrante).



ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
39 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
VIII.- BIBLIOGRAFIA:

o https://wdn2.ipublishcentral.com//hipertexto500024/viewinsidehtml/500194811168514

Rubrica:
Desarrollo de experiencias

Observaciones
Conclusiones

Porcentaje %
Fundamento

Bibliografía
Puntualidad

individual
Preguntas
teórico

Total
2 13 - 5 - - 20 15

Ing. Mullisaca, William


Docente DAIE
Anexo 1 Fecha 01/05/2020
ATS: Análisis de trabajo seguro Versión V1/05/20
Código ATS20V1
Curso: Tarea: Docente:
Ambiente: Grupo: Mesa: Fecha:
Integrantes (Apellidos y nombres) Firma Integrantes (Apellidos y nombres) Firma
1. 2.

3. 4.
Elementos de protección (Marque con aspa) Características de elementos de protección, equipos y herramientas

1. ____________________________________________________________
USO OBLIGATORIO
DEL CASCO DE
USO OBLIGATORIO
DE BOTAS AISLANTES
USO OBLIGATORIO
DE GUANTES
USO OBLIGATORIO
DE PROTECCIÓN
USO OBLIGATORIO
DE MASCARILLA
USO
OBLIGATORIO DE
2. ____________________________________________________________
SEGURIDAD AISLANTES OCULAR PROTECTOR
FACIAL
3. ____________________________________________________________
4. ____________________________________________________________
5. ____________________________________________________________
USO OBLIGATORIO APAGAR USO OBLIGATORIO OBLIGATORIO USO OBLIGATORIO OTRO
DE PROTECCIÓN DESCONECTAR DE PROTECTOR CONECTAR A DE TRAJE DE
AUDITIVA CUANDO NO SE USE AJUSTABLE TIERRA SEGURIDAD

Acciones a realizar Otros riesgos en las acciones


(marque con aspa las advertencias por cada a realizar, considerar
acción) medidas de control
1.
1._________________________
2. ___________________________
3. 2._________________________
4. ___________________________
5. 3. _________________________
ESCUELA PROFESIONAL DE INGENIERÍA Emisión:
ELECTRÓNICA 01/05/2020
LABORATORIO CONTROL
Página
EXPERIENCIA 1:
41 / 41
COMANDOS USADOS DE CONTROL PARA
MATLAB
6.

También podría gustarte