Вы находитесь на странице: 1из 10

UNIVERSIDAD NACIONAL DE

INGENIERA
FACULTAD DE INGENIERA MECNICA
INGENIERIA DE CONTROL MT-221
2015-1
Laboratorio 2
Introduccin al Matlab (parte 2)
Objetivo. El alumno se familiariza en el entorno Matlab usando comandos
comunes para Ingeniera de Control.
Versin utilizada. 2009a / 2010a
En este segundo laboratorio vamos a realizar ejercicios sobre comandos
ms bsicos asociados con operaciones comunes en ingeniera de control.
No olvide que:
[]
Utilizado para formar vectores y matrices
()
Precedencia de expresin matemtica
,
Separa elementos y argumentos de funcin
;
Final de filas. Tambin suprime el resultado de un comando u
operacin
:
Generacin de vectores.
j : k significa [ j j+1 k]
A(: , j)
significa j-sima columna de A
A(i , :)
significa i-sima fila de A

Ejecucin de orden del sistema operativo


%
Comentarios para explicar pasos de un algoritmo
Procedimiento
Ejecute el programa Matlab, la versin que disponga

Por ejemplo: Matlab 2009a


En el smbolo de comandos del Matlab realice los siguientes ejercicios:

Ejercicios asociados con la ecuacin caracterstica

1. Sea la matriz A = [0 1 0; 0 0 1; -6 -11 -6];


Se va a determinar las races de la ecuacin caracterstica que coinciden
con los de los valores propios de A. para ello para poder determinar esta
ecuacin usaremos el comando poly:
p = poly(A);
Escriba la respuesta p = 1.0000

6.0000 11.0000

6.0000

2. Luego para determinar las races de la ecuacin caracterstica se


ejecuta el comando roots(p):
r = roots(p)
Escriba el resultado de r

r = -3.0000
-2.0000
-1.0000
3. Si r representa a las races de un polinomio, luego, construya el
polinomio q(s) a partir de las races r.

(s+3)(s+2)(s+1) = s3+6s2+11s+6
4. El polinomio que usted ha escrito en el paso anterior, comprelo
usando nuevamente el comando poly(r), donde r representa las
races de la ecuacin caracterstica
q = poly(r) = [1.0000

6.0000 11.0000

6.0000]

Existe algn cambio entre el resultado de poly(A) y poly(r)?


Explique adecuadamente.
No. El comando poly() en una matriz, me genera la ecuacin
caracterstica, asi mismo para las races, me vuelve a generar la misma
ecuacin caracterstica.
Operaciones con polinomios
Sea a(s) = s2 20.6

b(s) = s2 + 19.6s + 151.2

5. Para multiplicar dos polinomios, se usa el comando conv(a,b).


Cabe resaltar que el producto de polinomios es la convolucin de
los coeficientes que tienen cada polinomio.
Para obtener la convolucin o multiplicacin se hace de esta manera
a = [1 0 -20.6];
b = [1 19.6 151.2];
c = conv(a,b);
Escriba el polinomio resultante de esta manera:
( 1 )s4 + ( 19.6 )s3 + ( 130.6 )s2 + ( -403.8 )s + ( -3114.72)

6. Para dividir (deconvolucin) entre polinomios use la funcin


deconv():
[q,r]= deconv(c,a), donde:

q es el cociente y r es el residuo

Explique el significado de los coeficientes de q como de r cuando haya


