Sunteți pe pagina 1din 41

UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

MATLAB 6.5

M.SC., ING. RAUL BENITES SARAVIA 1


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

1. ACCESO A MATLAB
Debido a que MATLAB es un interpretador de comandos, se puede ejecutar fácilmente
funciones y programas en el ‘prompt’ de MATLAB ( >> ) y programar en un lenguaje
de comandos.
Los archivos de MATLAB tienen la extensión .m (M-files), y funcionan igual en
cualquiera de las versiones y plataformas en las que corra MATLAB. El espacio de
trabajo similar guarda variables, lee, graba y manipula archivos .m, archivos de datos,
sonido y gráficos tipo texto, editor de sonido o gráficos en formato .mat.
Para ingresar a MATLAB, hacer doble click en el ícono de MATLAB,
obteniéndose:

En el prompt de Matlab se pueden ingresar comandos que permiten ejecutar


expresiones y programas; pero en forma temporal; sin embargo, una para editar
programas en archivo, se debe abrir un archivo nuevo en la opción File del Menú de
Opciones, pudiéndose iniciar el trabajo de programación, luego grabar con un nombre
seguido de la extensión m.

2. ELEMENTOS BASICOS

2.1 OPERADORES ARITMETICOS

+ Suma

M.SC., ING. RAUL BENITES SARAVIA 2


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

- Resta
* Multiplicación
/ División
^ Operador de potencia
‘ Transpuesta

2.2 OPERADORES LOGICOS Y DE RELACION

< Menor que


> Mayor que
= Usado en declaraciones de asignación. == es el Operador Igual a.
& Lógica Y (AND)
| Lógica O (OR)
~ El complemento lógico (NO).
~= No es Igual a.

2.3 OTROS OPERADORES

[ ] Corchetes usados para formar vectores y matrices.

Ejemplos:

[6.9 9.64 3.4] es una matriz de 1X3, donde cada elemento es separado por
espacios en blanco.

[6.9, 9.64, 3.4] cumple la misma función que la anterior; con la diferencia que
cada elemento de la matriz se ha separado por comas.

( ) Usado para indicar precedencia en expresiones aritméticas en la manera


usual. También usado para adjuntar argumentos de funciones, en la
manera usual y para adjuntar subíndices de vectores y matrices en una manera
algo más general que la manera usual.

Ejemplo: Supongamos la matriz C = [-1 2 0], entonces:

C (1) es el primer elemento de C, es decir -1.


C (3) es el tercer elemento de C, es decir 0.
C ([1 2 3]) son los tres primeros elementos de C.

, Usado para separar los subíndices de matriz y los argumentos de una función.
Usado para separar declaraciones en multideclaración de líneas.

Ejemplo:

a=3, b=4, c=1

; Usado para terminar filas en una matriz.


Usada después de una expresión o la declaración para suprimir la visualización
del resultado.

M.SC., ING. RAUL BENITES SARAVIA 3


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplos:

A=[0 1 –5; 3 –3 6; 5 0 -1] es una matriz de 3X3


B=[1; 3; -4] es un vector de 3X1.
R=A*B; se suprime la visualización del resutado de la matriz R.

% El símbolo porcentaje sobre una línea, indica la finalización lógica de línea.


Cualquier texto siguiente se ignora. Se usa para comentarios.

Ejemplo:

% Programa sencillo que obtiene el producto de dos matrices

! Cualquier texto que sigue a ! se emite como un comando al sistema operativo.

: Usado en subíndices, para iteraciones, para escoger ó seleccionar filas, columnas


y elementos de vectores y matrices.
A (: ) muestra todos los elementos de A, observados como una columna única.

Ejemplo:

» A=[1 2 3; 4 5 6; 7 8 9]

A=

1 2 3
4 5 6
7 8 9

» A(:)

ans =

1
4
7
2
5
8
3
6
9

A (: , J) es la J-va columna de A

Ejemplo: Despliegue de la 2da. columna de la matriz A.

» A(:,2)

M.SC., ING. RAUL BENITES SARAVIA 4


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

