You are on page 1of 62

Thc hnh KTK

http://coltech.vnu.edu.vn/~tantd/ktdk.htm

Gii thiu v MATLAB


M file
SISOTOOL
SIMULINK

Gii thiu v MATLAB

Gii thiu v MATLAB

Gii thiu v MATLAB


Mt s lnh c bn
- To 1 vect hang: a=[1 2 3]
- Tao 1 vecto cot: a=[1;2;3]
- Tao 1 ma tran: a=[1 2;4 5]
- Truy cap vao hang thu nhat cua
ma tran a: a(1,:)
- Truy cap vao cot thu nhat cua
ma tran a: a(:,1)
- Tao 1 vecto hang co buoc nhay
xac dinh: a=1:2:10
Gia tri 1: khoi dau
Gia tri 10: ket thuc
Gia tri 2: buoc nhay

- Tao 1 vecto hang dung lenh


linspace : a=linspace(1,5,9)
Gia tri 1: khoi dau
Gia tri 5: ket thuc
Gia tri 9: so diem can chia
- Nhan 2 ma tran:
a=[1 2;4 5];
b=[1 6;8 5];
c=a*b;
- Nhan tung thanh phan cua 2 ma
tran
a=[1 2;4 5];
b=[1 6;8 5];
c=a.*b;

x = 5;
% gi tr thc
x = 5+10i;
% gi tr o
x = 5+10j;
% tng ng dng
trn
x = [1 2 3];
% vector hng
x = [1; 2; 3];
% vector ct
x = [1 2 3; 4 5 6; 7 8 9];
% ma trn 33

x=5
x=
5
x = [1 2 3]
x=
1 2
3
x = [1; 2; 3]
x=
1
2
3

x = 3+4i % gn gi tr phc cho x


x=
3.0000 + 4.0000i
real(x) % phn thc ca x
ans =
3
imag(x) % phn o ca x
ans =
4
abs(x) % ln (magnitude) ca x
ans =
5
angle(x) % gc pha ca x, tnh bng radian
ans =
0.9273
conj(x) % lin hp phc ca x
ans =
3.0000 4.0000i

Lnh [x1:s:x2]: sinh mt vector x bao gm cc gi tr cch u nhau trong khong [x1,
x2] vi bc l s. V d:
x = [0:0.5:10]; % sinh vector x c 21 gi tr t 0 n 10, bc 0,5
x=
Columns 1 through 8

0.5000

1.0000

1.5000

2.0000

2.5000

3.0000

3.5000

Columns 9 through 16
4.0000

4.5000

5.0000

5.5000

6.0000

Columns 17 through 21
8.0000

8.5000

9.0000

9.5000 10.0000

6.5000

7.0000

7.5000

Hm linspace(x1,x2,N): sinh mt vector gm N gi tr cch u nhau


trong khong [x1, x2]. V d:
x = linspace(0,10,21); % kt qu ging nh v d trn
Hm logspace(d1,d2,N): sinh mt vector gm N gi tr cch u nhau
theo thang logarithm (c s 10) trong khong [10d1,10d2], tr phi
d2 bng pi (), khi khong gi tr s l [10d1, ]. V d:
x = logspace(0,3,4)
x=
1
10
100
1000
x = logspace(0,pi,4)
x=
1.0000
1.4646
2.1450
3.1416

Cc phn t ca ma trn c truy nhp ti bng cc ch s (indexes) ca hng v ct.


Trong MATLAB, ch s bt u t 1. V d:
A = [1 2 3; 4 5 6; 7 8 9];
% ma trn 33
x = A(3,1)
% phn t hng 3, ct 1
x=
7
truy nhp ti mt ma trn con ca ma trn, ngi ta thng s dng ti k hiu :, v
d:
x = A(:,2)
% ton b ct th 2 ca A
x=
2
5
8
x = A(2:3,1:3)
% ma trn con ca A gm hng 2-3, ct 1-3
x=
4
5
6
7
8
9