ejecutado el comando deconv()
deconv(c,a)= 1.0000 19.6000 151.2000 ; Solo se obtuvo el cociente,
pero no se obtuvo el residuo
[q,r]= deconv(c,a)
q=
1.0000 19.6000 151.2000
r=
0
0
0
0
0
Cul es la diferencia de escribir el comando deconv(c,a) y
[q,r]=deconv(c,a)?
Al ejecutar deconv(c,a), se obtuvo solo el cociente, sin embargo al
ejecutar [q,r]=deconv(c,a), se obtuvo tanto el cociente como el residuo.
7. Si se quiere evaluar una funcin en un valor especfico, se aplica
el siguiente comando:
Si p(s) = 3s2 + 2s + 1. Y si s = 5, luego:
p = [3 2 1];
polyval(p,5)
ans = 86 (verificar)
Luego, si p = s5 + s4 + 2s3 + s2 +1, evale p en s = 2
ans = 35
Matrices de utilidad
En Matlab existe una lista de matrices muy tiles para la programacin
ones(n)
matriz de unos de orden n x n
ones (m,n)
matriz de unos de orden m x n
ones(A)
se escribe unos del mismo tamao de la matriz A
zeros(n)
zeros (m,n)
zeros(A)
diag([ones(1,n)])
Utilice el help de Matlab y explique y ponga ejemplos del uso de los
comandos en mencin
ones(3) = 1
1
1
1
1
1
1
1
1
ones(2,3)= 1
1
1
1
1
1

A=[1 2 3;2 1 3]
Ones(size(A))= 1

1
1

zeros(4)= 0
0
0
0

0
0
0
0

1
1

0
0
0
0

0
0
0
0

zeros(size(A))= 0
0
0
0
0
0

8. Escriba la matriz despus de haber aplicado los siguientes


comandos y dando una breve explicacin del caso :
a) eye(5)
b) Cul es la diferencia entre aplicar el comando x = [ones(1,5)] y
diag([ones(1,5)])?
a) eye(5) = 1
matriz
0
0

1
0

0
1

0
0

0
0

0
0

0
0

0
0

1
0

Al ejectuar el comando se genera la


identidad.
0
1

b)
x = [ones(1,5)] = 1

y= diag(ones(1,5))= 1
identidad.
0
0
0
0

1
0
0
0

0
1
0
0

0
0
1
0

Es una matriz fila.


0

Es una matriz

0
0
0
1

9. Qu significa aplicar el comando diag(1:5), diag(0:4)?


diag(1:5)=
diagonal es una

0
0
0

0
0
0

3
0
0

0
4
0

0
0
5

Son matrices, en donde la


sucesin aritmtica

ascendente de razn

diag(0:4)= 0
0

0
1

0
0

0
0

por defecto 1.

0
0
4

0
0
2
0
0
0
0
0
3
0
0
0
0
0
4
Representacin grfica de curvas
10. Se presentan tres cdigos fuente en Matlab. Grafique los
resultados de estos programas Explicando el resultado, usando
comentarios simbolizados con % (comando comentario).
a) t = 0:0.05:10 %Es el domino de las funciones.
y = sin(t);
z = cos(t);
plot(t,y,o,t,z,x) %Grafica las funciones
grid %Son las lneas punteadas(horizontales y verticales)
title(Grficas del seno y coseno) % Es el ttulo de la grafica
xlabel(Seg) %Es el nombre que se le asigna eje horizontal
ylabel(y=sen(t); z=cos(t)) %Es el nombre que se le asigna al eje
vertical
text(3,0.45,sen(t)) %Sirve para personalizar las a las grficas
text(0.8,-0.3,cos(t)) %Sirve para personalizar las a las grficas

b) t = 0:025:10; %dominio de las funciones


y = sin(t);
z = cos(t);
plot(t,y,t,z), text(t,y,y), text(t,z,z) %muestra las graficas
grid % muestra las lneas discontinuas(vertical y horizontal)
title(Grficas del seno y coseno) %titulo de la grafica
xlabel(Seg) %nombre del eje horizontal
ylabel(y=sen(t); z=cos(t)) %nombre del eje vertical

c) x = 0:0.1:3; %dominio de las funciones


y = x.^2;
plot(x,y) %muestra la grafica
grid %muestra las lneas discontinuas (H y V)
title(Grfica de y = x^2) %titulo de la grafica
xlabel(x) %nombre del eje horizontal
ylabel(y) %nombre del eje vertical.

11. Qu modificaciones hara a la codificacin del programa 10.c


