Facultad de Ingeniería                                               Sistemas de Control (67.22)
Universidad de Buenos Aires

                            INTRODUCCIÓN AL MATLAB – CLASE 1

INTRODUCCIÓN DE FUNCIONES DE TRANSFERENCIA

       Para la introducción de funciones de transferencia polinómicas se utiliza la
función “sys=tf(num,den)” del modo que a continuación se indica:

       Ejemplo 1:

       Introducir en Matlab la función de transferencia polinómica siguiente:

                  s 2 + 2s + 3      s 2 + 2s + 3
       H ( s) =                 = 3
                     ( s + 1) 3  s + 3s 2 + 3s + 1


       MATLAB

       % Introducir una función de transferencia polinómica
       » num=[1,2,3];
       » den=[1,3,3,1];
       » sys=tf(num,den)

       Transfer function:
          s^2 + 2 s + 3
       ---------------------------
       s^3 + 3 s^2 + 3 s + 1

RESPUESTA TRANSITORIA A UNA ENTRADA ESCALÓN E IMPULSO

Para visualizar gráficamente la respuesta transitoria a una entrada escalón e impulso se procede
como a continuación se indica:

ESCALÓN:

La función a utilizar es la función: “step(sys)”

       Ejemplo 2:

      Obtener la respuesta transitoria de la función de transferencia polinómica del
Ejemplo 1, con una entrada escalón:

        MATLAB

       % Obtener respuesta a una entrada escalón
       » step(sys)




                                            Introducción al Matlab                                 1
Facultad de Ingeniería                                                            Sistemas de Control (67.22)
Universidad de Buenos Aires

                                                          S tep Res pons e
                                                                From: U(1)
                                            3




                                          2.5




                                            2
                A m plitude

                              To: Y (1)
                                          1.5




                                            1




                                          0.5




                                            0
                                                0     5                      10        15

                                                            Tim e (s ec .)


IMPULSO:

La función a utilizar es la función: “impulse(sys)”

      Ejemplo 3:

      Obtener la respuesta transitoria de la función de transferencia polinómica del
Ejemplo 1 con un impulso como entrada:

       MATLAB

      % Obtener respuesta a una entrada impulso
      » impulse(sys)

                                                      Im puls e Respons e
                                                               From: U(1)
                                           1


                                          0.9


                                          0.8


                                          0.7


                                          0.6
                A m plitude

                              To: Y (1)




                                          0.5


                                          0.4


                                          0.3


                                          0.2


                                          0.1


                                           0
                                                0    5                       10       15

                                                           Tim e (sec.)




2                                                   Introducción al Matlab
Facultad de Ingeniería                                                                 Sistemas de Control (67.22)
Universidad de Buenos Aires

APLICACIÓN DE LAS INSTRUCCIONES VISTAS AL CASO DE LAS FUNCIONES DE
TRANSFERENCIA DE SEGUNDO ORDEN

La Función de Transferencia de lazo cerrado de sistemas de Segundo Orden adopta la forma
siguiente:


                              C (s)        ωn                    2
                                    = 2
                              R( s ) s + 2ζω n s + ω n 2



       Ejemplo 4:

     Obtener la respuesta transitoria de la función de transferencia polinómica de
Segundo Orden con un escalón y un impulso como entrada:


C ( s)       1
       =
R( s) 1 + 2 * 0,4 + 1


       MATLAB

       » num=1;
       » den=[1,.8,1];
       » sys=tf(num,den)

       Transfer function:
             1
                                                                             Step Response
       ---------------                                                           From: U(1)
       s^2 + 0.8 s + 1                                 1.4

        » step(sys)
                                                       1.2



                                                        1
                                Amplitude




                                                       0.8
                                            To: Y(1)




                                                       0.6



                                                       0.4



                                                       0.2



                                                        0
                                                             0           5                    10             15

                                                                              Time (sec.)




                                                         Introducción al Matlab                                      3
