You are on page 1of 39

1

UNIVERSIDAD NACIONAL DE SAN AGUSTIN


Escuela Profesional De Ingeniera Electrnica

Curso: SISTEMA DE CONTROL DIGITAL

INTRODUCCION LABORATORIO 2017

TEMA: COMANDOS MS USADOS MATLAB

Docente: Ing. Oscar Salazar Alarcn.

Arequipa 2017

1
2

COMANDOS MS USADOS MATLAB

1. [1 ones()]

Vector formado por el nmero 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 nmero 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 =

1 0

>> [1 zeros(1,3)]
ans =
1 0 0 0 % a partir del 2do nmero 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 nmero complejo X.

2
3

Ejemplos:

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

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

4. allmargin()

Proporciona informacin detallada acerca de la ganancia, fase y mrgenes de


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

Ejemplo: Obtendremos todos los mrgenes de

Solucin:

>> 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

3
4

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

6. bilinear()

La transformacin bilineal es un mapeo matemtica de variables

Transforma filtros analgicos, diseados utilizando las tcnicas de diseo de


filtros clsicos, 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 funcin de transferencia
[numd,dend] = bilinear(num,den,Fs); % Conversion analgica a digital
fvtool(numd,dend) % Visualizar el filtro

7. c2d()
Conversin de sistema continuo a tiempo discreto

sintaxis:

SYSD = C2D (SYSC, TS, MTODO) 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:

4
5

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 conversin opuesta


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

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

8. c2dm()
Conversin de sistema continuo a tiempo discreto por varios metodos

9. cloop()
Comando cloop para obtener la funcin de transferencia resultante
de un sistema con retroalimentacin unitaria

5
6

10.conv()

Convolucin y multiplicacin de polinomios.


C = conv (A, B) convoluciona vectores A y B

11.d2c()
Cadena que especifica un mtodo de conversin de discreta a continua tiempo:

'zoh' - de orden cero mantenga en las entradas. Asume las entradas de control
son a trozos constante durante el perodo de muestreo.

12.d2cm()

D2cm Conversin de sistemas LTI discretos a tiempo contino.


[Ac, Bc, Cc, Dc] = D2cm (A, B, C, D, T, "mtodo") convierte el sistema de estado-
espacio-tiempo discreto de tiempo continuo usando "mtodo":

1. 'zoh' Convertir en tiempo continuo suponiendo una retencin de orden cero en


las entradas.
2. 'tustin' Convertir en tiempo continuo usando la aproximacin bilineal (Tustin)
en el derivado.

6
7

3. 'prewarp' Convertir en tiempo continuo usando la aproximacin bilineal (Tustin)


con prewarping frecuencia. Especifique la frecuencia crtica con un argumento
adicional, es decir D2cm (A, B, C, D, T, 'prewarp', aseo)
4. 'matched' Convertir el sistema SISO a tiempo continuo utilizando el mtodo de
polos y ceros emparejado.

[NUMC, denc] = D2cm (NUM, DEN, Ts, mtodo) convierte la funcin de


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

Nota: 'foh' ya no est disponible.

13.dcgain()

Permite obtener la ganancia esttica de una funcin de transferencia.


Sintaxis:
K = dcgain (SYS) calcula el estado de equilibrio (DC o baja frecuencia) de
ganancia del sistema dinmico de SYS.

Ejemplo:
Definiendo la siguiente funcin

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


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

0.5000

