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

UNIDAD CURRICULAR: AUTOMATIZACION INDUSTRIAL

PROGRAMACIN en MatLab.

PROBLEMA 5.1.
CODIGO en MatLab:
%
% Ejemplo 2.6. Ogata, Katsuhiko. Ingeniera de Control Moderna. 4
a
Edicin. Prentice Hall. 2008.
% Considere la siguiente funcion de transferencia:
% B(s)/A(s)=(2s^3+5s^2+3s+6)/(s^3+6s^2+11s+6)
% en fracciones simples utilizando MATLAB.
%
% Solucion: El siguiente programa en MATLAB calcula el desarrollo en
% fracciones simples de F(s)=k+r1/(s+p1)+r2/(s+p2)+r3/(s+p3)
%
num=[2 5 3 6]
den=[1 6 11 6]
[r,p,k]=residue(num,den)
[num,dem]=residue(r,p,k);
printsys(num,den,'s')

CORRIDA:
num =

2 5 3 6

den =

1 6 11 6

r =

-6.0000
-4.0000
3.0000

p =

-3.0000
-2.0000
-1.0000

k =
2

num/den =

2 s^3 + 5 s^2 + 3 s + 6
-----------------------
s^3 + 6 s^2 + 11 s + 6
PROBLEMA 5.2.

CODIGO en MatLab:

%
% Ejemplo 2.7. Ogata, Katsuhiko. Ingeniera de Control Moderna. 4
a
Edicin. Prentice Hall. 2008.
%
% Obtenga el desarrollo B(s)/A(s) siguiente fracciones simples utilizando MATLAB:
% B(s)/A(s)=(s^2+2s+3)/(s+1)^2=(s^2+2s+3)/(s^3+3s^2+3s+1)
%
% Solucion: El siguiente programa en MATLAB calcula el desarrollo en
% fracciones simples de F(s)=r1/(s+p1)+r2/(s+p2)+r3/(s+p3)
%
num=[0 1 2 3]
den=[1 3 3 1]
[r,p,k]=residue(num,den)
[num,dem]=residue(r,p,k);
printsys(num,den,'s')

CORRIDA:

num =

0 1 2 3

den =

1 3 3 1

r =
1.0000
0.0000
2.0000

p =
-1.0000
-1.0000
-1.0000

k =
[]

num/den =

s^2 + 2 s + 3
---------------------
s^3 + 3 s^2 + 3 s + 1
PROBLEMA 5.3.

CODIGO en MatLab:

%
% Ejemplo Pagina 39.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall. 2008.
%
% Considere la siguiente funcion de transferencia:
%
% B(s)/A(s)=(4s^2+16s+12)/(s^4+12s^3+44s^2+48s)
%
% Encontrar los Ceros, los Polos y ganancia K de B(s)/A(s).
%
num=[0 0 4 16 12];
den=[1 12 44 48 0];
[z,p,K]=tf2zp(num,den)
printsys(num,den,'s')

CORRIDA:

z =

-3
-1

p =
0
-6.0000
-4.0000
-2.0000

K =

4

num/den =

4 s^2 + 16 s + 12
----------------------------
s^4 + 12 s^3 + 44 s^2 + 48 s



PROBLEMA 5.4.

CODIGO en MatLab:

%
% Ejemplo Pagina 40.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall. 2008.
%
% Determinar la funcion de transferencia B(s)/A(s)=num/den;
% si se tienen los ceros (z) son -1 y -3 y
% los polos (p) son 0, -2, -4 y -6 y la ganancia (K) es 4.
%
z=[-1;-3];
p=[0;-2;-4;-6];
K=4;
[num,den]=zp2tf(z,p,K);
printsys(num,den,'s')

CORRIDA:

num/den =

4 s^2 + 16 s + 12
----------------------------
s^4 + 12 s^3 + 44 s^2 + 48 s



















PROBLEMA 5.5.

CODIGO en MatLab:

%
% A.2.15. Ogata, Katsuhiko. Ingeniera de Control Moderna. 4
a
Edicin. Prentice Hall. 2008.
% Obtenga el desarrollo de la funcion de transferencia
% F(s)=(s^5+8s^4+23s^3+35s^2+28s+3)/(s^3+6s^2+8s) en
% fracciones simples utilizando MATLAB.
%
% Solucion:
% El siguiente programa en MATLAB calcula el desarrollo en
% fracciones simples de F(s)=k1s^2+k2s+k3+r1/(s+p1)+r2/(s+p2)+r3/(s+p3)
%
num=[1 8 23 35 28 3];
den=[0 0 1 6 8 0];
[r,p,k]=residue(num,den)
[num,dem]=residue(r,p,k);
printsys(num,den,'s')

CORRIDA:

r =

0.3750
0.2500
0.3750

p =

-4
-2
0

k =

1 2 3

num/den =

s^5 + 8 s^4 + 23 s^3 + 35 s^2 + 28 s + 3
----------------------------------------
s^3 + 6 s^2 + 8 s

PROBLEMA 5.6.

CODIGO en MatLab:
%
% A2.16.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall. 2008.
%
% Dados los ceros, polos y ganancia K de B(s)/A(s), obtener la
% funcion de transferencia B(s)/A(s)=num/den utilizando MATLAB.
%
% Considere los tres casos siguientes:
% (1)No hay ceros. Los polos estan en -1+2j y -2-2j. K=10.
% (2)Hay un cero en 0. Los polos estan en -1+2j y -2-2j. K=10.
% (3)Hay un cero en -1. Los polos estan en -2, -4 y -8. K=12.
%
z=[ ];
p=[-1+2*j;-1-2*j];
K=10;
[num,den]=zp2tf(z,p,K);
printsys(num,den)
z=[0];
p=[-1+2*j;-1-2*j];
K=10;
[num,den]=zp2tf(z,p,K);
printsys(num,den)
z=[-1];
p=[-2;-4;-8];
K=12;
[num,den]=zp2tf(z,p,K);
printsys(num,den)

CORRIDA:

num/den =

10
-------------
s^2 + 2 s + 5

num/den =

10 s
-------------
s^2 + 2 s + 5

num/den =

12 s + 12
------------------------
s^3 + 14 s^2 + 56 s + 64
PROBLEMA 5.7.

CODIGO en MatLab:

%
% A.2.17.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall. 2008.
%
% Obtenga el desarrollo racciones en simples utilizando MATLAB
% de la ecuacion diferencial: % d^2x/dt^2+2*dx/dt+10*x=t^2,
% de condiciones iniciales: x(0)=0, dx/dt=0.
%
% Solucion: Aplicando la transformada de Laplace y evaluando la condiciones iniciales
% se obtiene: s^2X(s)+2sX(s)+10X(s)=2/s^3 y simplicando la funcion de transferencia:
% X(s)=2/(s^3(s^2+2s+10)).
%
%% El desarrollo en fracciones simples de:
% X(s)=r1/(s+p1)+r2/(s+p2)+r3/(s+p3)+r4/(s+p4)+r5/(s+p5)
%
num=[0 0 0 0 0 2];
den=[1 2 10 0 0 0];
[r,p,k]=residue(num,den)

CORRIDA:

r =
0.0060 - 0.0087i
0.0060 + 0.0087i
-0.0120
-0.0400
0.2000

p =
-1.0000 + 3.0000i
-1.0000 - 3.0000i
0
0
0

k =
[]
PROBLEMA 5.8.

Obtener las funciones de transferencias C(s)/R(s) =num/den en cascada, en
paralelo y realimentada (en lazo cerrado) utilizando MATLAB. Dados los
componentes G

(s)

y G
2
(s)

conectado en diferentes formas figura


5.8.

()

()





Figura 5.8. (a) Sistema en cascada; (b) Sistema paralelo; (c) Sistema
realimentado (lazo cerrado).




CODIGO en MatLab: Programa 3.1.