ans =

2
5
8

A (J: K) es A (J), A (J+1), ... , A (K)

Ejemplo: Despliegue de los elementos del 1 al 6 de la matriz A,


seleccionándose por columnas; pero mostrándose en una sola fila.

» A(1:6)

ans =

1 4 7 2 5 8

A (: , J: K) es A (: , J), A (: , J+1), ... , A (: , K)

Ejemplo: Despliegue de todas las filas y las dos primeras columnas.

» A(:,1:2)

ans =

1 2
4 5
7 8

Adicionalmente a lo tratado en el uso de los dos puntos, su empleo es bastante


conocido en el uso de bucles como en la la estructura for que se verá
posteriormente.

3. FUNCIONES MATRICIALES

3.1 DETERMINANTE DE UNA MATRIZ

Ejemplo:

» A=[1 2 3; 4 5 -6; 0 1 -5];


» det(A)

ans =

33

M.SC., ING. RAUL BENITES SARAVIA 5


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

3.2 MATRIZ INVERSA

» A=[1 2 3; 4 5 -6; 0 1 -5];


» inv(A)

ans =

-0.5758 0.3939 -0.8182


0.6061 -0.1515 0.5455
0.1212 -0.0303 -0.0909

3.3 MATRIZ TRANSPUESTA


» A=[1 2 3; 4 5 -6; 0 1 -5];
» A'

ans =

1 4 0
2 5 1
3 -6 -5

3.4 MATRIZ DE CEROS


» zeros(2)

ans =

0 0
0 0

» zeros(1,2)

ans =

0 0

3.5 MATRIZ UNITARIA


» ones(3)

ans =

1 1 1
1 1 1
1 1 1

» ones(2,3)

M.SC., ING. RAUL BENITES SARAVIA 6


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

ans =

1 1 1
1 1 1

3.6 MATRIZ IDENTIDAD


» eye(2)

ans =

1 0
0 1

3.7 ESPACIADO LINEAL DE UN VECTOR


» linspace (0,4,10)

ans =

Columns 1 through 7

0 0.4444 0.8889 1.3333 1.7778 2.2222 2.6667

Columns 8 through 10

3.1111 3.5556 4.0000

3.8 MAGNITUD Y ANGULO DE UNA MATRIZ COMPLEJA


» B=[2-j 3 4+3j; 6j 3 1-2j; 7-j 2-3j 4];
» abs(B)

ans =

2.2361 3.0000 5.0000


6.0000 3.0000 2.2361
7.0711 3.6056 4.0000

» B=[2-j 3 4+3j; 6j 3 1-2j; 7-j 2-3j 4];


» angle(B)

ans =

-0.4636 0 0.6435
1.5708 0 -1.1071
-0.1419 -0.9828 0

M.SC., ING. RAUL BENITES SARAVIA 7


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

3.9 NORMA DE UNA MATRIZ


» B=[2-j 3 4+3j; 6j 3 1-2j; 7-j 2-3j 4];
» norm(B)

ans =

11.1380

3.10 RANGO DE UNA MATRIZ


» B=[2-j 3 4+3j; 6j 3 1-2j; 7-j 2-3j 4];
» rank(B)

ans =

» C=[0 1 5; 0 2 10; 3 2 8];


» rank(C)

ans =

3.11 VALORES Y VECTORES PROPIOS DE UNA MATRIZ

VALORES PROPIOS
» A=[1 2 3; 4 5 -6; 0 1 -5];
» eig(A)

ans =

6.2067
-1.3948
-3.8120

VALORES Y VECTORES PROPIOS


» [E,D]=eig(A)

E=

0.3980 0.7516 -0.5840


0.9138 -0.6356 0.6210
0.0815 -0.1763 0.5227

M.SC., ING. RAUL BENITES SARAVIA 8


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

D=

6.2067 0 0
0 -1.3948 0
0 0 -3.8120

3.12 TRAZA DE UNA MATRIZ


» A=[1 2 3; 4 5 -6; 0 1 -5];
» trace(A)