14.deconv()
Deconvolucin y divisin polinmica.
[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.

7
8

Si A y B son vectores de coeficientes polinomicos, deconvolucin es


equivalente a la divisin polinmica. 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 convolucion
c = conv(u,v)
c=
10 40 100 160 170 120
Utilice deconvolucin para recuperar v:
[q,r] = deconv(c,u)
q=
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 nmero de puntos se


determina automticamente.

dimpulse (NUM, DEN) traza la respuesta al impulso de la funcin de


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

8
9

16.dlinmod()

El dlinmod funcin puede linealizar discreta, multifrecuencia y sistemas continuos


y discretos hbridos 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 linealizacin 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 aproximacin modelo continuo de un sistema discreto, establezca Ts a
0.

17.dlsim()

Simulacin de sistemas lineales de tiempo discreto


dlsim (NUM, DEN, U) representa el tiempo de respuesta de la funcin de
transferencia.
Descripcin 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 continuacin dlsim (NUM, DEN, T) es equivalente a
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 la 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.

9
10

X = dlyap (A, Q) resuelve la ecuacin discreta matriz de Lyapunov:

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

X = dlyap (A, B, C) resuelve la ecuacin de Sylvester:

A*X*B-X+C=0

X = dlyap (A, Q, [], E) resuelve la ecuacin 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 simblica.
lambda = eig(A) % devuelve un vector simblico que contiene los valores
propios de la plaza simblica de la matriz A.
Ejemplo:

A=[1 2;3 4];


[V D]=eig(A)
%nos devuelve como resultado
V=
-0.8246 -0.4160
0.5658 -0.9094

D=
-0.3723 0
0 5.3723

21.eval()

Evalua una funcin en los valores de x

Sintaxis:
eval (expresin) realiza la expresin, una cadena que contiene cualquier expresin
MATLAB vlida. Usted puede construir la expresin mediante la concatenacin de
subcadenas y variables dentro de corchetes:

10
11

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

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.

11
12

23. ezplot():

Grafica una funcin f en el intervalo [a,b] adicionndole un ttulo por defecto

ezplot('f',[a,b])

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

24.ezplot3():

3-D curva paramtrica 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 paramtrica x = sen (t), y = cos (t), z = t en el dominio [0, 6].
syms t
ezplot3(sin(t), cos(t), t,[0,6*pi])

12
13

25.feedback():

Cdigo para el anlisis de los sistemas de control, en donde se considera que ya se han
definido G1(s), G2(s), etctera, y H(s).
Conexin de dos sistemas por realimentacin no unitaria

sintaxis:
sys = feedback (SYS1, SYS2) devuelve una sys modelo de objetos para la
interconexin de retroalimentacin negativa del modelo de objetos SYS1 y SYS2.

Ejemplo:

13
14

26.filter():

Filtro digital 1-D


y = filter(b, a, x) filtra los datos de entrada, x, utilizando una funcin de transferencia
racional definido por el numerador y denominador coeficientes b y A,
respectivamente.

14
15

Si x es un vector, entonces el filtro devuelve los datos filtrados como un vector del
mismo tamao que x.
Si x es una matriz, luego filtrar actos a lo largo de la primera dimensin y devuelve los
datos filtrados para cada columna.
Si x es una matriz multidimensional, luego filtrar actos a lo largo de la primera
dimensin de matriz cuyo tamao 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) acta junto tenue dimensin. Por ejemplo, si x es una matriz,
a continuacin, 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) 2
z 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')

15
16

>> grid

>> title('Respuesta a la entrada de kronecker')

>> xlabel('k')

>> ylabel('y(k)')

Esta grafica debe concordar con lo que se obtendra manualmente x(k ) 0 (n 1) 1(k )

27.filtic():

Las condiciones iniciales de forma directa aplicacin del filtro II transpuesta


z = filtic(b, a, y, x) encuentra las condiciones iniciales, z, por los retrasos en la
aplicacin 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 funcin de transferencia del filtro.
Los vectores xey contienen la entrada o salida ms reciente en primer lugar, y la
entrada ms antigua o la salida anterior.
x=[x(1),x(2),x(3),,x(n)]
y=[y(1),y(2),y(3),,y(m)]

16
17

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 ms all de x (n-1) y los elementos de y ms 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.
La estructura en forma directa II transpuesta se muestra en la siguiente ilustracin.

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 dinmico. Para los


sistemas dinmicos 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 dinmico 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 duracin de la simulacin se determina automticamente para mostrar el
comportamiento transitorio de la respuesta.

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

17
18

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)

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 condicin 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 condicin inicial en los estados especificados por el vector x0:

Esta funcin es aplicable a cualquiera de los modelos continuos- o de tiempo discreto.


Cuando se invoca sin argumentos de salida, parcelas iniciales de la respuesta
condicin 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 nmero de perodos de
muestreo para simular.

Ejemplo:

18
19

Respuesta del Modelo Espacio de Estado a condicin inicial


Trazar la respuesta del siguiente modelo de espacio de estado:

Tome la siguiente condicin inicial:

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 dimensin de matriz.


L = length(X) devuelve la longitud de la dimensin ms grande de matriz X. Para los
vectores, la longitud es simplemente el nmero de elementos.

Ejemplo:
Nmero 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)

19
20

L=
6

31.limit():

el comando limit(f,x,a) sirve para calcular el lmite de la funcin f cuando la variable


