You are on page 1of 34

1

INTRODUCCIN A MATLAB
UNIVERSIDAD NACIONAL DE INGENIERA
Facul t ad de Ingeni era Qumi ca y Text i l
Curso: Si mul aci n y Cont rol de Procesos
PI426
Prof esor: Ing. Cel so Mont al vo
CELSO MONTALVO
2
MATLAB
Mat l ab es un pr ogr ama de uso acadmi co par a el
cl cul o mat emt i co y l a si mul aci n de pr ocesos.
Con Mat l ab se pueden r eal i zar
Cl cul os si mpl es compl ej os,
Pr ogr amas que r eal i cen di chos cl cul os de maner a
aut omt i ca.
Pr esent aci n de r esul t ados en f or ma t abul ar gr f i ca.
Si mul aci n de Pr ocesos.
Mat l ab t r ae una ser i e de mdul os especi al i zados
en ci er t o t i po de oper aci ones en t odas l as r eas
de l a t ecnol oga y el conoci mi ent o, l os Tool boxes
CELSO MONTALVO
3
MATLAB
CELSO MONTALVO
4
MATLAB
En Mat l ab, t odas l as oper aci ones se r eal i zan con
mat r i ces
>> 5
ans =
5
En el Wor kspace apar ece l a var i abl e ans, a l a que
se asi gna el r esul t ado si no se asi gn ot r a.
Cual qui er l et r a conj unt o de l et r as puede ser una
var i abl e.
>> A=3*4
A =
12
El Wor kspace muest r a que A es una mat r i z de 1x1.
CELSO MONTALVO
5
MATLAB
En Mat l ab l as mayscul as y mi nscul as son
di f er ent es:
>> a = 4 ; A = A + a
A =
16
El ; suspende l a vi sual i zaci n del r esul t ado en l a
pant al l a, per o el comando se ej ecut a ( ver
Wor kspace) . Tambi n per mi t e que en l a mi sma
l nea se escr i ban ms comandos.
Cual qui er l et r a conj unt o de l et r as puede ser una
var i abl e.
>> A=3*4
A =
12
CELSO MONTALVO
6
MATLAB
Todas l as oper aci ones en Mat l ab se r eal i zan con l as
pr i or i dades usadas en mat emt i cas:
>> B = ( 3 + 8/ 4 - 1) ^ 2
B =
16
Mat l ab i ncl uye una gr an var i edad de f unci ones:
t r i gonomt r i cas, l ogar t mi cas, est adst i cas, et c.
>> A = si n( 2) , B = l og( 15) + sqr t ( 36) - exp( - 10) + A
A =
0. 9093
B =
9. 6173
Const ant es:
>> pi , i
CELSO MONTALVO
7
MATLAB
Mat l ab t i ene una pr eci si n de 16 dgi t os, per o
puede pr esent ar sl o 4 dgi t os como en:
>> 1/ 3
ans =
0. 3333
Puede pasar se a 14 dgi t os con
>> f or mat l ong
>> 1/ 3
ans =
0. 33333333333333
Ot r as opci ones de pr esent aci n:
>> f or mat r at , 4. 25
>> f or mat compact
>> f or mat shor t e, 123456. 789
>> f or mat hex
CELSO MONTALVO
8
Vect ores y Mat ri ces
Un vect or es una mat r i z especi al de 1 f i l a y
var i as col umnas o vi cever sa:
>> V = [ 2 4 5 8 -2] , C = [ 1; 2; 8; 0]
Un vect or con el ement os espaci ados:
>> V2 = 0: 0. 2: 12
Un vect or con 11 el ement os ent r e 0 y 20:
>> V2 = l i nspace(0, 20, 11)
Al i ngr esar una mat r i z se separ an f i l as con :
>> H = [ 1 2 3 0; 4 5 6 -1; 7 8 9 -2]
La Mat r i z t r anspuest a se gener a con :
>> K = H
CELSO MONTALVO
9
Mat ri ces
Acceso a l os el ement os de una mat r i z por su or den
por su ubi caci n f i l a, col umna:
>> H( 8)
>> H( 2, 3)
Fi l a col umna compl et a:
>> H( : , 3)
>> H( 2, : )
Sub- mat r i z dent r o de ot r a mat r i z:
>> H( 2: 3, 4)
>> H( 2, 2: 4)
>> H( 2: 3, 1: 3)
Rel aci n ent r e or den y ubi caci n en l a mat r i z:
>> or den = ( col 1) *NFi l as + f i l a
CELSO MONTALVO
10
Mat ri ces
Di agonal :
>> di ag(H)
Submat r i z t r i angul ar :
>> t r i l (H)
>> t r i u(H)
Mat r i ces si ngul ar es:
>> eye(4)
>> zer os(4)
>> ones(4)
CELSO MONTALVO
11
Operaci ones con Mat ri ces
Oper aci ones est ndar ent r e mat r i ces:
>> H*H', H(1: 3, 1: 3)^ 2
>> si n(H)
Oper aci n Punt o: r eal i za l a oper aci n de
el ement o a el ement o ent r e dos mat r i ces:
>> H. *H, sqr t (H)
Sol uci n de Ecuaci ones si mul t neas con \ :
Ej : 2x + 3y z = 0
x 2y +z = 2
-2x + y +z = 1
>> A=[ 2 3 -1; 1 -2 1; -2 1 1] , B=[ 0; 2; 1] , X=A\ B
CELSO MONTALVO
12
Sol uci n de Ecuaci ones
Di f erenci al es
Sol uci n si n val or es de f r ont er a:
>> dsol ve('D2y=6*y-Dy', 'x')
Con val or es de f r ont er a:
>> dsol ve('D2m+m=0', 'm(0)=2', 'Dm(0)=3', 'x')
2
2
6
d y dy
y
dx dx
=
2
2
0
d m
m
dx
=
CELSO MONTALVO
13
Pol i nomi os
Se expr esan como mat r i ces usando sus
coef i ci ent es:
s
4
+ 2s
3
+ 3s +1
>> P=[ 1 2 0 3 1]
Oper aci ones con pol i nomi os:
>> pol yval (P, 2)
>> r oot s(P)
>> pol y(1 -1 2) % Pol i nomi o de r aces 1, -1 y 2.
Sol uci n de Ecuaci ones si mul t neas con \ :
Ej : 2x + 3y z = 0
x 2y +z = 2
-2x + y +z = 1
>> A=[ 2 3 - 1; 1 - 2 1; - 2 1 1] , B=[ 0; 2; 1] , X=A\ B
CELSO MONTALVO
14
Pl ot eo de Funci ones
Cuando l as f unci ones son vect or es:
>> t =0: 0. 1: 7, f =si n(t ), pl ot (t , f )
CELSO MONTALVO
15
Pl ot eo de Funci ones
Cuando l as f unci ones son si mbl i cas:
>> f pl ot ('si n(x)*exp( -0. 5*x)', [ 0 4*pi ] )
CELSO MONTALVO
16
Archi vos m
Los pr ogr amas en Mat l ab se guar dan en
ar chi vos con ext ensi n . m
Dos t i pos: scr i pt s y f unci ones.
Se puede usar cual qui er edi t or de t ext os per o
el edi t or de Mat l ab es mej or.
Si se guar da el ar chi vo m en l a r ut a por
def ect o, se puede ej ecut ar usando su nombr e
como comando.
Las f unci ones per mi t en pasar dat os y usar el
pr ogr ama en cual qui er ot r a apl i caci n,
i ncl usi ve dent r o de ot r o pr ogr ama.
CELSO MONTALVO
17
Funci ones m
Deben def i ni r se con l a pal abr a f unct i on y
guar dar se con el nombr e de l a f unci n:
function f = factorial(n) %Definicin de Funcin
% FACT(N) calcula el factorial de N, Ayuda
% Simplemente, factorial(N) es PROD(1:N). Comentario
f = prod(1:n); %Cuerpo de la funcin.
Se ej ecut a en l a vent ana de comandos:
>> f act or i al ( 3)
ans = 6
CELSO MONTALVO
18
Cont rol de Fl uj o
Mat l ab t i ene var i as f or mas de cont r ol ar el f l uj o
de un pr ogr ama:
Condi ci onal es: i f
Ej ecut a l os comandos que cumpl en l a condi ci n.
i f expr essi on1
st at ement s1
el sei f expr essi on2
st at ement s2
el se
st at ement s3
end
if ((asist >= 0.90) & (prom >= 10))
pasa = 1;
else
'No Pasa'
end;
CELSO MONTALVO
19
Cont rol de Fl uj o
Condi ci onal es: swi t ch
Ej ecut a l os comandos dependi ent o de l a
condi ci n en di f er ent es casos.
swi t ch swi t ch_expr
case case_expr
st at ement , . . . , st at ement
case { case_expr 1, case_expr 2, case_expr 3, . . . }
st at ement , . . . , st at ement
. . .
ot her wi se
st at ement , . . . , st at ement
end
CELSO MONTALVO
20
Cont rol de Fl uj o
Lazos r epet i t i vos: f or
Repi t e l a ej ecuci n l as veces i ndi cadas por l a
expr esi n.
f or var i abl e = expr essi on
st at ement s
end
CELSO MONTALVO
21
Cont r ol Syst em Tool box
Mat l ab es una her r ami ent a poder osa par a el Anl i si s
Di nmi co de Si st emas de Cont r ol .
Cont r ol Syst em Tool box es un conj unt o de al gor i t mos
y f unci ones escr i t as especi al ment e par a el
t r at ami ent o de l os pr obl emas de cont r ol .
Par a apr ender el uso de Mat l ab en l a sol uci n de
pr obl emas de cont r ol de pr ocesos, el pr i mer paso
consi st e en est udi ar el ar chi vo de ayuda ( hel p) de
Mat l ab y ej ecut ar su demost r aci ones.
CELSO MONTALVO
22
Expr esi n de Model os
La pr i mer a t ar ea al usar Mat l ab par a r esol ver pr obl emas de cont r ol
de pr ocesos consi st e en descr i bi r el model o del pr oceso si st ema
Los model os se pueden expr esar en Mat l ab de t r es maner as:
Como una Funci n de Tr ansf er enci a: |
|
.
|