ans =

3.13 COEFICIENTES DE UN POLINOMIO


% Coeficientes del polinomio P(x) = x^2+2x+5

» p1=[1 2 5];
» p1

p1 =

1 2 5

3.14 RAICES DE UN POLINOMIO


» roots(p1)

ans =

-1.0000 + 2.0000i
-1.0000 - 2.0000i

3.15 POLINOMIO CARACTERISTICO DE UNA MATRIZ


% Determina los coeficientes de la ecuación caracteristica de una matriz: det(SI-A),
que resulta en: s^2+3s+2

» A=[0 -1; 2 -3];


» poly(A)

ans =

1 3 2

3.16 EVALUACION DE POLINOMIOS

M.SC., ING. RAUL BENITES SARAVIA 9


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

% Evaluacion del polinomio p1 en 2, es decir p1(2)

» p1=[1 2 5];
» polyval(p1,2)

ans =

13

3.17 DERIVADA DE UN POLINOMIO


» p1=[1 2 5];
» polyder(p1)

ans =

2 2

es decir la derivada del polinomio P(x) = x^2+2x+5 viene a ser: P'(x) = 2x+2

3.18 EXPONENCIAL DE UNA MATRIZ


» A=[0 -1; 2 -3];
» expm(A)

ans =

0.6004 -0.2325
0.4651 -0.0972

3.19 LOGARITMO DE UNA MATRIZ


» A=[0 -1; 2 -3];
» logm(A)

ans =

-0.6931 + 3.1416i 0.6931


-1.3863 1.3863 + 3.1416i

3.20 RAIZ CUADRADA DE UNA MATRIZ


» A=[0 -1; 2 -3];
» sqrt(A)

ans =

M.SC., ING. RAUL BENITES SARAVIA 10


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

0 0 + 1.0000i
1.4142 0 + 1.7321i

4. OPERACIONES CON MATRICES, VECTORES Y


POLINOMIOS

4.1 SUMA Y RESTA DE MATRICES

SUMA
» A=[0 -1; 2 -3];
» B=[4 1; 0 2];
» S=A*B

S=

0 -2
8 -4

RESTA
» A=[0 -1; 2 -3];
» B=[4 1; 0 2];
» R=A-B

R=

-4 -2
2 -5

4.2 MULTIPLICACION DE MATRICES


» A=[0 -1; 2 -3];
» B=[4 1; 0 2];
» M=A*B

M=

0 -2
8 -4

4.3 MULTIPLICACION DE POLINOMIOS

Muliplicación de los polinomios P1(x) = x^2+2x+5 y P2(x) = x^2+3


» p1=[1 2 5];
» p2=[1 0 3];

M.SC., ING. RAUL BENITES SARAVIA 11


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

» pr=conv(p1,p2)

pr =

1 2 8 6 15

5. SOLUCION DE SISTEMAS DE ECUACIONES


Solución del Sistema de ecuaciones AX = B

» A=[0 -1; 2 -3];


» B=[1;0];
» X=inv(A)*B

X=

-1.5000
-1.0000

M.SC., ING. RAUL BENITES SARAVIA 12


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

6. GRAFICAMIENTO

6.1 GRAFICOS EN DOS DIMENSIONES (2D)

Ejemplo 1: Graficar la respuesta de una función “y” vs. “t”.

El resultado es:

M.SC., ING. RAUL BENITES SARAVIA 13


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 2: Graficar la respuesta de una función “y” vs. “t” mediante barras.

M.SC., ING. RAUL BENITES SARAVIA 14


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 3: Graficar la respuesta de una función “y” vs. “t” mediante líneas y

puntos.

M.SC., ING. RAUL BENITES SARAVIA 15


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

6.2 GRAFICOS EN TRES DIMENSIONES (3D)

Ejemplo 4: Graficar las funciones “x”, “y” y “z”.

M.SC., ING. RAUL BENITES SARAVIA 16


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 5: Graficar 3D usando el comando “mesh”.

M.SC., ING. RAUL BENITES SARAVIA 17


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 6: Graficar 3D usando el comando “surf”.