Facultad de Ingeniería                                                     Sistemas de Control (67.22)
Universidad de Buenos Aires
En el caso de una entrada impulso, se obtiene:

       MATLAB

       » num=1;
       » den=[1,.8,1];
       » sys=tf(num,den)

       Transfer function:
             1
       ---------------
       s^2 + 0.8 s + 1
        » impulse(sys)


CONVERSIÓN DE MODELOS

       Matlab permite que los distintos modelos puedan ser convertidos entre sí, de
modo que, por ejemplo, se pueda obtener la forma factorizada de la función de
transferencia cero-polo-ganancia, partiendo de la forma de cociente de polinomios.

     A continuación se analizarán las funciones de conversión que resultan
comprendidas en los alcances de la presente clase.

       Función :           residue
La función residue convierte la función de transferencia polinómica:

                   b0 s n + b1 s n −1 + ..... + bn −1 s + bn
       H ( s) =
                  a 0 s m + a1 s m −1 + ..... + a m −1 s + a m

en la función transferencia de fracciones parciales:

                    r1     r2               r
       H (s) =          +       + ...... + n + k ( s )
                  s − p1 s − p2           s − pn

       Instrucción:

       [r,p,k] = residue (B,A)

         Esta instrucción determina los vectores r, p, y k de los valores de residuo (r1,
r2,..., rn), los polos (p1, p2,..., pn) y los términos directos de la expansión de fracciones
parciales.

      Las entradas son los coeficientes de los polinomios B (b0, b1,..., bn-1), numerador
de la expresión polinómica y A (a0, a1,..., am-1), denominador de la expresión
polinómica.




4                                                 Introducción al Matlab
Facultad de Ingeniería                                                   Sistemas de Control (67.22)
Universidad de Buenos Aires

      Ejemplo 1:

       Calcular la función de transferencia de fracciones parciales de la siguiente
función de transferencia polinómica:

                  s 2 + 2s + 3      s 2 + 2s + 3
       H ( s) =                 = 3
                     ( s + 1) 3  s + 3s 2 + 3s + 1

      MATLAB

      % Calcular expansión de fracciones parciales.
      » B=[1,2,3];
      » A=[1,3,3,1];
      » [r,p,k]= residue (B,A);
      »r

      r=

          1.0000
         -0.0000
          2.0000

      »p

      p=

         -1.0000
         -1.0000
         -1.0000

      Por lo tanto la solución de este Ejemplo 1 es:


                    1    2
       H (s) =        +
                  s +1 s +1


      Función :           tf2zp

La función tf2zp convierte la función de transferencia polinómica:

                 b0 s n + b1 s n −1 + ..... + bn −1 s + bn
       H ( s) =
                a 0 s m + a1 s m −1 + ..... + a m −1 s + a m




                                                Introducción al Matlab                                 5
Facultad de Ingeniería                                               Sistemas de Control (67.22)
Universidad de Buenos Aires

en la función transferencia cero-polo-ganancia:

                      (s-z1)(s-z2)……(s-zn)
      H(s)= k
                      (s-p1)(s-p2)……(s-pn)

      Instrucción:
      [z,p,k] = tf2zp (num,den)

     Esta instrucción determina los ceros (z1, z2, … , zn), los polos (p1, p2,..., pn) y la
ganancia correspondiente (k) de la función de transferencia del tipo cero-polo-ganancia.

     Las entradas son los coeficientes en orden descendente de potencias de s del
numerador y denominador de la función de transferencia polinómica a convertir.


      Ejemplo 2:

       Calcular la función de transferencia cero-polo-ganancia de la siguiente función
de transferencia polinómica:

                  s 2 + 2s + 3      s 2 + 2s + 3
       H ( s) =                 = 3
                     ( s + 1) 3  s + 3s 2 + 3s + 1

      MATLAB

      » % Ejemplo 2: Conversión de función de transferencia en cero-polo-ganancia
      »
      » num=[1,2,3]

      num =

           1      2     3

      » den=[1,3,3,1]

      den =

           1      3     3    1

      » [z,p,k]=tf2zp(num,den)

      z=

        -1.0000 + 1.4142i
        -1.0000 - 1.4142i