x tiende al punto a.

argumento
limit(f,x,a): lmite de la funcin f cuando la variable x
tiende al punto a.
limit(f,a). lmite de la funcin de nica variable que tiende al punto a.
limit(f): lmite de la funcin f cuando tiende a cero
limit(f,x,a,'left'): el lmite de la funcin f aproximado por la izquierda cuando la variable x
tiende al punto a.
limit(f,x,a,'right'): el lmite de la funcin 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


operacin
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
[tamaos, x0, xstring] = sys

33.linspace():

crea un espacio de puntos en base aun intervalo de nmeros que se dan en los
argumentos
Argumento

20
21

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 separacin entre los puntos es (x2-x1) / (n-
1).

ejemplo:
>> linspace(2,10,5) %incremento(10-2)/(5-1)=2

ans =

2 4 6 8 10

34.lsim():

Dado un sistema descrito como un objeto LTI, la lsim comando se puede ejecutar una
simulacin 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 ecuacin diferencial est integrado de vez T (0) a T
(longitud (T)), a partir de la condicin inicial X0 y el uso de la entrada U. El vector de
entrada debe tener el mismo nmero 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')

21
22

35.ones():

Definicin 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

22
23

36.plot():

Sirve para graficar funciones


Argumentos
En los argumentos podemos dar diferentes funciones simultaneas para graficar adems
de modificar el color y forma de puntos en las grficas en el argumento linespec as
como asignarle un valor a los puntos de la grfica.

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)

23
24

37.pole():

Calcula los polos de un a funcion de transferencia


Ejemplo

>> num=[1 10]


num =

1 10

>> den=[20 15 50]

den =
20 15 50

>> pole(tf(num,den))

ans =

-0.3750 + 1.5360i
-0.3750 - 1.5360i

38.polival():

Evala un polinomio en valores que recibe la funcin

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 =

24
25

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 funcin
continua, 'func', donde 'func' es

pulstran se evala 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
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 funcin de transferencia

25
26

Argumento
tambin se puede hacer mas graficas de polos y ceros simultneamente 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():

Proporciona el rango de una funcin, proporciona una estimacin del nmero de filas
o columnas de una matriz completa linealmente independientes

Argumento
k = rank (A) devuelve el nmero de valores singulares de A que son ms grandes que
la tolerancia predeterminada, max (tamao (A)) * eps (norma (A)).
k = rank (A, tol) devuelve el nmero de valores singulares de A que son mayores
que tol.

Ejemplo

>> rank(ones(4,4))

ans =

26
27

42.residue():

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


una divisin de polinomios

Argumento
Tambin 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=
0.2500

43.roots():

Halla las races de un polinomio dado


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

r=
1.5352
-0.8685

44.solve():

27
28

Herramienta que se utiliza para resolver ecuaciones y desigualdades

Argumentos
solve (eq, x, opciones) devuelve el conjunto de todas las soluciones complejas de una
ecuacin 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 ecuacin 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];
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

28
29

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
funcin de transferencia equivalente. Ss2tf devuelve el Laplace transformada funcin
de transferencia para sistemas de tiempo continuo y la transferencia de Z-transform
funcin para sistemas de tiempo discreto.
[B, A] = ss2tf (A, B, C, D, NI) devuelve la funcin de transferencia que se produce
cuando la ni TH entrada de un sistema con mltiples entradas es excitado por un
impulso unitario.

Ejemplos
>> A = [0 1;-5 -2];
B = [0;3];
C = [0 1];
D = 0;
>> [b, a] = ss2tf (A, B, C, D)

b=
0 3 0

a=
1 2 5

47.Ss2zp():

29
30

Descompone una funcion 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():

Elabora grfico tipo escalera de las


funciones que propongamos tal igual
como el comando plot tambin
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)

30
31

49.stem():

sirve para hacer graficas mediante pulsos tambin 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)

50.step():

31
32

Simula y grafica una respuesta de una funcin de transferencia cuando se le somete


entrada escaln.
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)

51.syms():

sirve para declarar una o ms variables simultneamente para trabajar con ellas
syms x

ejemplo
syms x y

52.tf():

32
33

sirve para crear una funcin de transferencia en base a su numerador y denominador


recibiendo vectores y tomndolos 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():

Convierte una funcin de transferencia en su forma espacial mediante variables

Argumento
Posee 4 variables de salida y de entrada el numerador y denominador de la funcin 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