Ejemplo 7: Graficar 3D usando el comando “contour”.

M.SC., ING. RAUL BENITES SARAVIA 18


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 8: Graficar 3D usando los comandos “meshgrid” y “slice”.

M.SC., ING. RAUL BENITES SARAVIA 19


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

7. CAJA DE HERRAMIENTAS DE SISTEMAS DE CONTROL


(Control System Toolbox).
7.1 Transformación de Modelos de Espacio de Estado a Función de
Transferencia.
• Si el sistema tiene una entrada y una salida (SISO), la orden

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

proporciona la función de transferencia Y(s)/U(s).

• Si el sistema tiene mas de una entrada, utilizar la orden

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

donde ‘iu’ es un índice que especifica la entrada que se va a usar para obtener la
respuesta.

Ejemplo 1: Considere una planta, representada por el siguiente conjunto de


ecuaciones en el espacio de estado:

 x&1   0 1   x1   1 0   u1 
  =     +    ;
 x&2   − 2 − 3   x2   0 1   u2 
x  u 
y = (1 0 ) 1  + (0 0 ) 1 
 x2   u2 

Determinar la función de transferencia.

SOLUCION

En el editor de MATLAB (por ejemplo, Bloc de notas), escribir el programa

M.SC., ING. RAUL BENITES SARAVIA 20


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Grabar con el nombre est_ft.m, así:

Al ejecutarse el programa, obtenemos

7.2 Transformación de Modelos de Función de Transferencia a


Espacio de Estado.
Debido a que (en el ejemplo) tenemos una planta con dos entradas y una salida, por lo
que obtuvimos dos funciones de transferencia, tendremos que obtener dos
representaciones en espacio de estado. Veamos lo que sucede:

M.SC., ING. RAUL BENITES SARAVIA 21


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Guardar con el nombre mod_conv.m, luego del cual, visualizaremos:

Ejecutamos el programa, digitando el nombre del archivo mod_conv, y presionando


enter . Luego, obtenemos los valores de las matrices, así:

M.SC., ING. RAUL BENITES SARAVIA 22


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

M.SC., ING. RAUL BENITES SARAVIA 23


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Podemos apreciar que las matrices A1 = A2 = A, y B1 = B2. La matriz A ha cambiado


de configuración. Qué ha sucedido?. La razón es que MATLAB convierte una función
de transferencia a la tercera forma canónica controlable en el espacio de estado.

Veamos la representación de la tercera forma canónica controlable:

 x&1   − a1 − a2 L − an −1 − an   x1   1 
      
 x&2   1 0 L 0 0   x2   0 
 x&  =  0 1 L 0 0   x3  +  0  u
 3     
M  M M M M M  M   M 
x    
 &n   0 0 L 1 0   xn   0 
 x1 
 
x 
y = (b1 − a1b0 b2 − a2b0 L bn − anb0 ) 2  + b0 u
M
 
x 
 n

• Para

y ( s) s+3 b s + b2
= 2 = 2 1 ; donde b0 = 0, b1 = 1, b2 = 3, a1 = 3, a2 = 2
u1 ( s ) s + 3s + 2 s + a1s + a2
 x&   − 3 − 2   x1   1 
⇒  1  =     +   u1 ;
 x&2   1 0   x2   0 
x 
y = (1 3) 1  + (0 ) u1
 x2 

• Para

y ( s) 1 b2
= 2 = 2 ; donde b0 = 0, b1 = 0, b2 = 1, a1 = 3, a2 = 2
u1 ( s ) s + 3s + 2 s + a1s + a2
 x&   − 3 − 2   x1   1 
⇒  1  =     +   u2 ;
 x&2   1 0   x2   0 
x 
y = (0 1) 1  + (0 ) u2
 x2 

Ahora se puede entender los resultados obtenidos en MATLAB

Ejemplo 2: Considere una planta, representada por el siguiente conjunto de ecuaciones


en el espacio de estado:

M.SC., ING. RAUL BENITES SARAVIA 24


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

 x&1   0 1 0   x1   0 
      
 x&2  =  0 0 1   x2  +  1  u ;
 x&   − 160 − 56 − 14   x   − 14 
 3   3   
 x1 
 
y = (1 0 0 ) x2  + (0) u
x 
 3

SOLUCION

Ejecutemos el programa del archivo trans.m:

En el polinomio del numerador se puede despreciar el término cuadrático y la constante,


quedando entonces tan solo el término en s.

Activemos ahora (en el programa) la última línea y corramos nuevamente el programa.

M.SC., ING. RAUL BENITES SARAVIA 25


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Se puede observar que las matrices A, B, C y D aparecen ahora en su tercera forma


canónica controlable.

7.3 Descomposición en Fracciones Parciales de la Función de


Transferencia.
Ejemplo 3: Descomponer en fracciones parciales la siguiente función de transferencia:

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

SOLUCION

La descomposición en fracciones parciales, toma la forma:

B( s ) 2 s 3 + 5s 2 + 3s + 6 r r r
= 3 = 1 + 2 + 3 +k
A( s ) s + 6s + 11s + 6 s − p1 s − p2 s − p3
2

Los valores de r, p y k se obtienen por MATLAB usando el comando:

[r, p, k] = residue(num, den)

Veamos:

M.SC., ING. RAUL BENITES SARAVIA 26


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejecutemos el programa del archivo fra_par.m :

De los resultados obtenidos por MATLAB, podemos escribir la función de transferencia


en fracciones parciales así:

B( s) −6 −4 3
= + + +2
A( s ) s + 3 s + 2 s + 1

Si queremos regresar de fracciones parciales a función de transferencia, basta con


introducir el siguiente comando:

[num, den] = residue(r, p, k)

M.SC., ING. RAUL BENITES SARAVIA 27


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

7.4 Conversión de sistemas de tiempo continuo a tiempo discreto y


viceversa.

• Para convertir un modelo de espacio de estado de tiempo continuo a tiempo discreto,


se usa el siguiente comando:

[G, H, Cd, Dd] = c2dm (Ac, Bc, Cc, Dc, T, ’method’)

• Para convertir un modelo de función de transferencia de tiempo continuo a tiempo


discreto, se usa el siguiente comando:

[numd,dend]=c2dm(numc,denc,T,’method’)

T: peridodo de muestreo
method: método de conversión

Ejemplo 4: Considerando un tiempo de muestreo de T = 0.01 segundos, discretizar la


ecuación de estado y la ecuación de salida siguientes:

 x&1   − 14 − 56 − 160   x1   1 
      
 x&2  =  1 0 0   x2  +  0  u ;
 x&   0 1 0   x3   0 
 3 
 x1 
 
y = (0 1 0 ) x2 
x 
 3

M.SC., ING. RAUL BENITES SARAVIA 28


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

SOLUCION

Al ejecutarse el programa del archivo disc1.m podemos obtener las matrices en tiempo
discreto G, H, Cd y Dd, así:

Nota: Para convertir modelos de tiempo discreto a tiempo continuo, se usan los
siguientes comandos:
[Ac,Bc,Cc,Dc] = d2cm(G,H,Cd,Dd,T,’method’)
[numc,denc] = d2cm(numd,dend,T,’method’)

7.5 Respuesta temporal de sistemas de tiempo continuo


Para un sistema de control definido por la función de transferencia de lazo cerrado, la
orden

M.SC., ING. RAUL BENITES SARAVIA 29


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

step(num,den,t)

generará la gráfica de respuesta a un salto unitario.


Para un sistema de control definido en el espacio de estados, la orden

step(A,B,C,D,iu,t)

generará igualmente la gráfica de respuesta a un salto unitario. El vector de tiempos se


determina automáticamente cuando el parámetro t no se incluye explícitamente en las
órdenes step.

7.5.1 Respuesta a una entrada escalón a partir de la función de transferencia del


sistema

Ejemplo 5: Dada la función de transferencia siguiente:

Y ( s) 25
= 2
R( s ) s + 4 s + 25