6                                           Introducción al Matlab
Facultad de Ingeniería                                                     Sistemas de Control (67.22)
Universidad de Buenos Aires
       p=

        -1.0000
        -1.0000 + 0.0000i
        -1.0000 - 0.0000i

       k=

            1

       Por lo tanto la solución de este Ejemplo 2 es:



       H (s) =
                  (s + 1 − 1,4142i )(s + 1 + 1,4142i )
                               (s + 1)3

       Función :           zp2tf

La función zp2tf convierte la función de transferencia cero-polo-ganancia:

                    (s-z1)(s-z2)……(s-zn)
       H(s)= k
                    (s-p1)(s-p2)……(s-pn)

en la función transferencia polinómica:

                   b0 s n + b1 s n −1 + ..... + bn −1 s + bn
       H ( s) =
                  a 0 s m + a1 s m −1 + ..... + a m −1 s + a m

       Instrucción:
       [num,den] = zp2tf (z,p,k)

         Esta instrucción determina los vectores num y den de los coeficientes en orden
descendente de potencias de s del numerador y denominador de la función de
transferencia polinómica a obtener.
         Las entradas son los vectores z, de los ceros (z1, z2, … , zn), p, de los polos (p1,
p2,..., pn) y la ganancia correspondiente (k) de la función de transferencia del tipo cero-
polo-ganancia.

       Ejemplo 3:

       Calcular la función de transferencia polinómica de la siguiente función de
transferencia cero-polo-ganancia:



       H (s) =
                  (s + 1 − 1,4142i )(s + 1 + 1,4142i )
                               (s + 1)3

                                                  Introducción al Matlab                                 7
Facultad de Ingeniería                                                                       Sistemas de Control (67.22)
Universidad de Buenos Aires

      MATLAB

      » % Ejemplo 3: Conversión de función de transferencia en forma polinómica
      »
      » z=[-1.0000 + 1.4142i;-1.0000 - 1.4142i];
      » p=[-1;-1;-1];
      » k=1;
      » [num,den]=zp2tf(z,p,k)

      num =

              0       1.0000                          2.0000   3.0000


      den =

          1       3     3                     1

      Por lo tanto la solución de este Ejemplo 3 es:

                  s 2 + 2s + 3      s 2 + 2s + 3
       H ( s) =                 = 3
                     ( s + 1) 3  s + 3s 2 + 3s + 1




                                                                     Impulse Response
                                                                           From: U(1)
                                              0.7


                                              0.6


                                              0.5


                                              0.4
                       Amplitude




                                              0.3
                                   To: Y(1)




                                              0.2


                                              0.1


                                                  0


                                              -0.1


                                              -0.2
                                                      0             5                   10              15

                                                                        Time (sec.)




8                                                              Introducción al Matlab