para lograr la curva de la figura siguiente, sabiendo que la
funcin y ha cambiado a y = x3 -20x.
x = -6:0.1:6;
%cambiamos el dominio
y = x.^3-20.*x; %cambiamos la funcion
plot(x,y)
grid
title('Grfica de y = x^3-20x') %cambiamos el nombre del titulo
xlabel('x')
ylabel('y')

Observe que hay una serie de errores entre la codificacin y la


informacin que muestra la grfica.
Grfica de y = x 2

100
80
60
40

20
0
-20
-40
-60
-80
-100
-6

-4

-2

0
x

Modelos matemticos de sistemas lineales


Matlab tiene varios comandos muy tiles para transformar un modelo
matemtico de un sistema lineal en otro modelo:
a) Funcin de transferencia a espacio de estado
[A,B,C,D] = tf2ss(num,den)
espacio
funcin de
estado
transferencia

Y (s) num
1
=
=C ( sI A ) B+ D
U (s) den
Segn la informacin de A, B, C y D, la representacin de espacios
de estado es:
x = Ax+ Bu

y=Cx+ Du

b) Espacio de estado a funcin de transferencia


[num,den] = ss2tf(A,B,C,D)
una salida

cuando el sistema tiene una entrada y

[num,den] = ss2tf(A,B,C,D, iu)


una entrada

cuando el sistema tiene ms de


(iu=1,2,3) y una salida

c) Descomposicin en fracciones parciales de la funcin de


transferencia
Sea la funcin de transferencia:
B( s) num b (1 ) sn +b ( 2 ) s n1 ++b (n)
=
=
A (s ) den a (1 ) sn +a ( 2 ) s n1 ++a (n)

num = [b(1) b(2) b(n)]


den = [a(1) a(2) a(n)]
Donde a(1) es diferente de cero. Pero los otros coeficientes pueden
ser ceros.
Luego la descomposicin de fracciones parciales se hace usando el
comando:
[r,p,k] = residue(num,den). Segn esto:
B(s)
r (1)
r (2)
=
+
A (s ) s p (1) s p(2)

r ( n)
+ k (s)
s p ( n )

12. Sea el siguiente sistema con entradas u1 y u2

[][

][ ] [ ] [ ]

x1
1 x 1 + 1 0 u1
= 0

x2 2 3 x 2 0 1 u 2

y=[ 1 0 ]

[]

[]

x1
u
+[0 0 ] 1
x2
u2

Se quiere determinar la descomposicin en fracciones parciales,


segn las entradas u1 y
u2. Para ello use esta informacin:
A = [0
B = [1
C = [1
D = [0

1; -2 -3];
0; 0 1];
0];
0];

Se aplicar el comando [num,den] = ss2tf(A,B,C,D,1) y [num,den] =


ss2tf(A,B,C,D,2)
Recordando que el parmetro 1 corresponde la funcin de
transferencia respecto a la entrada u1 y el parmetro 2 corresponde
la funcin de transferencia respecto a la entrada u2.
Segn el resultado de aplicar este comando, luego exprese:
Y (s)
s+3
= 2
U 1( s) s +3 s+2

Y ( s)
1
=
U 2(s) s 2 +3 s+ 2

13. Considere la siguiente funcin de transferencia


B(s) num 2 s3 +5 s 2 +3 s +6
=
=
A (s ) den s 3+ 6 s 2+ 11 s+ 6

Donde num = [2 5 3 6] y den = [1 6 11 6]


Luego [r,p,k] = residue(num,den)
Demuestre que el resultado de la descomposicin de fracciones
parciales resulta

B(s) 2 s 3+ 5 s 2+3 s+6 6 4


3
=
=
+
+
+2
A (s ) s3 +6 s2 +11 s+6 s+3 s +2 s+1

14. Si aplica el comando [num,den] = residue(r,p,k), qu resulta?


Justifique su respuesta

Referencias: Ingeniera de Control, K. Ogata


Preparado por Ing. Gustavo Mesones Mlaga, MSc.
Este laboratorio se entregar hasta el sbado 11 de abril de 2015 en horas de
clase

10

Вам также может понравиться