obtener la respuesta a una entrada escalón unitario.

SOLUCION

Al ejecutarse el programa se obtiene:

M.SC., ING. RAUL BENITES SARAVIA 30


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 6: Sea el sistema de control que se muestra en la siguiente figura:

N(s)

R(s) E(s) T(s) Y(s)


Kp 1
s ( Js + b)
-

En este sistema el controlador proporcional genera el par T que posiciona el elemento


de carga, que consiste en un momento de inercia y un rozamiento de tipo viscoso. El par
de perturbación al sistema se representa por N.
Suponiendo que la entrada de referencia R(s) = 0, determinar la función de
transferencia Y(s)/R(s) y la gráfica de respuesta a una perturbación N escalón unitario,
para los siguientes casos:

Caso 1: J = 1, b = 0.5, Kp = 1
Caso 2: J = 1, b = 0.5, Kp = 4

SOLUCION

M.SC., ING. RAUL BENITES SARAVIA 31


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Al ejecutarse el programa, obtenemos las siguientes gráficas:

Nota:
• La respuesta impulsional del sistema Y(s)/R(s) = G(s) es la misma que la respuesta a
un escalón unitario de sG(s).
• La respuesta a una entrada rampa del sistema Y(s)/R(s) = G(s) es la misma que la
resouesta a un escalón unitario de G(s)/s.

7.5.2 Respuesta a una entrada escalón a partir de las ecuaciones de estado y de


salida del sistema

Ejemplo 7: Obtener la respuesta a un escalón unitario del siguiente sistema:

M.SC., ING. RAUL BENITES SARAVIA 32


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

x& = Ax + Bu ; y = Cx + Du
donde :
 0 1 0 0  0
   
 0 0 1 0  0
A=
0 0 0 1 
; B =  5  ; C = (1 0 0 0) ; D = 0
   
 − 100 − 80 − 32 − 8   60 
   

SOLUCION

La gráfica obtenida es la siguiente:

M.SC., ING. RAUL BENITES SARAVIA 33


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

7.6 Respuesta temporal de sistemas de tiempo discreto


Para sistemas discretos, la orden más utilizada para la respuesta transitoria es

y = filter(num,den,x)

donde x es la entrada e y es la salida filtrada.


Las funciones de entrada que se van a considerar son la función delta de Kronecker
(la cual se corresponde con la función impulso unitario para sistemas en tiempo
continuo), la función rampa, la función aceleración y la función de entrada arbitraria.

7.6.1 Respuesta a la entrada delta de Kronecker

La entrada delta de Kronecker se define como

u(k) = 1, para k = 0
u(k) = 0, para k ≠ 0

La transformada z de la entrada delta de Kronecker es u(z) = 1


La entrada u(k) en MATLAB se puede escribir como

u = [1 zeros(1,N)]

donde N corresponde con el final de la duración del proceso discreto considerado.


La entrada delta de Kronecker de magnitud A como

u(k) = A, para k = 0
u(k) = 0, para k ≠ 0

se puede introducir en MATLAB como

u = [A zeros(1,N)]

Ejemplo 8: Calcular la respuesta a una entrada delta de Kronecker del siguiente


sistema:

y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607

SOLUCION

M.SC., ING. RAUL BENITES SARAVIA 34


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

7.6.2 Respuesta a una entrada escalón

Una entrada escalón como

u(k) = 1(k) = 1, para k = 0, 1, 2, ... , N

se puede introducir en MATLAB como

u = ones(1, N+1) o u = [1 ones(1, N)]


Para una entrada escalón de magnitud A, o sea

u(k) = A*1(k) = A, para k = 0, 1, 2, ... , N


la orden será

u = A*ones(1, N+1) o u = [5 5*ones(1, N)]

M.SC., ING. RAUL BENITES SARAVIA 35


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ejemplo 9: Obtener la respuesta a una entrada escalón unitario del siguiente sistema:

y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607

SOLUCION

M.SC., ING. RAUL BENITES SARAVIA 36


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