%
% Ejemplo_Pagina_61_62.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall. 2008.
%
% Obtener las funciones de transferencias C(s)/R(s) =num/den en cascada, en paralelo y
% realimentada (en lazo cerrado) utilizando MATLAB. Dados los componentes G1(s)=num1/den1
% y G2(s)=num2/den2 conectado en diferentes formas figura 5.8.
%
% G1(s)=10/(s^2+2s+10)=num1/den1 , G2(s)=5/(s+5)=num2/den2
%
% Lectura de los componentes G1(s)=num1/den1 y G2(s)=num2/den2.
%
num1=[0 0 10];
den1=[1 2 10];
num2=[0 5];
den2=[1 5];
%
% Funciones de transferencias C(s)/R(s) =num/den del sisetma en cascada.
%
[num,den]=series(num1,den1,num2,den2);
printsys(num,den)
%
% Funciones de transferencias C(s)/R(s) =num/den del sisetma en paralelo.
%
[num,den]=parallel(num1,den1,num2,den2);
printsys(num,den)
%
% Funciones de transferencias C(s)/R(s) =num/den del sisetma en realimentada
% (en lazo cerrado).
%
[num,den]=feedback(num1,den1,num2,den2);
printsys(num,den)

CORRIDA:

num/den =

50
-----------------------
s^3 + 7 s^2 + 20 s + 50

num/den =

5 s^2 + 20 s + 100
-----------------------
s^3 + 7 s^2 + 20 s + 50

num/den =

10 s + 50
------------------------
s^3 + 7 s^2 + 20 s + 100
PROBLEMA 5.9.

Transformacin de la funcin de transferencia al espacio de estados.
Considere de transferencia del sistema, ecuacin 5.91:

()
()

()(

()

Representaciones en el espacio de estado
(entre las muchas alternativas) son las ecuaciones: a.) 5.9.2 y 5.9.3 y b.) 5.9.4 y
5.9.5:

[

] [



] [

] [

] ()

[

] [

] [] ()

[

] [



] [

] [

] ()

[

] [

] [] ()







CODIGO en MatLab: Programa 3.2.
%
% Ejemplo_Pagina_83_84.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall.
2008.
%
% Transformacin de la funcin de transferencia al espacio de estados.
% Considere de transferencia del sistema:
%
% Y(s)/U(s) =s/(s^3+14s^2+56s+160)=nem/den
%
% Representaciones dx/dt=Ax+Bu , y=Cx+Du en el espacio de estado
%
num=[0 0 1 0];
den=[1 14 56 160];
[A,B,C,D]=tf2ss(num,den)

CORRIDA:

A =

-14 -56 -160
1 0 0
0 1 0

B =

1
0
0

C =

0 1 0

D =

0

PROBLEMA 5.10.
Ejemplo 3.6.
Obtenga la funcin de transferencia del sistema definido por las siguientes ecuaciones en
el espacio de estados:
[

] =[



] [

] +[

] u =[
1 0 0
] [
x
1
x
2
x
3
] []u
Solucin: la funcin de transferencia del sistema; aplicando programacin MATLAB.
Y(s)
U(s)

s

CODIGO en MatLab: Programa 3.3.
%
% Ejemplo 3.6.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall.
%
% Obtenga la funcion de transferencia del sistema definido por las siguientes
% ecuaciones en el espacio de estados: dx/dt=Ax+Bu , y=Cx+Du
%
% MATLAB Programa 3.3.
%
% Solucin: la funcin de transferencia del sistema; aplicando programacin MATLAB.
%
% Y(s)/U(s)=(25s+5)/(s^3+5s^2+25s+5)
%
A=[0 1 0; 0 0 1; -5 -25 -5];
B=[0; 25; -120];
C=[1 0 0];
D=[0];
[num,den]=ss2tf(A,B,C,D)
%
% El mismo resultado se puede obtener introduciendo la siguiente orden:
%
[num,den]=ss2tf(A,B,C,D,1)