Cng ma trn: A+B


Tr ma trn: AB
Nhn ma trn: A*B
Chia ma trn: c hai php chia ma trn c nh ngha
nh sau, nu A*x = B th x = A\B (php chia tri, k hiu
l \), cn nu x*A = B th x = B/A (php chia phi, k
hiu l /) vi iu kin ma trn A ly nghch o c v
kch thc cc ma trn ph hp.
Ly m: A^k (tng ng A*A*...*A, tt c k ln)
Chuyn v lin hp: A' hoc ctranspose(A)
Nhn cc phn t tng ng ca 2 ma trn cng kch
thc: A.*B, kt qu l mt ma trn cng kch thc,
phn t hng i ct j bng A(i,j)*B(i,j)

MATLAB c cc cu trc tng t cc


ngn ng lp trnh bc cao khc, nh cc
lnh if, for, while v cc php ton logic
and (hay &), or (hay |), not (hay ~). Hy
s dng lnh help tm hiu cch s
dng cc lnh ny.

MATLAB cung cp mt s ln cc hm
ton hc c s. Cc hm thng dng l
sin, cos, tan, asin, acos, atan, exp (ly
m ca e), log (logarithm t nhin), log10
(logarithm c s 10), sqrt (cn bc 2), abs
(gi tr tuyt i). Khi bin vo ca cc
hm nay l cc ma trn, chng s c
thc hin cho tng phn t ca ma trn.

script file
% script file: vidu.m
% v th ca hm s x = te-tcos(2t) trong
khong [0,8]
clear all % xa tt c cc bin v hm

% do ngi dng nh ngha trc


trc
t = linspace(0,8,401);
x = t.*exp(t).*cos(2*pi*t);
plot(t,x)

function
M-files cha hm c bt u bng mt nh ngha hm nh sau:
function [output1, output2,...] = function_name(input1, input2,...)
Tip theo nh ngha hm l cc lnh MATLAB nh trong scripts. Tuy
nhin, cc lnh ch c phm vi bn trong hm v cc bin c
nh ngha trong phm vi hm l cc bin cc b tr phi chng c
khai bo l bin ton cc bng cch s dng lnh global. Sau y
l mt v d v hm:
% file: f1.m
% tnh s = f1(a,b) = exp(a+2|b|)
function s = f1(a,b)
if b > 0,
k = a+2*b;
else
k = a2*b;
end
s = exp(k);

f1(2,3)
ans = 2.9810e+003

y=f1(3,2)
y = 1.0966e+003

V th
plot: v th di dng ng lin tc
stem: v th di dng cc im ri rc
loglog: tng t plot, nhng hai trc ta X
v Y u chia theo thang logarithm (c s 10)
semilogx: tng t plot, nhng trc ta X
chia theo thang logarithm (c s 10)
semilogy: tng t plot, nhng trc ta Y
chia theo thang logarithm (c s 10)
bar: v biu ct
histogram: v biu tn sut
polar: v th trong h ta cc

xlabel: gn nhn cho trc X


ylabel: gn nhn cho trc Y
title: gn tiu cho th
grid: hin th li ta
text: t xu k t vo th
axis: iu chnh thang v thuc tnh ca cc trc ta
figure: to mt ca s mi cho lnh v, hm s tr v s hiu ca ca s
mi c to. Nu lnh figure c tham s figure(n), ca s v c s
hiu n s c kch hot v lnh v tip theo s v vo ca s ny.
hold on: cho php gi li h ta v th ang hin th khi c lnh v
mi trong cng ca s. Cc lnh v mi s ch v thm th, cc trc ta
v thuc tnh ca chng vn gi nguyn
hold off: xa b tc dng ca lnh trn, mi khi c lnh v mi, hnh v
ang hin th trong cng ca s s b xa
close(n): ng ca s v c s hiu n
subplot: ly mt phn ca th ang hin th