\
|
+ + +
|
.
|

\
|
+ =
) 1 )( 1 5 )( 1 5 . 0 (
1
3
1
1 9 ) (
s s s s
s G
En el f or mat o del Espaci o de Est ados:
| | Q
A
h
h
A R A R
A R
dt
dh
dt
dh
*
0
1
*
1 1
0
1
1
2
1
2 2 2 1
1 1
2
1

| | Q
h
h
h
h
*
0
0
*
1 0
0 1
2
1
2
1

En l a f or ma de pol os y cer os:


) 2 . 0 )( 1 . 0 (
) 1 )( 1 (
3
+ +
+ + +
s s
j s j s
Tambi n es posi bl e expr esar el model o en l a f or ma de dat os
exper i ment al es que r epr esent en l a Respuest a a l a Fr ecuenci a
del si st ema.
zeros
polos
ganancia k
CELSO MONTALVO
23
Funci ones de Tr ansf er enci a
Una Funci n de Tr ansf er enci a en Mat l ab se expr esa como una
di vi si n de pol i nomi os:
0 1
1
1
0 1
1
1
...
...
) (
a s a s a s a
b s b s b s b
s G
n
n
n
n
m
m
m
m
+ + + +
+ + + +
=

Los coef i ci ent es f or man mat r i ces que si r ven par a expr esar l os
pol i nomi os:
| |
| |
0 1
0 1
...
...
a a a den
b b b num
n n
m m

=
=
El si gui ent e comando cr ea l a Funci n de Tr ansf er enci a G(s):
G = t f ( num, den)
Si l a FT i ncl uye Ti empo Muer t o, st e se puede agr egar as:
G . i odel ay = TauD
O se puede i ncl ui r al cr ear l a FT con:
G = t f ( num, den, 'i oDel ay', TauD)
Tambi n es posi bl e ar mar l as FTs usando l a var i abl e s:
s = t f ( s )
G = ( 9*s+1) / s/ ( 0. 5*s+1) / ( 5*s+1) / ( s+1)
CELSO MONTALVO
24
Conver si n de For mat os
Se puede conver t i r un f or mat o en ot r o con l as
f unci ones:
sys = t f (sys) %Conver si n a TF
sys = zpk(sys) %Conver si n a ZPK
sys = ss(sys) %Conver si n a SS
De ser posi bl e, es mej or no conver t i r r epet i dament e
l os model os.
CELSO MONTALVO
25
Inver si n de Tr ansf or madas
La Expansi n en Fr acci ones Par ci al es usa l a f unci n r esi due:
Probl ema 1. Inver t i r l a f unci n:
6 11 6
6 3 5 2
) (
2 3
2 3
+ + +
+ + +
=
s s s
s s s
s G
[ r, p, k] =r esi due([ 2 5 3 6] , [ 1 6 11 6 ] )
r =
-6.0000
-4.0000
3.0000
p =
-3.0000
-2.0000
-1.0000
k =
2
2
1
3
2
4
3
6
) ( +
+
+
+

+
+

=
s s s
s G
) ( 2 3 4 6 ) (
2 3
t e e e t G
t t t
+ + =

CELSO MONTALVO
26
Respuest a Tr ansi t or i a
La f unci n st ep gr af i ca l a Respuest a Tr ansi t or i a de una f unci n
ant e el ef ect o de una per t ur baci n escal n uni t ar i o.
Probl ema 2. Most r ar l a Respuest a Tr ansi t or i a del si st ema
si gui ent e:
) 1 )( 1 5 )( 1 5 . 0 (
1
) (
+ + +
=
s s s
s G
%Pr ogr ama en Mat l ab:
s=t f ('s');
Gp=1/ (0. 5*s+1)/ (5*s+1)/ (s+1) ;
st ep(Gp)
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
Step Response
Time (sec)
A
m
p
l
i
t
u
d
e
CELSO MONTALVO
27
Respuest a Tr ansi t or i a
La f unci n i mpul se gr af i ca l a Respuest a Tr ansi t or i a de una f unci n
ant e el ef ect o de una per t ur baci n i mpul so uni t ar i o
(moment neo).
Probl ema 2a. Most r ar l a Respuest a Tr ansi t or i a del si st ema
si gui ent e:
) 1 )( 1 5 )( 1 5 . 0 (
1
) (
+ + +
=
s s s
s G
%Pr ogr ama en Mat l ab:
s=t f ('s');
Gp=1/ (0. 5*s+1)/ (5*s+1)/ (s+1) ;
i mpul se(Gp)
0 5 10 15 20 25
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
Impul se Response
Ti me (sec)
A
m
p
l
i
t
u
d
e
Probl ema 2b. Si l a Funci n
f or zant e es F(t ) = si n( 2t ), Cul
ser su r espuest a t r ansi t or i a?
CELSO MONTALVO
28
Respuest a Tr ansi t or i a
Probl ema 3. Hal l ar l a f unci n del t i empo Y(t ) y su val or para t =2
sec. si l a f unci n de t ransf erenci a es:
4 3 2
4
( )
3 6 12 8
s
s
s s s s
+
=
+ + + +
Y
Sol uci n
Apl i cando el mt odo de sol uci n por f r acci ones par ci al es:
4 3 2 2
2
2
4
( )
3 6 12 8 1 2 4
3 1 7 1
5 4 20 10
3 7 1 1
5 20 10 4
( )
1 2 4
3 1 7 1
( ) cos(2 ) sin(2 )
5 4 20 20
(5) 0.2705
t t
s A B Cs D
s
s s s s s s s
Operando: A B C D
s
s
s s s
t e e t t

+ +
= = + +
+ + + + + + +
= = = =
+
= + +
+ + +
= +
=
Y
Y
Y
Y
CELSO MONTALVO
29
Respuest a Tr ansi t or i a
Sol uci n usando Mat l ab
>> Y=(s+4)/ (s^ 4 + 3*s^ 3 + 6*s^ 2 + 12*s + 8);
>> i mpul se(Y)
Impulse Response
Time (sec)
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
System: Y
Time (sec): 5
Amplitude: 0.27
CELSO MONTALVO
30
Respuest a Tr ansi t or i a
Compar aci n ent r e l a sol uci n manual y l a sol uci n con Mat l ab:
%Pr ogr ama en Mat l ab:
>> Y1=(s+4)/ (s^ 4 + 3*s^ 3 + 6*s^ 2 + 12*s + 8);
>> subpl ot (2, 1, 1), i mpul se(Y1)
>> t =0: 0. 01: 25; Y2=3/ 5*exp(-5)-1/ 4*exp( -2*5) -
7/ 20*cos(2*5)+1/ 20*si n(2*5) ;
>> subpl ot (2, 1, 2), pl ot (t , Y2)
0 5 10 15 20 25
-0.5
0
0.5
Impulse Response
Time (sec)
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25
-0.4
-0.2
0
0.2
0.4
0.6
Solucin Manual
Tiempop
A
m
p
l
i
t
u
d
CELSO MONTALVO
31
Si mul i nk
Si mul i nk per mi t e r epr esent ar y
si mul ar l a oper aci n de un
pr oceso si st ema.
En si mul i nk cada r epr esent aci n
es un model o: hay bl oques par a
ent r adas, sal i das y f unci ones de
t r ansf er enci a, bl oques par a
oper aci ones mat emt i cas.
CELSO MONTALVO
32
Si mul i nk
CELSO MONTALVO
33
Si mul i nk
34
FIN!
I ng. CELSO MONTALVO HURTADO

You might also like