33
34

D=
0
1

54.Tf2zp():

Convierte una funcin de transferencia en su forma de polos, ceros y ganancia


[z,p,k] = tf2zp(b,a) contiene 3 variables de salida para cada parmetro que saquemos
de la funcin 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=
-1.5000 + 3.5707i
-1.5000 - 3.5707i

k=
0.4000

55.tfdata():

Accede a la composicin de la funcin 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.

34
35

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


num =
0 1 1

den =
1 2 5

56.zero():

Nos retorna lo ceros y ganancia de la funcin 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

gain =
0.2500

57.zeros():

Crea matrices del tamao que le indiquemos llenndolas con ceros


predeterminadamente o tambin asignndole valores en el argumento.
X = zeros(n)
X = zeros(sz1,...,szN)

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

35
36

ans =

2 3 4

58.zp2ss():

Convierte una funcin de transferencia dado en su parmetros 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

59.zp2tf():

Convierte los parmetros de ceros polos y ganancia en una funcin de transferencia de


parmetros numerador y denominador
[b,a] = zp2tf(z,p,k)

36
37

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

a=
0 -5 15

b=
1 -3 2

60.zpk():

Crea una funcin 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 funcin de transferencia

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

37
38

Ejemplo
>> [z,p,k] = ellip(4,3,30,200/500);
zplane(z,p)
grid

Discretizacin de sistemas continuos con Matlab.

El paquete Matlab posee funciones que permiten discretizar un sistema continuo mediante
distintos mtodos de discretizacin. El comando que realiza dicha tarea es c2dm. Dicho
comando tiene la siguiente sintaxis:
[numd,dend] = c2dm(num,den,Ts,'method')

De esta forma se convierte la funcin de transferencia continua G(s)=num(s)/den(s) en la


funcin de transferencia discreta G(z)=numd(z)/dend(z) a un periodo de muestreo Ts
utilizando el mtodo method, donde num, den, numd y dend son los vectores cuyos
elementos son los coeficientes en orden decreciente de los polinomios del numerador y
denominador de las funciones de transferencia continua y discreta respectivamente.

38
39

Los distintos mtodos de discretizacin que podemos utilizar son los siguientes:
'zoh' : discretiza asumiendo que existe un retenedor de orden cero a la entrada.
'foh' : discretiza asumiendo que existe un retenedor de orden uno a la entrada.
'tustin' : discretiza utilizando la transformacin bilineal.
'prewarp' : discretiza utilizando la transformacin bilineal con compensacin de
frecuencias (prewarping). En este caso es necesario especificar la frecuencia de corte y
el comando quedara [numd,dend]=c2dm(num,den,Ts,'prewarp',Wc), donde Wc es
la frecuenca de corte en rad./seg.
'matched' : discretiza utilizando el mtodo de asignacin de polos y ceros.

Interpretar y definir los archivos .m, dar ejemplo de aplicacin.

ARCHIVOS .m

Hasta ahora se ha utilizado la ventana principal de Matlab para escribir y ejecutar diversos cdigos, lo cual
es vlido siempre y cuando stos no sean repetitivos ni demasiado largos.
Por lo anterior, cabe mencionar que el verdadero potencial de Matlab radica en elaborar archivos especiales
denominados archivos .m, que se caracterizan por lo siguiente:

a) Pueden ser llamados desde Matlab las veces que se requiera (sin necesidad de volver a escribir el
cdigo respectivo).

b) Permiten la flexibilidad de poder llevar a cabo el cambio de datos.

c) Los archivos .m se graban y se guardan en el disco duro de la PC.

d) Los archivos .m pueden ser llamados desde otros archivos .m.

Para crear un archivo .m se hace clic en New, del men File, del espacio de trabajo de la ventana principal
de Matlab, donde hay que seleccionar la opcin
m-file. As, se presenta una subventana especial, que se muestra en la fi gura
La ventana donde se escribe el cdigo del archivo .m carece de los smbolos de doble prompt propios de la
ventana de trabajo de Matlab. Cuando se llama la subventana respectiva para crear un archivo .m, sta se
muestra con el nombre Untitled; una vez que se ha escrito en dicha subventana el cdigo respectivo, el
usuario le dar el nombre correspondiente al archivo .m creado, con la opcin Save as de la barra de
herramientas
Tal archivo .m ya almacenado en memoria, se llamar desde la ventana de trabajo de Matlab.

39