% v th ca cc hm s x1 = te-tcos(2t) v x2 = tetsin(2t)
% trong khong [0,8]
t = linspace(0,8,401);
x1 = t.*exp(t).*cos(2*pi*t);
x2 = t.*exp(t).*sin(2*pi*t);
plot(t,x1);
hold on
plot(t, x2, r);
xlabel('Time (s)');
ylabel('Amplitude');

Thit lp cc m hnh tuyn tnh


bt bin theo thi gian
M hnh hm chuyn ca mt h thng tuyn tnh G(s) =
Y(s)/X(s) trong CST c thit lp bng hm tf(X,Y),
X l vector biu din a thc X(s) v Y l vector biu
din a thc Y(s). a thc P(s) = a1sn + a2sn-1 + a3sn2 + ... + ans + an+1 c biu din bng vector P = [a1
a2 a3 ... an an+1]. V d, h thng c hm chuyn G(s)
= s/(s2 + 2s + 10) c thit lp bng lnh sau:
G = tf([1 0],[1 2 10])
Transfer function:
s
------------------s^2 + 2 s + 10

Thit lp cc m hnh tuyn tnh


bt bin theo thi gian
Cc m hnh zero-pole-gain s dng hm chuyn c biu din di
dng:
, gia s k (gain) l mt gi tr, zi (i = 1..m) l cc im khng
(zeros) ca G(s) v pj (j = 1..n) l cc im cc (poles) ca G(s). V
vy, cc m hnh zero-pole-gain c biu din bng gi tr k v hai
vector Z = [z1 z2 ... zm] v P = [p1 p2 ... pn], thit lp bi hm
zpk(Z,P,k). V d:
G = zpk(3,[1 2],2)
Zero/pole/gain:
2 (s-3)
--------------(s+1) (s+2)
G = zpk(0,[1+3i 13i],1)
Zero/pole/gain:
s
-------------------(s^2 + 2s + 10)

1. Hai cach khai bao 1 ham truyen


Khai dung ham tf
G=tf([1,5],[1 3 2]) % khai bao cac he so tren Tu va Mau
Ket qua:
s+5
------------s^2 + 3 s + 2
Khai bao dung ham zpk
F=zpk([-5],[-1 -2],1) % khai bao diem khong, diem cuc, he so khuech
dai
Ket qua
(s+5)
----------(s+1) (s+2)

2. Chuyen doi giua TF va PK


>> zpk(G)
Zero/pole/gain:
(s+5)
----------(s+2) (s+1)
>> tf(F)
Transfer function:
s+5
------------s^2 + 3 s + 2

3. Ghep noi he thong


>> C=tf([1],[1 1])
>> G=tf([1,5],[1 3 2])
Mac noi tiep
>> C*G
Transfer function:
s+5
--------------------s^3 + 4 s^2 + 5 s + 2

Mac song song


>> C+G
Transfer function:
2 s^2 + 9 s + 7
--------------------s^3 + 4 s^2 + 5 s + 2
Mac phan hoi
>> feedback(G,C,-1) % phan hoi am
Transfer function:
s^2 + 6 s + 5
--------------------s^3 + 4 s^2 + 6 s + 7

4. Khao sat he thong di dua vao cac tin hieu thu


Tin hieu thu la tin hieu nhay bac
>> step(C)

>> step(C,10) % quan sat trong 10 s

Tin hieu thu la xung don vi


>> impulse(C,10) % quan sat trong 10 s

M hnh trong khng gian trng thi


(m hnh bin trng thi)
Cc m hnh trong khng gian trng thi s
dng cc phng trnh vi phn m t ng lc
ca h thng di dng:
dx
Ax Bu
dt
y Cx Du

, x l vector cha cc bin trng thi, u l


vector cha cc bin vo v y l vector cha
cc bin ra. A, B, C, D l cc ma trn h s ca
h phng trnh.

m hnh bin trng thi