CORRIDA:

num =

0 0.0000 25.0000 5.0000

den =

1.0000 5.0000 25.0000 5.0000

num =

0 0.0000 25.0000 5.0000

den =

1.0000 5.0000 25.0000 5.0000
PROBLEMA 5.11.
A.3.7. Obtenga la ecuacin en el espacio de estados y la ecuacin de salida
definida por:
()
()

s

Solucin: Representaciones en el espacio de
estado (entre las muchas alternativas) son las ecuaciones aplicando programacin
MATLAB:
[

] =[



] [

] +[

] u =[
7 9
] [
x
1
x
2
x
3
] u

CODIGO en MatLab: Programa 3.4.
%
% A.3.7.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall.
%
% Obtenga la ecuacion en el espacio de estados y la ecuacion de salida
% definida por:
%
% Y(s)/U(s)=(2s^3+s^2+s+2)/(s^3+4s^2+5s+2)
%
% Solucin: Representaciones dx/dt =Ax+Bu , y=Cx+Du en el espacio de estado
% (entre las muchas alternativas) son las ecuaciones aplicando programacin
% MATLAB Programa 3.4.
%
num=[2 1 1 2];
den=[1 4 5 2];
[A,B,C,D]=tf2ss(num, den)

CORRIDA:
A =

-4 -5 -2
1 0 0
0 1 0

B =

1
0
0

C =

-7 -9 -2

D =

2
PROBLEMA 5.12.

A.3.13. Considere un sistema con mltiples entradas y multiples salidas. Cuando
el sistema tiene ms de una salida, la instruccin:

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

Calcula la funcin de transferencia de todas las salidas a cada entrada. (Los
coeficientes del numerador se devuelven en la matriz NUM con tantas filas como
salidas haya).

Considere el sistema definido dx/dt =Ax+Bu, y=Cx+Du en el espacio de
estado (entre las muchas alternativas) son las ecuaciones:

[

] [


] [

] [


] [

]

[

] [


] [

] [


] [

]

Este sistema tiene dos entradas y dos salidas. Las cuatro funciones de
transferencia son:

()

()

()

()

()

()

()

(). (Cuando se
considera la salida

, se supone que la entrada

es cero, y viceversa.)

Solucin: aplicando el programa 3.5 en MATLAB origina las cuatro
funciones de transferencia:

()

()

()

()

()

()

()

()

s

CODIGO en MatLab:
%
% A.3.13.
% Ogata, Katsuhiko. Ingeniera de Control Moderna. 4a Edicin. Prentice Hall.
%
% Considere un sistema con multiples entradas y multiples salidas. Cuando
% el sistema tiene mas de una salida, la instruccion:
%
% [NUM, den]=ss2tf(A,B,C,D,iu)
%
% calcula la funcion de transferencia de todas las salidas a cada entrada. (Los
% coeficientes del numerador se devuelven en la matriz NUM con tantas filas como
% salidas haya).
%
% Considere el sistema definido dx/dt =Ax+Bu, y=Cx+Du en el espacio de estado
% (entre las muchas alternativas)
%
% Este sistema tiene dos entradas y dos salidas. Las cuatro funciones de
% transferencia son: Y1(s)/U1(s),Y2(s)/U1(s),Y1(s)/U2(s),Y2(s)/U2(s).
% (Cuando se considera la salida u1, se supone que la entrada u2 es cero,
% y viceversa.)
%
% MATLAB Programa 3.5.
%
A=[0 1; -25 -4];
B=[1 1; 0 1];
C=[1 0; 0 1];
D=[0 0; 0 0];
[NUM, den]=ss2tf(A,B,C,D,1)
[NUM, den]=ss2tf(A,B,C,D,2)

CORRIDA:
NUM =

0 1.0000 4.0000
0 0 -25.0000

den =

1.0000 4.0000 25.0000

NUM =

0 1.0000 5.0000
0 1.0000 -25.0000

den =

1.0000 4.0000 25.0000

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