Matlabclase1

  • 1.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires INTRODUCCIÓN AL MATLAB – CLASE 1 INTRODUCCIÓN DE FUNCIONES DE TRANSFERENCIA Para la introducción de funciones de transferencia polinómicas se utiliza la función “sys=tf(num,den)” del modo que a continuación se indica: Ejemplo 1: Introducir en Matlab la función de transferencia polinómica siguiente: s 2 + 2s + 3 s 2 + 2s + 3 H ( s) = = 3 ( s + 1) 3 s + 3s 2 + 3s + 1 MATLAB % Introducir una función de transferencia polinómica » num=[1,2,3]; » den=[1,3,3,1]; » sys=tf(num,den) Transfer function: s^2 + 2 s + 3 --------------------------- s^3 + 3 s^2 + 3 s + 1 RESPUESTA TRANSITORIA A UNA ENTRADA ESCALÓN E IMPULSO Para visualizar gráficamente la respuesta transitoria a una entrada escalón e impulso se procede como a continuación se indica: ESCALÓN: La función a utilizar es la función: “step(sys)” Ejemplo 2: Obtener la respuesta transitoria de la función de transferencia polinómica del Ejemplo 1, con una entrada escalón: MATLAB % Obtener respuesta a una entrada escalón » step(sys) Introducción al Matlab 1
  • 2.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires S tep Res pons e From: U(1) 3 2.5 2 A m plitude To: Y (1) 1.5 1 0.5 0 0 5 10 15 Tim e (s ec .) IMPULSO: La función a utilizar es la función: “impulse(sys)” Ejemplo 3: Obtener la respuesta transitoria de la función de transferencia polinómica del Ejemplo 1 con un impulso como entrada: MATLAB % Obtener respuesta a una entrada impulso » impulse(sys) Im puls e Respons e From: U(1) 1 0.9 0.8 0.7 0.6 A m plitude To: Y (1) 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 Tim e (sec.) 2 Introducción al Matlab
  • 3.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires APLICACIÓN DE LAS INSTRUCCIONES VISTAS AL CASO DE LAS FUNCIONES DE TRANSFERENCIA DE SEGUNDO ORDEN La Función de Transferencia de lazo cerrado de sistemas de Segundo Orden adopta la forma siguiente: C (s) ωn 2 = 2 R( s ) s + 2ζω n s + ω n 2 Ejemplo 4: Obtener la respuesta transitoria de la función de transferencia polinómica de Segundo Orden con un escalón y un impulso como entrada: C ( s) 1 = R( s) 1 + 2 * 0,4 + 1 MATLAB » num=1; » den=[1,.8,1]; » sys=tf(num,den) Transfer function: 1 Step Response --------------- From: U(1) s^2 + 0.8 s + 1 1.4 » step(sys) 1.2 1 Amplitude 0.8 To: Y(1) 0.6 0.4 0.2 0 0 5 10 15 Time (sec.) Introducción al Matlab 3
  • 4.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires En el caso de una entrada impulso, se obtiene: MATLAB » num=1; » den=[1,.8,1]; » sys=tf(num,den) Transfer function: 1 --------------- s^2 + 0.8 s + 1 » impulse(sys) CONVERSIÓN DE MODELOS Matlab permite que los distintos modelos puedan ser convertidos entre sí, de modo que, por ejemplo, se pueda obtener la forma factorizada de la función de transferencia cero-polo-ganancia, partiendo de la forma de cociente de polinomios. A continuación se analizarán las funciones de conversión que resultan comprendidas en los alcances de la presente clase. Función : residue La función residue convierte la función de transferencia polinómica: b0 s n + b1 s n −1 + ..... + bn −1 s + bn H ( s) = a 0 s m + a1 s m −1 + ..... + a m −1 s + a m en la función transferencia de fracciones parciales: r1 r2 r H (s) = + + ...... + n + k ( s ) s − p1 s − p2 s − pn Instrucción: [r,p,k] = residue (B,A) Esta instrucción determina los vectores r, p, y k de los valores de residuo (r1, r2,..., rn), los polos (p1, p2,..., pn) y los términos directos de la expansión de fracciones parciales. Las entradas son los coeficientes de los polinomios B (b0, b1,..., bn-1), numerador de la expresión polinómica y A (a0, a1,..., am-1), denominador de la expresión polinómica. 4 Introducción al Matlab
  • 5.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires Ejemplo 1: Calcular la función de transferencia de fracciones parciales de la siguiente función de transferencia polinómica: s 2 + 2s + 3 s 2 + 2s + 3 H ( s) = = 3 ( s + 1) 3 s + 3s 2 + 3s + 1 MATLAB % Calcular expansión de fracciones parciales. » B=[1,2,3]; » A=[1,3,3,1]; » [r,p,k]= residue (B,A); »r r= 1.0000 -0.0000 2.0000 »p p= -1.0000 -1.0000 -1.0000 Por lo tanto la solución de este Ejemplo 1 es: 1 2 H (s) = + s +1 s +1 Función : tf2zp La función tf2zp convierte la función de transferencia polinómica: b0 s n + b1 s n −1 + ..... + bn −1 s + bn H ( s) = a 0 s m + a1 s m −1 + ..... + a m −1 s + a m Introducción al Matlab 5
  • 6.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires en la función transferencia cero-polo-ganancia: (s-z1)(s-z2)……(s-zn) H(s)= k (s-p1)(s-p2)……(s-pn) Instrucción: [z,p,k] = tf2zp (num,den) Esta instrucción determina los ceros (z1, z2, … , zn), los polos (p1, p2,..., pn) y la ganancia correspondiente (k) de la función de transferencia del tipo cero-polo-ganancia. Las entradas son los coeficientes en orden descendente de potencias de s del numerador y denominador de la función de transferencia polinómica a convertir. Ejemplo 2: Calcular la función de transferencia cero-polo-ganancia de la siguiente función de transferencia polinómica: s 2 + 2s + 3 s 2 + 2s + 3 H ( s) = = 3 ( s + 1) 3 s + 3s 2 + 3s + 1 MATLAB » % Ejemplo 2: Conversión de función de transferencia en cero-polo-ganancia » » num=[1,2,3] num = 1 2 3 » den=[1,3,3,1] den = 1 3 3 1 » [z,p,k]=tf2zp(num,den) z= -1.0000 + 1.4142i -1.0000 - 1.4142i 6 Introducción al Matlab
  • 7.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires p= -1.0000 -1.0000 + 0.0000i -1.0000 - 0.0000i k= 1 Por lo tanto la solución de este Ejemplo 2 es: H (s) = (s + 1 − 1,4142i )(s + 1 + 1,4142i ) (s + 1)3 Función : zp2tf La función zp2tf convierte la función de transferencia cero-polo-ganancia: (s-z1)(s-z2)……(s-zn) H(s)= k (s-p1)(s-p2)……(s-pn) en la función transferencia polinómica: b0 s n + b1 s n −1 + ..... + bn −1 s + bn H ( s) = a 0 s m + a1 s m −1 + ..... + a m −1 s + a m Instrucción: [num,den] = zp2tf (z,p,k) Esta instrucción determina los vectores num y den de los coeficientes en orden descendente de potencias de s del numerador y denominador de la función de transferencia polinómica a obtener. Las entradas son los vectores z, de los ceros (z1, z2, … , zn), p, de los polos (p1, p2,..., pn) y la ganancia correspondiente (k) de la función de transferencia del tipo cero- polo-ganancia. Ejemplo 3: Calcular la función de transferencia polinómica de la siguiente función de transferencia cero-polo-ganancia: H (s) = (s + 1 − 1,4142i )(s + 1 + 1,4142i ) (s + 1)3 Introducción al Matlab 7
  • 8.
    Facultad de Ingeniería Sistemas de Control (67.22) Universidad de Buenos Aires MATLAB » % Ejemplo 3: Conversión de función de transferencia en forma polinómica » » z=[-1.0000 + 1.4142i;-1.0000 - 1.4142i]; » p=[-1;-1;-1]; » k=1; » [num,den]=zp2tf(z,p,k) num = 0 1.0000 2.0000 3.0000 den = 1 3 3 1 Por lo tanto la solución de este Ejemplo 3 es: s 2 + 2s + 3 s 2 + 2s + 3 H ( s) = = 3 ( s + 1) 3 s + 3s 2 + 3s + 1 Impulse Response From: U(1) 0.7 0.6 0.5 0.4 Amplitude 0.3 To: Y(1) 0.2 0.1 0 -0.1 -0.2 0 5 10 15 Time (sec.) 8 Introducción al Matlab