Mt m hnh trong khng gian trng thi
c thit lp bi lnh ss(A,B,C,D). V
d, mt h thng c m t bi phng
trnh sau:
2

d
d

3
I
2
dt
dt

Chuyn phng trnh ny sang dng


trn, chng ta c x = [ ; ], u = I, , A = [0 1;
5 2], B = [0 ; 3], C = [0 1] v D = 0.

m hnh bin trng thi


sys = ss([0 1 ; 5 2],[0 ; 3],[0 1], 0)
a=
x1 x2
x1 0 1
x2 5 2
b=
u1
x1 0
x2 3
c=
x1 x2
y1 0 1
d=
u1
y1 0
Continuous-time model.

Chuyn i gia cc loi m hnh


Cc hm tf, zpk v ss cng c dng chuyn i t mt loi m hnh sang mt loi m hnh khc. V d:
G = tf([1 3],[1 3 2]) % m hnh hm chuyn
Transfer function:
s+3
----------------s^2 - 3 s + 2
G = zpk(G) % chuyn sang m hnh zero-pole-gain
Zero/pole/gain:
(s+3)
------------(s-2) (s-1)
sys = ss(G) % chuyn sang m hnh trong khng gian trng thi
a=
x1
x2
x1
2 1.118
x2
0
1
b=
u1
x1 0
x2 2
c=
x1 x2
y1 2.236 0.5
d=
u1
y1 0
Continuous-time model.

Tr ca tn hiu vo
CST cho php tnh ti tr ca tn hiu vo cho cc h thng theo thi
gian lin tc trong gii hn kim sot c. Trong khng gian trng
thi, mt h thng theo thi gian lin tc c tr ca cc tn hiu
vo u l
G = tf([1 0],[1 2 10])
Transfer function:
s
------------------s^2 + 2 s + 10
set(G,InputDelay,0.05) % t tr ca tn hiu vo l 0,05
G
Transfer function:
s
exp(-0.05*s) * ------------------s^2 + 2 s + 10

p ng ca h thng theo thi


gian
step(sys): tnh ton v v th p ng theo thi gian ca h
thng biu din bi m hnh sys vi tn hiu vo ca h thng l
hm nhy bc n v. v th p ng ca m hnh sys trong
mt khong thi gian t 0 n mt thi im t, dng lnh
step(sys,t). V d: step(sys,1) s v th ca p ng trong 1
giy u.
step(sys1,sys2,...): tnh ton v v th p ng theo thi gian
ca cc h thng biu din bi nhiu m hnh trong cng mt hnh
v vi tn hiu vo ca h thng l hm nhy bc n v.
y = step(sys,t): tnh ton cc gi tr ri rc ca p ng theo thi
gian ca h thng biu din bi m hnh sys vi tn hiu vo ca h
thng l hm nhy bc n v, theo vector thi gian t. iu c
ngha y l mt vector m mi phn t y(i) l gi tr ca p ng ti
thi im t(i).

p ng ca h thng theo thi


gian
impulse(sys): tnh ton v v th p ng theo thi gian ca h
thng biu din bi m hnh sys vi tn hiu vo ca h thng l
hm xung n v. v th p ng ca m hnh sys trong mt
khong thi gian t 0 n mt thi im t, dng lnh
impulse(sys,t). V d: impulse(sys,1) s v th ca p ng
trong 1 giy u.
impulse(sys1,sys2,...): tnh ton v v th p ng theo thi
gian ca cc h thng biu din bi nhiu m hnh trong cng mt
hnh v vi tn hiu vo ca h thng l hm xung n v.
y = impulse(sys,t): tnh ton cc gi tr ri rc ca p ng theo
thi gian ca h thng biu din bi m hnh sys vi tn hiu vo
ca h thng l hm xung n v, theo vector thi gian t. iu c
ngha y l mt vector m mi phn t y(i) l gi tr ca p ng ti
thi im t(i).
lsim(sys,u,t):

