Documente Academic
Documente Profesional
Documente Cultură
Arequipa 2017
1
2
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()
2
3
Ejemplos:
>>x = -8;
>> abs(x)
ans =
8
>> x=2+2i;
>> abs(x)
ans =
2.8284
4. allmargin()
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()
3
4
6. bilinear()
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
4
5
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()
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()
6
7
13.dcgain()
Ejemplo:
Definiendo la siguiente funcin
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
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()
x [n + 1] = Ax [n] + Bu [n]
y [n] = Cx [n] + Du [n]
8
9
16.dlinmod()
17.dlsim()
18.dlsim()
Igual al comando 7
19.dlyap()
9
10
A * X * A '- X + Q = 0
A*X*B-X+C=0
A * X * A '- E * X * E' + Q = 0
20.eig()
D=
-0.3723 0
0 5.3723
21.eval()
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():
A = [1 1 0; 0 0 2; 0 0 -1];
exp(A)
ans =
expm(A)
ans =
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():
ezplot('f',[a,b])
Ejemplo:
ezplot('4-abs(x)',[-3,3]);
24.ezplot3():
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():
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
>> 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
>> xlabel('k')
>> ylabel('y(k)')
Esta grafica debe concordar con lo que se obtendra manualmente x(k ) 0 (n 1) 1(k )
27.filtic():
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.
28.impulse():
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
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():
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
sys = ss(a,[],c,[]);
(sys,x0)
30.length():
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():
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():
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
21
22
35.ones():
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():
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():
1 10
den =
20 15 50
>> pole(tf(num,den))
ans =
-0.3750 + 1.5360i
-0.3750 - 1.5360i
38.polival():
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
ans =
24
25
9 45 5
39.pulstran():
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():
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
>> 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():
Argumento
Tambin se puede almacenar los valores recibidos en diferentes variables
[r, p, k] = residuo (b, a)
a=
0.0938 - 0.1224i
0.0938 + 0.1224i
b=
-0.6250 + 1.0533i
-0.6250 - 1.0533i
c=
0.2500
43.roots():
r=
1.5352
-0.8685
44.solve():
27
28
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():
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
46.Ss2tf():
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
[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():
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
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
ejemplo
>> syms t
>> w=tf([1 2 3],[4 5])
w=
s^2 + 2 s + 3
-------------
4s+5
53.Tf2ss():
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():
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():
Ejemplo
h=
s+1
-------------
s^2 + 2 s + 5
34
35
den =
1 2 5
56.zero():
Ejemplo
>> [z gain]=zero(tf([1 2 3],[4 5]))
z=
-1.0000 + 1.4142i
-1.0000 - 1.4142i
gain =
0.2500
57.zeros():
Ejemplo
>> X = zeros(2,3,4);
size(X)
35
36
ans =
2 3 4
58.zp2ss():
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():
36
37
a=
0 -5 15
b=
1 -3 2
60.zpk():
Ejemplo
>> z=zpk([5 -6],[-1 -2],5)
z=
5 (s-5) (s+6)
-------------
(s+1) (s+2)
61.zplane():
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
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')
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.
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).
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