7.6.3 Respuesta a una entrada rampa

La entrada rampa unitaria se define por

u = t, para t ≥ 0

donde t = kT, k es el índice de tiempo discreto y T es el periodo de muestreo. La


entrada rampa en MATLAB se puede ingresar como

u(k) = kT, para k = 0, 1, 2, ..., N

En Matlab, utilizaremos una de las siguientes órdenes:

u = 0:T:N*T (T en segundos)

o
k = 0:N; u = [k*T]

Ejemplo 10: Obtener la respuesta a una entrada rampa unitaria del siguiente sistema:

y( z) 0.4673 z − 0.3393
= 2
u ( z ) z − 1.5327 z + 0.6607

SOLUCION

M.SC., ING. RAUL BENITES SARAVIA 37


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

8. APLICACIÓN AL DISEÑO DE UN SISTEMA DE CONTROL


Ejemplo 11: El modelo de un horno de laboratorio (libro: Control Avanzado, Autor:
Arturo Rojas, pág. 102), tiene la siguiente dinámica:

dθ i 1 1 1
=− θ i+ θ 0+ Vc2 = f (θ i,θ 0,Vc ) (1)
dt 3000 3000 60000

Asumiendo las siguientes variables de estado:

X =θ i ; V =θ 0 ; U = Vc

la ecuación (1) se reescibe así:

1 1 1
X& = − X+ V+ U2 = f (θ i,θ 0,Vc ) (2)
3000 3000 60000

y considerando como salida, la temperatura interior del horno

Y = θ i= X = h ( X ,U , W ) (3)

la ecuación linealizada, al aplicar el jacobiano para el punto de operación

θ i = X = 50o C , θ 0 = V = 30o C , Vc = U = 20 voltios

y considerando las variables residuales

x = X − X , u = Vc − Vc , v = θ 0 − θ 0

M.SC., ING. RAUL BENITES SARAVIA 38


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

se calcula así:

Ecuación de estado :
 ∂f   ∂f   ∂f 
x& =   x+  u+  v
 ∂X  X  ∂U  U  ∂V  V
1 2U 1
x& = − x+ U = 20 u + v
3000 60000 3000
1 1 1
x& = − x+ u+ v
3000 1500 3000
x& = Ax + Bu + Ev
Ecuación de salida :
 ∂h   ∂h   ∂h 
y=  x+  u+  w
 ∂X  X  ∂U  U  ∂W  W
y = x+0u+0 w
y = Cx + Du + Fw

Se solicita:

a. Determinar por MATLAB, la controlabilidad, observabilidad, valores propios,


las ecuaciones de estado y de salida discretas, y las gráficas de respuesta en el
tiempo continuo y tiempo discreto.

b. Diseñar un sistema de control óptimo, empleando MATLAB y SIMULINK.

SOLUCION

a. Considerando lo obtenido en el modelamiento del proceso, el programa que


permite determinar lo solicitado, se encuentra en el archivo horno.m. Veamos el
programa y las gráficas correspondientes.

M.SC., ING. RAUL BENITES SARAVIA 39


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

b. El desarrollo del diseño del sistema de control se hará directamente en clase.

9. RESPUESTAS COMPARATIVAS DE SISTEMAS DE CONTROL DE


TIEMPO CONTINUO Y DE TIEMPO DISCRETO

Ejemplo 12: Analizar la respuesta temporal de un sistema de tiempo continuo y


comparar con la respuesta en tiempo discreto, asumiendo para ello diferentes períodos
de muestreo. El nombre de archivo para este ejemplo es convert.m, y la ejecución del
mismo (para un período de T = 0.002 segundos), produce la gráfica que se muestra a
continuación.

M.SC., ING. RAUL BENITES SARAVIA 40


UNIVERSIDAD NACIONAL DE INGENIERIA (UNI)
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

Ahora, en el programa, cambie el periodo a 0.001 segundos, grabe y ejecute el


programa. Analice lo que ocurre.

M.SC., ING. RAUL BENITES SARAVIA 41

S-ar putea să vă placă și