Cc im khng v im cc ca
hm chuyn
z = zero(sys): hm tr v vector z l gi tr cc
im khng ca hm chuyn ca h thng biu
din bi m hnh sys.
p = pole(sys): hm tr v vector p l gi tr cc
im cc ca hm chuyn ca h thng biu
din bi m hnh sys.
pzmap(sys): v th cc im khng v im
cc ca hm chuyn ca h thng biu din bi
m hnh sys trong mt phng s (mt phng
phc).

Thit k h thng iu khin


Lnh sisotool ca CST s m mt giao din ha cho
php ngi s dng thit k mt h thng iu khin
phn hi n bin (SISO) bng cc phng php b
trong min tn s, bao gm phng php s dng qu
tch nghim v phng php b trn th Bode. H
thng phn hi c thit k bng sisotool bao gm
bn thnh phn: qu trnh G, b tin lc (prefilter) F,
mch b C v khi phn hi H. Mch b C c th c
t pha trc G (b ni tip) hoc t trn nhnh phn
hi (b phn hi). thay i gia hai m hnh b ,
chng ta ch cn nhn chut vo nt FS (Feedback
Structure) trong ca s con biu din m hnh h thng.
Nt +/ trong ca s con cho php chuyn i gia
hai kiu phn hi m v dng

Thit k h thng iu khin


sisotool(G)
sisotool(G,C)
sisotool(G,C,H,F)

SISOTOOL V d
To ra hm truyn
Gi s h thng c hm truyn l:

Khai bo to hm truyn bng lnh:


G = tf(4*[-1 1],[10 7 1]); % c nhiu cch
khai bo hm truyn ny

To b iu khin
Gi s h thng c b iu khin phn hi
loi PI vi cc gi tr ban u ca h s
khuch i v hng s thi gian tch phn
l
Khai bo to hm iu khin bng lnh:
Gc = tf(1*[3 1],[3 0]);

M SISOTOOL
Thc hin lnh
sisotool(G, Gc);

Khi ca s SISO xut hin,


dung menu View loi
b chc nng hin th
Open-Loop Bode, ch
hin th phn Root Locus
m thi

1. Hai biu tng x mu xanh l im cc


ca G(s) ti s = -0.5, -0.2.
2. Biu tng o mu xanh l im khng
ca G(s) ti s = 1.
3. Hm truyn ca h kn l bc 3, v th
c th thy 3 im cc mu hng hnh
vung: .
a. C hai im cc l lin hp phc, nhn
xt thnh phn thc l dng, nn h
thong l khng n nh.
b. xc nh chnh xc v tr cc im
cc th nhn chut vo im cc .

4. Ti mc Current Compensator hin th


gi tr Gc chng ta va np. Lu ti
hp EDIT BOX ang hin th gi tr ca
. Chng trnh SISO to ra th qu
tch nghim (ng mu xanh) mt
cch t ng.
5. Cc im cc v im khng ca b
iu khin cc k hiu x v o mu cam.

Thay i b iu khin
V h thng lc u l khng n nh nn ta c gng thay
i b iu khin nh sau: nhn chut vo v tr im
cc, ko vo khu vc c thnh phn thc < 0 (a h
thng v n nh). H thng lc ny n nh vi

Chng ta cng c th thay i cc im cc, im khng ca b iu


khin, c 2 cch:
1. G vo Current Compensator v thay i gi tr mong mun
2. Ko cc k hiu x hay o ti cc v tr mong mun

Bi 1

Bi 2

Bi 3

Cch thc hin


H thng iu khin v h thng phn hi u c
thi gian tr l 0.2 giy. Trong matlab khng h
tr truyn tr do phai t tr vo cc hm
chuyn v hm phn hi. ri xp x li cc ham
ny bng cu lnh.
set(G,'InputDelay',td);
N=4;
G=pade(G,N);
Lc G s l m hm chuyn c bc N tng
ng hm G c c tr td giy.

PI

PID

Bi 4

You might also like