You are on page 1of 87

MATLAB CAN BAN & NG DUNG -1-

CHNG 1
GII THIU V MATLAB
MATLAB l sn phm phn mm ca cng ty MathWorks Inc. u im ni bt ca
MATLAB l kh nng tnh ton v biu din ho k thut nhanh chng, a dng v
chnh xc cao. Th vin hm ca MATLAB bao gm rt nhiu chng trnh tnh ton con;
Cc chng trnh con ny gip ngi s dng gii quyt nhiu loi bi ton khc nhau, c
bit l cc bi ton v ma trn, s phc, h phng trnh tuyn tnh cng nh phi tuyn.
MATLAB cng cho php x l d liu v biu din ho trong khng gian 2D v 3D vi
nhiu dng th thch hp, gip ngi s dng c th trnh by kt qu tnh ton mt cch
trc quan, thuyt phc hn. Thm vo , cc phin bn MATLAB ngy cng pht trin
nhiu module phn mm b sung, gi l cc Toolbox (b cng c) vi phm vi chc nng
chuyn dng cho tng chuyn ngnh c th.
Ti liu ny gii thiu cch s dng MATLAB phn cn bn v ng dng cc b cng
c Control system toolbox v SIMULINK m phng, phn tch ng hc cc h thng
iu khin. Cc v d v hnh minh ho trong ti liu c thc hin vi phin bn
MATLAB 7.0.4 Release 14.
1.1 KHI NG
- Cch 1: Nhp p chut vo biu tng MATLAB trn mn hnh Desktop.
- Cch 2: Chn Start > Programs > MATLAB 7.0.4 > MATLAB 7.0.4
1.2 MN HNH MATLAB
Sau khi khi ng MATLAB ta thu c mn hnh MATLAB, bao gm cc ca s
tch hp nh hnh di y :
1
2
3
4
Command History
Workspace
5
Bin Son : NGUYN TH HNG - 2-
Ca s lnh Command Window : y l ca s chnh ca MATLAB. Ti y ta
thc hin ton b vic nhp lnh v nhn kt qu tnh ton. Du >> l du i lnh. Sau
khi nhp lnh v kt thc bng ng tc nhn phm ENTER, MATLAB s x l lnh v
xut kt qu lin ngay di dng lnh. V d :
>> a=5*2+6 (nhp lnh v nhn Enter )
a= (kt qu)
16
Ca s Command History : Tt c cc lnh s dng trong Command Window
c lu gi v hin th ti y. C th lp li lnh c bng cch nhp p chut vo lnh
. Cng c th ct dn, sao chp, xo c nhm lnh hoc tng lnh ring r.
Ca s Workspace Browser : Khi nim Workspace (khng gian lm vic) l mt
vng nh ng trong b nh ca chng trnh, t ng hnh thnh khi MATLAB c khi
ng v t ng xa khi thot MATLAB. Workspace lu gi cc bin khi ta s dng
MATLAB. Tt c cc bin tn ti trong Workspace u c hin th ti ca s Workspace
Browser vi cc thng tin v tn bin, gi tr, kch c Byte v loi d liu.
Ca s th mc hin hnh Current Directory : c hin th khi nhp chut vo
Current Directory. Nh ca s ny ngi s dng c th nhanh chng nhn bit cc th
mc con v cc tp tin (file) ang c trong th mc hin hnh. Cc thao tc m file, lu
file, tm M-file thc thi...c mc u tin cao nht cho th mc hin hnh. Mc nh khi
khi ng MATLAB th th mc hin hnh l '...\Th mc ci t MATLAB\work'.
Tn th mc hin hnh cng c ch r trn thanh toolbar (v tr ).
Trn y ch l mt cch hin th t hp cc ca s trong mn hnh MATLAB. Ty
theo thi quen v nhu cu s dng, ngi dng c th thay i linh hot cch hin th thng
qua menu Desktop > Desktop layout >... . (Vi phin bn MATLAB 6 R12 v MATLAB
6.5 R13 chn menu View > Deskstop Layout >)
1.3 TIN CH TR GIP
Tin ch tr gip (Help) ca MATLAB rt phong ph. C th gi t menu help trn
thanh menu hoc nhp lnh ti Command window theo c php:
help tnlnh % xem tr gip ti command window.
doc tnlnh % xem tr gip trong ca s Help.
V d, tm hiu chc nng v cch dng ca lnh input ta c th nhp :
>> help input
hoc :
>> doc input
Ngoi ra, chng ta cng c th xem cc v d minh ho c sn trong MATLAB bng
cch nhp lnh demo.
1.4 THOT KHI MATLAB
Thc hin mt trong cc cch sau y :
- Nhp chut vo nt gc trn, phi ca mn hnh MATLAB.
- Chn menu File > Exit MATLAB.
- Nhn t hp phm Ctrl + Q
- >>quit hoc >>exit .
1
2
3
4
5
MATLAB CAN BAN & NG DUNG -3-
1.5 TNH TON TI COMMAND WINDOW
Vi cc bi ton n gin, ch cn dng mt vi cu lnh MATLAB, chng ta
thng gii bng cch trc tip nhp tng lnh ti ca s Command window.
V d : Tnh th tch hnh hp :
Ti du nhc lnh ta nhp:
>> 5*2*4
MATLAB s tnh v hin th kt qu :
ans= 40
ans l bin mc nh ca MATLAB dng cha d liu hay kt qu tnh ton nu
ngi dng khng t tn.
S dng du = ta c th khai bo mt bin, ng thi gn gi tr cho bin . Cc bin
c phn bit vi nhau bi tn bin.
>> a=5; b=2; h=4;
>> S=a*b % din tch y
S = 10
>> V= S*h % th tch
V = 40
a, b, h, S, V l cc bin do ngi dng t t tn .
V d :
Tn bin hp l : a; b; A; A1; A2; chieu_cao; TT; TT_1; TT_2
Tn bin khng hp l : 1B; 2B; G(s); G'; G*, chieu cao; chieu-cao
Cc tn bin sau y l khc nhau: S; s ; the_tich; The_tich; THE_TICH
Lu :
- Khng nn t tn bin trng vi cc bin c bit ca MATLAB nh: pi (s
3,14159), i hay j (s o n v), inf (s ), NaN hay nan (s bt nh 0/0, -,...).
- Chiu di ti a (hay s k t ti a) ca tn bin c th kim tra bng lnh :
>> namelengthmax
ans =63
a = 5 m
b = 2 m
h = 4 m
Quy tc t tn bin:
+ Tn bin phi bt u bng k t ch. K tip c th l ch, s v du _
+ Khng c dng khong trng v cc du ( ),' ,*,-,&,@ ,
+ C s phn bit ch hoa v ch thng.
h
b
a
Bin Son : NGUYN TH HNG - 4-
Mt s lu khi nhp lnh:
- Bnh thng MATLAB lun hin th kt qu ca cu lnh trn mn hnh. Nu mun
MATLAB khng hin th kt qu th cui cu lnh ta t thm du chm phy (;).
- Nhiu cu lnh c th t chung trn mt dng nhng bt buc phi phn cch nhau
bi du phy (,) hoc chm phy (;). Khng cho php phn cch cc lnh bng
khong trng. Nu cui lnh no c du phy th MATLAB hin th kt qu, cn
du chm phy th khng hin th kt qu.
v d trn, nu nhp lnh :
>> S=a*b; V=S*h
th MATLAB ch hin th gi tr ca V, khng hin th gi tr ca S.
- Cc phm mi tn | ! trn bn phm rt hu ch khi nhp lnh. gi li lnh
va g, bn c th nhn phm mi tn |, tip tc nhn phm ny, n s gi tip lnh
trc . Phm mi tn ! c tc dng ngc vi |. Cc phm mi tn v c
th dng thay i v tr con tr trong dng lnh ti du nhc ca MATLAB, gip
bn d dng chnh sa ni dung dng lnh.
Xem ni dung ca Workspace:
Cch 1: Vo ca s Workspace Browser xem danh sch lit k.
Cch 2: Dng lnh who hoc whos
>> who % lit k tn cc bin ang c trong Workspace ra mn hnh Command
Your variables are:
S V a ans b h
>> whos % lit k c tn bin v cc thng tin lin quan
Name Size Bytes Class
S 1x1 8 double array
V 1x1 8 double array
a 1x1 8 double array
ans 1x1 8 double array
b 1x1 8 double array
h 1x1 8 double array
Grand total is 6 elements using 48 bytes
Lu ni dung ca Workspace thnh tp tin d liu :
- Cch 1: Vo menu File > Save Workspace As > chn th mc > nhp tn tp tin >
nhp nt Save. Tp tin d liu c tn tng qut l *.mat v lu dng m nh phn.
- Cch 2: Nhp lnh >>save ' ng dn\ tnfile.mat '
V d: >>save ' C:\Program Files\MATLAB704\work\ mydata1.mat '
Nu bn khng nhp ng dn th mc nh l lu vo th mc hin hnh.
Ti ni dung ca mt tp tin d liu vo li Workspace :
- Cch 1: Vo menu File > Import Data > MATLAB Data File (*.mat) > chn tn tp
tin > n nt Open.
- Cch 2: Nhp lnh >>load ' ng dn\ tnfile.mat '
- Cch 3: Vo ca s Current Directory, nhp p chut vo tn tp tin cn m .
MATLAB CAN BAN & NG DUNG -5-
Thao tc trn cc bin c trong Workspace :
- Xem li gi tr ca bin: G tn bin ti du nhc lnh.
>> tnbin
>> tnbin_1, tnbin_2, ..., tnbin_n % gia cc tn bin c du phy
- Chnh sa gi tr c ca bin : G lnh gn mi.
V d, thay i gi tr chiu cao h (ang l 4) thnh 6 v tnh li th tch :
>> h=6
h= 6
>>V=S*h
V=60
- Xo sch ni dung ang c trn mn hnh Command window (nhng khng xo
bin) v a con tr v u mn hnh :
>> clc
- Xo mt s bin :
>> clear tnbin_1 tnbin_2 ... tnbin_n
% ch l trng hp ny, gia cc tn bin c khong trng.
V d, xo hai bin S v V ta g lnh :
>> clear S V
- Xo ht mi bin trong Workspace :
>> clear
Cc thao tc xem ni dung, xo, lu, i tn, chnh sa gi tr (edit value) ca bin
cng c th thc hin ti ca s Workspace Browser.
Thao tc trn th mc:
- Xem ng dn v tn th mc hin hnh: >> cd
Khi mi khi ng MATLAB7.04, th mc hin hnh mc nh l:
'C:\Program Files\MATLAB704\work'.
- To th mc mi : >> mkdir('ng dn', 'tn th mc mi')
V d: >>mkdir('C:\Program Files\MATLAB704\work','Le Van An')
Nu bn khng nhp ng dn th mc nh l lu vo th mc hin hnh.
Lu : tn th mc cho php c khong trng gia cc t, nhng tn bin v tn file
th khng c php.
Bn cng c th nhp phi chut trong ca s Current Directory, chn new > folder
> nhp (g) tn th mc mun to mi > nhn Enter.
- Chuyn th mc mi to tr thnh th mc hin hnh :
>>cd 'C:\Program Files\MATLAB704\work','Le Van An'
hoc >>cd 'Le Van An'
Bn cng c th thc hin bng cch vo ca s Current Directory, nhp p chut
vo tn th mc cn chuyn .
- Chuyn ln th mc cp trn : >> cd . . % gia cd v .. c khong trng
Bin Son : NGUYN TH HNG - 6-
CHNG 2
M-FILE
Trong MATLAB, M-file l cc file chng trnh c son tho v lu dng vn
bn theo m ASCII. C hai loi M-file l Script file (file lnh) v Function file (file hm).
C hai u c phn tn m rng l ".m ". MATLAB c rt nhiu M-file chun c xy
dng sn. Ngi dng cng c th to cc M-file mi tu theo nhu cu s dng.
2.1 LP TRNH DNG SCRIPT FILE
Thay v nhp v thc thi tng cu lnh ti ca s Command window, bn c th son
v lu tt c cc cu lnh cn thit gii bi ton vo mt Script file. Khi bn g tn file
ti command window, cc cu lnh c trong file s c thc thi theo th t bn son.
1) M ca s Editor :
Cch 1: Trong command window g lnh edit
Cch 2: Vo menu File >New >M-File
Cch 3: Nhp chut vo icon (icon u tin trn thanh toolbar)
2) Son tho
Cu trc tng qut ca mt Scrift file :
tnbin = <gi tr>;
tnbin = input('li nhc');
KHI CC CU GII
THCH CHNG TRNH
K hiu m u : %
KHI CC CU LNH
NHP D LIU
Lnh gn, lnh input,...
KHI CC CU LNH X L
Cc lnh x l
Cc biu thc tnh ton
THEO TRNH T
THUT TON
CHNG TRNH DNG
LM G, AI VIT, U,
KHI NO ?
vung soan thao
MATLAB CAN BAN & NG DUNG -7-
- K hiu % c th dng bt c ch no trong chng trnh to cu ghi ch, gii
thch. Cc cu ghi ch t pha trn dng lnh u tin s hin trn mn hnh khi
bn g lnh help tnfile.
- Lnh gn : dng gn gi tr cho bin.
C php: tnbin =<gi tr>
- Lnh input : dng nhn mt gi tr t bn phm.
C php: tnbin = input('li nhc')
V d: a=input('Nhap chieu dai a:')
Khi thc thi, MATLAB s hin dng nhc :
Nhap chieu dai a:
sau ch ngi dng nhp mt gi tr s t bn phm, nhn gi tr va nhp v gn
vo bin a.
V d 1: Son tho tp tin vd1.m vi ni dung nh sau :
3) Lu: Vo menu File > Save > t tn tp tin > nhp nt save.
Tp tin Scrift file c phn m rng l ".m", v c lu vo th mc hin hnh.
Nu khng c s la chn khc th th mc hin hnh c mc nh l th mc
work ca MATLAB. Tn tp tin phi bt u bng k t ch, khng c khong
trng gia cc k t (ging nh quy nh v tn bin). Lu kim tra v tm tt
cc phn mm g ting Vit nh Vietkey, Unikey,nu cn.
4) Gi thc hin Scrift file:
Cch 1: Trong ca s son tho nhp chut vo nt run trn thanh toolbar.
Cch 2: Tr v mn hnh Command window v g tn file (khng c phn m rng
.m), sau nhn Enter thc thi.
V d thc thi file "vd1.m" va to, ti du nhc lnh ta g : >> vd1
Lu l d gi thc hin theo cch 1 hay cch 2 th MATLAB cng u xut
kt qu tnh ton ti ca s Command Window.
5) M mt M-file ang c xem li hay chnh sa:
Cch 1: Trong ca s Editor hoc Command window, vo menu File >open >
Cch 2: Vo ca s Current Directory, nhp p chut vo tn M-file cn m.
Cch 3: Ti Command window, g lnh edit ('ng dn\tn file')
% Chuong trinh tinh the tich hinh hop
% DHSPKT, 10/2004
% Nguoi viet: Nguyen Van A
% -----------------------------------------------
a = input('Nhap chieu dai a:');
b = input('Nhap chieu rong b:');
h = input('Nhap chieu cao h:');
S=a*b; % Dien tich day
V=S*h % The tich
KHI
GII THCH
KHI X L
D LIU
KHI NHP
D LIU
Bin Son : NGUYN TH HNG - 8-
2.2 LP TRNH DNG FUNCTION FILE
Tng t nh trong ton hc, cc hm (function) trong MATLAB s nhn vo gi
tr ca cc i s v tr v gi tr tng ng ca hm. Trnh t to v thc thi mt file hm
bao gm cc bc nh sau:
1) M ca s Editor : thc hin tng t nh Scrift file
2) Son tho:
Cu trc chun ca mt hm:
function [danh sch tham s ra] = tn hm (danh sch tham s vo)
%khi cc cu ghi ch, gii thch
Cu lnh x l 1;
cu lnh x l 2;
. . . . . . . . . . . . . . . .
tham s ra 1 = biu thc tnh 1;
tham s ra 2 = biu thc tnh 2;
. . . . . . . . . . . . . . . .
- Tham s ra (cng gi l tham bin) dng cha cc kt qu x l ca hm.
Khi gi thc hin hm ta c th thay chng bng cc tn bin c th.
- Tham s vo (cng gi l tham tr, hay i s) l cc bin trong hm m s
nhn cc gi tr vo c th khi gi thc hin hm.
Tn cc tham s vo, ra trong phn danh sch c phn cch nhau bng du
phy. Nu ch c 1 tham s ra th khng cn dng du ngoc vung [ ].
3) Lu: nh cch lu ca Scrift file. Khi lu hm, MATLAB s ly tn hm lm
tn file, ngi lp trnh khng nn sa li tn ny trnh ln ln khi gi thc
hin hm.
4) Gi thc hin Function file: t ca s Command thc hin nh sau:
Nu ch c mt tham s ra:
>> tnbin = tnfile (danh sch cc gi tr vo)
Nu c nhiu tham s ra:
>> [tnbin1, tnbin2,...] = tnfile (danh sch cc gi tr vo)
V d 2: To tp tin tt_hinhhop.m
function V = tt_hinhhop(a,b,h)
% chuong trinh tinh the tich hinh hop
% khi biet cac canh a(dai),b(rong),h(cao)
S=a*b;
V=S*h;
MATLAB CAN BAN & NG DUNG -9-
Thc thi trong Command window :
>> TT=tt_hinhhop(5,2,4) % tham bin V c th i tn tu , v d i l TT.
TT =
40
Ch :
- Khi bn g lnh help tnfilehm th cc cu ghi ch pha trn dng khai bo
function hoc di dng function nhng trc dng lnh u tin trong file hm s
c hin trn mn hnh .
- Khi gi thc thi mt file hm ta dng tn file, khng phi tn hm. Do nu v
d 2 ta t tn file l "vd2.m" th khi thc thi phi dng lnh:
>> TT=vd2(5,2,4)
V d 3: To file hm dttt_hinhhop.m vi 2 tham s ra.
% CTr tinh dien tich day va the tich hinh hop
% khi biet cac canh a(dai),b(rong),h(cao)
function [S,V] = dttt_hinhhop(a,b,h)
S=a*b; % dien tich day
V=S*h; % the tich
Thc thi trong Command window :
>> [DT,TT] = dttt_hinhhop(5,2,4) % Cc tham bin S,V c th i tn tu .
DT =
10
TT =
40
V d 4 : To file hm change.m
% chng trnh i sang radian
function rad = change(do)
rad=do*pi/180;
Thc thi trong Command window :
>> rad = change (30)
rad =
0.5236
Bin Son : NGUYN TH HNG - 10-
c im ca hm :
Cc hm ch thng tin vi MATLAB thng qua cc bin truyn vo cho n v cc
bin ra m n to thnh, cc bin trung gian bn trong hm th khng tng tc vi mi
trng MATLAB.
Khi MATLAB thc hin ln u cc file hm, n s m file v dch cc dng lnh
ca file ra mt dng m lu trong b nh nhm mc ch tng tc thc hin cc li
gi hm tip theo. Nu sau khng c s thay i g trong M file, qu trnh dch s khng
xy ra ln th hai. Nu trong hm c cha li gi hm M-file khc th cc hm cng
c dch vo trong b nh. Bng lnh clear function ta c th xo cng bc cc hm
dch, nhng vn gi nguyn cc M-file.
Mi hm c khng gian lm vic ring ca n (local workspace), tch bit vi mi
trng MATLAB (s dng base workspace), mi quan h duy nht gia cc bin trong
hm vi mi trng bn ngoi l cc bin vo v ra ca hm . Nu bn thn cc bin ca
hm b thay i th s thay i ny ch tc ng bn trong ca hm v m khng lm nh
hng n cc bin ca mi trng MATLAB. Cc bin ca hm s c gii phng ngay
sau khi hm thc thi xong nhim v, v vy khng th s dng thng tin ca ln gi trc
cho ln gi sau.
Cc hm c th s dng chung cc bin vi hm khc hay vi mi trng
MATLAB nu cc bin c khai bo l bin ton cc. c th truy cp c cc bin
bn trong mt hm th cc bin phi c khai bo l bin ton cc trong mi hm s
dng n.
Mt M-file c th cha nhiu hm. Hm chnh (main function) trong M-file ny
phi c t tn trng vi tn ca M-file. Cc hm khc c khai bo thng qua cu lnh
function c vit sau hm u tin. Cc hm con (local function) ch c s dng bi
hm chnh, tc l ngoi hm chnh ra th khng c hm no khc c th gi c chng.
Tnh nng ny cung cp mt gii php hu hiu gii quyt tng phn ca hm chnh mt
cch ring r, to thun li cho vic lp mt file hm duy nht gii bi ton phc tp.
V d 5 : To file hm tinh_gia_tien.m c ni dung sau
function gia = tinh_gia_tien(L,d)
% CTr tinh gia tien khoi thep hinh tru
% khi biet chieu dai L (mm),duong kinh d (mm)
%======================================================
gama=7800; % khoi luong rieng (kg/m^3)
gia_don_vi= 10000; % (dong/kg)
TT= tt_hinhtru(L,d) % (mm^3)
TT=(1e-9)* TT % (m^3)
gia= gia_don_vi*gama*TT; % dong
%======================================================
% Local function (ham con)
function V = tt_hinhtru(L,d)
V=L*pi*d^2/4; % the tich (mm^3)
MATLAB CAN BAN & NG DUNG -11-
2.3. Bin cc b v bin ton cc
a) Bin cc b
Bin cc b ch c phm vi s dng trong mt hm. Cc bin cc b khng lu gi
trong Workspace. Ti Command window ta khng th truy cp c cc bin cc b. Cc
bin trong cc file hm u l bin cc b, tr phi c s ch ng khai bo khc i.
V d: cc bin a, b, h, S,V trong file hm tt_hinhhop.m l cc bin cc b.
b) Bin ton cc
Bin ton cc c phm vi s dng trong nhiu hm hoc nhiu M-file. Cc bin ton
cc c lu gi trong Workspace ca MATLAB v hin th ti ca s Workspace
browser. Ti Command window ta ch c th truy cp c cc bin ton cc.
V d: Cc bin trong cc Script-file l cc bin ton cc.
Cc bin to trc tip ti Command window l cc bin ton cc.
cc bin trong Script-file tr thnh bin cc b, ta c th chuyn mt Script-file
thnh mt Function-file n gin khng c cc tham s vo, ra. V d, t Scrift-file vd1.m
ta to file hm vd1B.m c ni dung nh sau:
function vd1B()
a = input('Nhap chieu dai a:');
b = input('Nhap chieu rong b:');
h = input('Nhap chieu cao h:');
S=a*b % dien tich day
V=S*h % the tich
Khi gi thc hin bng lnh >>vd1B hoc >>vd1B( ), ta vn c cc kt qu tng t
>>vd1, ch khc l cc bin a, b, h, S, V by gi l bin cc b nn khng cn truy cp
c t ca s Command window. Sau khi hm thc thi xong, nu g lnh:
>> a
Bn s nhn c dng thng bo sau :
??? Undefined function or variable 'a '.
% hm hoc bin 'a' cha c nh ngha.
Bin Son : NGUYN TH HNG - 12-
CHNG 3
CC KIU D LIU V PHP TNH
MATLAB c kh nng tnh ton trn mi kiu d liu s v ch. D liu s c th
l s thc, s phc, vect, ma trn. D liu ch c th l chui k t, biu thc logic, biu
thc ch, ...
3.1 S THC
Khi nhp s thp phn, ta dng du chm tch phn nguyn v phn l. Ly tha
ca 10 c th biu din bng k hiu e.
V d 1. Cho cc s thc: a =5 ; b =2,54 ; c =10
6
; d =-4x10
-3
=-0,004
Nhp vo MATLAB:
>> a = 5
a =
5
>> b = 2.54
b =
2.5400
>>c = 10^6 % hoc >> c=1e6
c=
1.0000e+006
>>d = -4e-3
d=
-0.0040
1) Cc php tnh s hc
Trong MATLAB, cc php tnh s hc c mc u tin ging nh trong tnh ton
thng thng. Nu trong cu lnh c cc php tnh cng mc u tin th th t thc hin l
t tri qua phi. Khi cn thay i mc u tin ta dng thm du ngoc n ( ) .
PHP TNH K HIU MC U TIN V D
Ly tha ^ 1 3^2 ; a^(1/2)
Nhn * 2 3*5 ; a*b
Chia / 2 2/4 ; a/b
Chia tri \ 2 2\4 (ngha l 4/2) ; a\b
Cng + 3 2+4 ; a+b
Tr - 3 2-4 ; a-b
MATLAB CAN BAN & NG DUNG -13-
V d 2. Gii phng trnh bc hai ax
2
+ bx + c = 0 ; vi a = 1; b = - 5 ; c = 2 .
Ta bit cc nghim ca phng trnh bc hai c dng :
2
1,2
b b b 4ac
x
2a 2a
A
= =
Thc hin trong MATLAB nh sau:
>> a = 1; b = - 5; c = 2;
>> delta = b^2-4*a*c;
>> x1 = (- b + delta^(1/2))/(2*a)
x1 =
4.5616
>> x2 = (- b - delta^(1/2))/(2*a)
x2 =
0.4384
2) Cc bin, hng, k t c bit trong MATLAB
+ pi : s 3.14159265...
+ i, j: s o n v, i
2
= j
2
= -1
+ realmin : s chm ng dng nh nht, bng 2
-1022
hay 2.2251e-308
+ realmax: s chm ng dng ln nht, ~ 2
1023
hay 1.7977e+308
+ Inf hay inf : s v cng ; Inf = + , -Inf = -
+ NaN hay nan : (Not-a-number) s bt nh, v d kt qu ca 0/0, inf/inf,...
+ eps : s 2
-52
hay 2.2204e-016 (thng dng nh mt v cng b c>0)
3) nh dng s
Khi hin th kt qu tnh ton ra mn hnh, MATLAB dng nh dng s mc nh l
format short. Ty theo yu cu ta c th nh dng li cc con s khi hin th.
Cc lnh format ch nh dng s hin th v khng nh hng n chnh xc tnh
ton. MATLAB vn lu gi gi tr s trong b nh theo mc nh l kiu s chm ng
chnh xc kp (double-precision floating point).
Lnh s dng Dng hin th V d: hin th s : >> pi
format bank 2 ch s thp phn 3.14
format 4 ch s thp phn 3.1416
format short 4 ch s thp phn 3.1416
format short e 4 ch s thp phn
vi du chm ng
3.1416e+00 (= 3.1416*10^0)
format long 14 ch s thp phn 3.14159265358979
format rat dng t s 355/113
xem gii thch chi tit v lnh format, bn g lnh: help format
Bin Son : NGUYN TH HNG - 14-
4) Mt s hm ton c bn
i s ca cc hm c th l s thc, phc, vect, hay ma trn. xem m t chi
tit v chc nng v c php ca hm, bn g help tnhm, v d >>help exp,
TN HM CHC NNG
sqrt(x) Cn bc hai ca x, tng t x^(1/2)
exp(x) Hm m c s e ca x (= e
x
)
V d: exp(0)= e
0
=1; exp(1)= e
1
=2.7182
log(x) Logarit t nhin ca x (= lnx)
log10(x) Logarit thp phn ca x (= lgx)
abs(x) - Tnh gi tr tuyt i ca x nu x l s thc
- Tm mun ca x nu x l s phc
round(x) Lm trn x ti s nguyn gn nht
rem(x,y) Tm phn d ca x /y , c du ly theo x
gcd(x,y) Tm c s chung ln nht ca x, y
lcm(x,y) Tm bi s chung nh nht ca x, y
sign(x) Hm ly du ca x (hm signum); tr v 1 nu
x>0; tr v -1 nu x<0; tr v 0 nu x=0
V d: sign(5)=1; sign (-5)=-1; sign(0)=0
factorial(n) Tm giai tha n!
sin(x) sin ca x, vi x l radian
cos(x) cos ca x, vi x l radian
tan(x) tang ca x, vi x l radian
asin(x) arcsin ca x, vi x l radian
acos(x) arccos ca x, vi x l radian
atan(x) arctg ca x, vi x l radian
sind(x); cosd(x); tand(x) sin; cos; tang ca x, vi x l
asind(x); acosd(x); atand(x) arcsin; arccos; arctg ca x, vi x l
sinh(x) sinhyperbol ca x ; sinh(x) = (e
x
- e
-x
)/2
cosh(x)
coshyperpol ca x ; cosh(x) = (e
x
+ e
-x
)/2
cosh(x) + sinh(x) = e
x
cosh(x) - sinh(x) = e
-x
tanh(x) tanhyperpol(x) ; tanh(x) = sinh(x) / cosh(x)
asinh(x)
arcsinhyperpol(x);
2
ln(x x 1) = + +
acosh(x)
arcoshyperpol(x);
2
ln(x x 1) = +
atanh(x) arctanhyperpol(x); = (1/2)ln [(1+x)/(1-x)]
MATLAB c rt nhiu hm ton hc c xy dng sn. tm hiu k hn, bn
dng cc lnh tr gip: help elfun, help elmat, help specfun hoc help datafun .
MATLAB CAN BAN & NG DUNG -15-
3.2 S PHC
3.2.1 Biu din ton hc
Trong ton hc, mt s phc z c biu din theo mt trong hai dng sau:
1) Dng i s : z = a + bi hay z = a + ib
a phn thc; b phn o; i ton t o hay s o n v ( i = 1 ).
2) Dng cc (dng mun-pha) :
i
z | z | e
u
= hay z = | z | (cos u + i sinu)
Trong :
2 2
| z | a b = + : mun
u = arctg (b/a) : gc pha
3.3.2 Biu din trong MATLAB
- Trong Matlab cc k t i v j mc nh dng k hiu s o n v.
Nu i , j c s dng cho cc gi tr khc th ta phi khai bo li nh sau:
i=sqrt(-1) hoc j = sqrt(-1)
V d: >> z = 3 - 5i % hoc >> z = 3 - i*5
z =
3.0000 - 5.0000i
>> z=5*exp(4i) % tc l z=5e
4i
z=
-3.2682 - 3.7840i
- Cc php tnh +,- ,*, ^, /, \ trn s phc thc hin nh trong ton hc.
- Mt s hm tm thnh phn v tnh ton trn s phc :
TN HM CHC NNG
z = complex(a,b) To s phc z =a+ b*i
real (z) Tnh phn thc ca z
imag(z) Tnh phn o ca z
abs(z) Tnh mun |z| ca z
angle(z)
Tnh gc pha u, vi -t s u s t
atan2(imag(z),real(z))
conj(z) hay z' To s phc lin hp ca z
exp(z)
hm m phc ; e
z
= e
a
(cosb+i*sinb)
log(z) logarit phc ; ln(z)=ln(|z|)+i*u
V d: >> z1=2+3i; % hoc z1=complex(2,3)
>>theta=angle(z1) % hoc theta=atan2(3,2)
theta= 0.9828
>>modul=abs(z1)
modul= 3.6056
>> z2=modul*exp(theta*i) % th li, nu ng th z2=z1
z2= 2.0000 + 3.0000i
Bin Son : NGUYN TH HNG - 16-
3.3 CHUI
Trong MATLAB, chui l dy k t t trong cp du nhy n ' '.
Mi k t ca chui chim 2 byte trong b nh.
>>s = '46' % s l bin chui, cha 2 k t 4 v 6, chim 4 byte
>>str = 'the tich hinh hop' % str l bin chui, cha 17 phn t, chim 34 byte
>>a=46 % a l bin s thc, chim 8 byte b nh
Cc hm x l chui thng dng :
TN HM CHC NNG
upper i ra k t hoa
lower i ra k t thng
str2num i chui ra s
num2str i s ra chui
s=[ s1 s2 ] Ghp cc chui s1, s2,thnh mt hng.
strcat (s1, s2,...) Ghp cc chui thnh hng, t ng ngt bt
khong trng cui chui nu c.
strvcat (s1,s2,...) Ghp cc chui thnh ct (ma trn k t), t ng
thm khong trng, b qua chui rng
str2mat (s1,s2,...) Ghp cc chui thnh ct (ma trn k t), t ng
thm khong trng, chui rng cng tnh l 1 ct.
disp(s) Hin th ni dung ca chui s ra mn hnh
fprintf a d liu c nh dng ra file hoc mn hnh
ischar(s); isstr(s) Xt xem s c phi l chui ?, tr v 1 nu ng.
strcmp(s1,s2) So snh hai chui, tr v 1 nu s1 ging s2
strncmp(s1,s2,N) So snh N k t u ca hai chui s1, s2
eval('chui') X l ni dung ca chui nh mt cu lnh Matlab
ng dng:
Ghp mng chui vi s v hin th kt qu :
>> x= pi/5 ; y=2*sin(x) +3 ; % x, y l cc gi tr s .
>> str=['Gia tri cua y la: ', num2str(y)] ; % chuyn y thnh chui v ghp 2 chui.
>> disp(str)
Kt qu hin th:
Gia tri cua y la: 4.1756
Dng lnh fprintf
>> R=45;
>> fprintf ( 'Dien tich = %8.3f m^2 \n', pi*R^2)
Gii thch : - C %8.3f th hin th t nht 8 k t vi 3 ch s thp phn.
- C \n th in xong xung hng, a du nhc lnh v u dng k tip.
Kt qu hin th :
Dien tich = 6361.725 m^2
MATLAB CAN BAN & NG DUNG -17-
>> A = [-30 1 30 180] ; B=A*pi/180;
>> fprintf('X is %3d degree or %7.4f rad \n', [A;B])
% Lnh fprintf s hin th tng cp gi tr tng ng ca 2 mng A v B.
Kt qu hin th:
X is -30 degree or -0.5236 rad
X is 1 degree or 0.0175 rad
X is 30 degree or 0.5236 rad
X is 180 degree or 3.1416 rad
>> fprintf ('\n') % to mt dng trng, tng ng lnh disp(' ').
Ghp cc chui v cho hin th :
>>s=str2mat('Chao cac ban', 'Chung ta bat dau nhe !'); % to hai hng chui
>>disp(s)
Kt qu hin th :
Chao cac ban
Chung ta bat dau nhe !
Lu :
Kt qu lnh strvcat ('Hello','Yes') tng t nh ['Hello';'Yes ']
% strvcat t ng thm hai khong trng sau chui Yes ghp hp l, tc l hai
hng phi c s phn t (s k t) bng nhau l 5.
Kt qu lnh strvcat('Hello','','Yes') khc vi str2mat ('Hello', '','Yes')
% v d ny strvcat to 2 hng v b qua chui rng'', cn str2mat to 3 hng.
Kt qu lnh strcat('Chao ','Ban') khc vi ['Chao ', 'Ban']
% strcat to kt qu ChaoBan, cc khong trng sau t Chao b b qua.
V d : Son tho tp tin: tthinhtru.m
% Chuong trinh tinh the tich hinh tru
% khi biet ban kinh R ,chieu cao h
function V = tthinhtru(R,h)
S=pi*R^2;
V=S*h;
disp (['Ban kinh R = ',num2str(R)])
disp (['Chieu cao h = ',num2str(h)])
disp ('The tich :') %fprintf('The tich :\n')
Thc thi ti Command window :
>> TT= tthinhtru(5,2) .
Kt qu hin th :
Ban kinh R = 5
Chieu cao h = 2
The tich :
TT =
157.0796
Bin Son : NGUYN TH HNG - 18-
3.4 VCT
Trong MATLAB, cc thut ng vct v mng c dng khng phn bit.
- khai bo mt vct ct (mng ct) ta nhp cc phn t nm trong du ngoc vung
[ ], phn cch nhau bi du chm phy.
V d : >> a = [1; 3; 4]
a =
1
3
4
- khai bo mt vct hng (mng hng) ta nhp cc phn t nm trong du ngoc
vung [ ], phn cch nhau bi khong trng hoc du phy.
V d : >> b = [2 5 4 7] % hoc >>b= [2,5,4,7]
b =
2 5 4 7
- to vect hng c gi tr cc phn t cch u nhau, MATLAB cho php khai bo
bng ton t (:) nh sau :
x=x1: x: x2 hoc x=[x1: x: x2]
Trong x1 l gi tr u, x l gia s, x2 l gi tr cui ca vect x
Nu x =1 th c th khai bo n gin:
x=x1: x2 hoc x=[x1: x2]
Nu (x2-x1)/x = n (n=1,2,..) th Matlab to gi tr cui l (x1 n. x) x2 + A =
Nu (x2-x1)/x n (n=1,2,..) th Matlab to gi tr cui l (x1 n. x) x2 + A <
V d:
>> x = 0:10 % Vect x biu din 11 s t nhin t 0 n 10.
x =
0 1 2 3 4 5 6 7 8 9 10
>> v= 1:2:10 % Vect v biu din cc s l s10
v =
1 3 5 7 9
Mt s hm v vct (mng) :
HM CHC NNG
length(a) Tm s phn t ca vct a
size(a) Tm kch thc vct, c dng (1x n) hoc (n x 1)
a(i) Tm phn t th i ca vct a (i=1,2,3,)
a(i : j) Tm cc phn t t th i ti th j ca vct a
norm(a) Tnh chun Euclid ca vct a ( = ||a|| = cn bc hai
ca tng bnh phng cc phn t ca a)
sum(a) Tng cc phn t
prod(a) Tch cc phn t
min(a) Phn t b nht ca vect a
MATLAB CAN BAN & NG DUNG -19-
max(a) Phn t ln nht ca vect a
mean(a) Trung bnh cng ca cc phn t
V d: a) Cho n=50. Tm tng n s chn u tin
b) Cho n=50. Tm tng n s l u tin
c) Cho n=5. Tm n!
>> n=50; a=[2:2: 2*n]; % hay a= 2*(1:n)
>> tong=sum(a)
tong=
2550
>> n=50; b=[1:2: 2*n-1]; tong=sum(b)
tong=
2500
>>n=5; c=[1: n]; giai_thua=prod(c)
giai_thua=
120
Cc php tnh gia vc t (mng) vi mt s v hng:
PHP TNH K HIU V D NGHA
Ly tha .^ c=a.^2 c= [(a
1
^2);(a
2
^2); ...; (a
n
^2)]
Nhn * hoc .* c=a*2 c= [(a
1
*2);(a
2
*2); ...; (a
n
*2)]
Chia / hoc .\ c=a/2 c= [(a
1
/2);(a
2
/2); ...; (a
n
/2)]
Chia tri .\ c=a.\2 c= [(2/a
1
);(2/a
2
); ...; (2/a
n
)]
Cng + c=a+2 c= [(a
1
+2);(a
2
+2); ...; (a
n
+2)]
Tr - c=a-2 c= [(a
1
-2);(a
2
-2); ...; (a
n
-2)]
Cc php tnh gia hai vc t :
PHP TNH K HIU V D NGHA
Ly tha .^ c=a.^b c= [(a
1
^b
1
);(a
2
^b
2
); ...; (a
n
^b
n
)]
Tch c hng .* c=a.*b c= [(a
1
*b
1
);(a
2
*b
2
); ...; (a
n
*b
n
)]
Chia phi ./ c=a./b c= [(a
1
/b
1
);(a
2
/b
2
); ...; (a
n
/b
n
)]
Chia tri .\ c=a.\b c= [(a
1
\b
1
);(a
2
\b
2
); ...; (a
n
\b
n
)]
Cng hai vect + c=a+b c= [(a
1
+b
1
);(a
2
+b
2
); ...; (a
n
+b
n
)]
Tr hai vct - c=a-b c= [(a
1
-b
1
);(a
2
-b
2
); ...; (a
n
-b
n
)]
Chuyn v (ct thnh
hng hay ngc li)
' a'
a=[a
1
; a
2
; ...;a
n
] th a'=[a
1
a
2
... a
n
]
a=[a
1
a
2
... a
n
] th a'=[a
1
; a
2
;...;a
n
]
Tch v hng '* c=a'*b c= (a
1
*b
1
)+(a
2
*b
2
)+ ... + (a
n
*b
n
)
Bin Son : NGUYN TH HNG - 20-
Nhn xt:
-Tch ca hai vect ct a.*b cng chiu di n l mt vect ct c phn t th i l
i i
a b
-Tch ca hai vect hng a.*b cng chiu di n l mt vect hng c phn t th i l
i i
a b
-Tch ca vect hng v vi vect ct u c cng chiu di n l s v hng :
n
i 1
i i
v*u v u
=
=

-Tch ca vect ct u vi vect hng v c cng chiu di n l mt ma trn A c phn t


hng i ct j l:
ij i j
a u v = (i, j =1,2,..n)
V d :
>> a=[3;2;5] ; % a l vect ct
>> b=[-1;3;-6] ; % b l vect ct
>> 2*a % hoc a*2
ans=
6
4
10
>> c1=a.*b % chm nhn hai vect ct Kt qu l vc t.
c1 =
-3
6
-30
>> c2=a'.*b' % chm nhn hai vect hng Kt qu l vc t.
c2=
-3 6 -30
>> c3=a'*b % Tch v hng Kt qu l s v hng.
c2 =
-27
>> c4=a*b' % Kt qu l mt ma trn
c4 =
-3 9 -18
-2 6 -12
-5 15 -30
>> c5=a'.* b % php .* ny khng thc hin c, s bo li.
??? Error using ==>.* % li s dng php .*
Matrix dimensions must agree. % kch c hai ma trn phi tng thch.
MATLAB CAN BAN & NG DUNG -21-
- Gc gia 2 vect ct a v b
- Biu din trong ton hc :
T
a .b
arccos
a . b
u =
trong : a
T
l vect chuyn v ca a,
||a|| v ||b|| l chun Euclid ca a v b.
- Biu din trong MATLAB:
>> theta = acos(a'*b/(norm(a).*norm(b))) % tnh gc gia hai vct ct a v b
theta =
2.2729 % radian
- Cc lnh to vc t hng c bit
- C th to mt vct hng tuyn tnh bng cch dng lnh:
linspace(gi tr u, gi tr cui, s phn t)
Nu ta khng nhp s phn t th mc nh l 100 phn t.
V d:
>> x = linspace (0, 20,11)
x =
0 2 4 6 8 10 12 14 16 18 20
- C th to mt vct hng c thang chia logarit bng cch dng lnh:
logspace(gi tr u, gi tr cui, s phn t)
i vi hm logspace, gi tr u v gi tr cui c nhp bi s m thp phn, v d:
thay v nhp 100 (10^2) ta ch cn nhp 2. Nu ta khng nhp s phn t th mc nh l 50
phn t.
V d:
>> w = logspace(1,2,5)
w =
10.0000 17.7828 31.6228 56.2341 100.0000
Bin Son : NGUYN TH HNG - 22-
3.5 MA TRN
Ma trn l mt mng hai chiu m hng n ct, c dng tng qut :
11 12 1
21 22 2
1 2
n
n
m m mn
a a a
a a a
a a a
1
1
1
=
1
1
]
A
L
L
L L L L
L
Ma trn vung c m=n. Ma trn cho l ma trn c cc phn t khng nm trn
ng cho chnh u bng 0. Ma trn n v l ma trn vung c cc phn t ng cho
chnh u bng 1.
Trong MATLAB, ma trn c biu din bng mt dy s trong ngoc vung. Cc
phn t trong mi hng c phn cch nhau bi khong trng hoc du phy (,) . Cc
hng phn cch nhau bi du chm phy (;).
V d 1:
>> A = [1 2 3 ; 4 5 6 ; 7 8 9] . % A l ma trn vung cp 3
Cng c th nhp vo MATLAB theo tng hng :
>> A= [ 1 2 3 .
4 5 6 .
7 8 9 ] .
C hai cch nhp trn u c MATLAB tr v kt qu l :
A =
1 2 3
4 5 6
7 8 9
3.5.1 Cc php tnh s hc trn ma trn
- Cc php tnh cng, tr, nhn, lu tha, chia phi, chia tri gia ma trn v mt s v
hng c th thc hin vi mi ma trn. C php tng t nh vect vi s v hng,
v d: A+2; A-2; A.*2; A.^2; A./2 ; A.\2; Cc php tnh ny s c thc hin cho tng
s hng ca ma trn. y c hai trng hp cn lu l A.*2 = A*2 v A./2 = A/2
- Cc php tnh gia hai ma trn nh cng, tr, chm nhn, chm chia ch thc hin c
vi cc ma trn tng thch (c cng kch thc, cng s hng v s ct). C th l:
- Php tnh A+B hoc A-B thc hin cng hoc tr tng ng tng s hng .
- Php chm nhn A .*B thc hin nhn tng ng tng s hng .
- Php chm chia A./B hoc A.\B thc hin chia phi hoc tri tng ng tng s hng.
- Php nhn A*B c hiu l php nhn ma trn nh trong ton hc, ch thc hin c
vi cc ma trn tng thch (s ct ca A bng s hng ca B).
- Php chia phi A/B tng ng vi trong ton hc l A.B
-1
- Php chia tri A\B tng ng vi trong ton hc l A
-1
.B nhng A\B dng c c khi
ma trn A vung hay khng vung, cn inv(A)*B ch dng c khi A vung.
MATLAB CAN BAN & NG DUNG -23-
- Php lu tha A.^2 (c du chm) thc hin lu tha tng s hng tng ng, c th
thc hin vi ma trn A bt k. Cn php lu tha A^2 tng ng vi A*A , ch c
ngha khi A l ma trn vung.
V d 2: Kim chng cc php tnh trn ma trn
>> syms a11 a12 a21 a22 b11 b12 b21 b22; % khai bo cc bin ch (symbolic)
>> A=[a11 a12; a21 a22] , B=[b11 b12; b21 b22]
A = B=
[ a11, a12] [ b11, b12]
[ a21, a22] [ b21, b22]
>> Tong=A+B
Tong=
[ a11+b11, a12+b12]
[ a21+b21, a22+b22]
>> Hieu=A-5
Hieu=
[ a11-5, a12-5]
[ a21-5, a22-5]
>> C1=A*B % ging php nhn ma trn trong ton hc
C1=
[ a11*b11+a12*b21, a11*b12+a12*b22]
[ a21*b11+a22*b21, a21*b12+a22*b22]
>>C2=A.*B % php chm nhn, thc hin nhn tng phn t tng ng
C2=
[ a11*b11, a12*b12]
[ a21*b21, a22*b22]
>> A./B % php chm chia phi
ans =
[ a11/b11, a12/b12]
[ a21/b21, a22/b22]
>> A.\B % php chm chia tri
ans =
[ b11/a11, b12/a12]
[ b21/a21, b22/a22]
>> D=A\B % php chia tri
D=
[ -(a12*b21-b11*a22)/(a11*a22-a21*a12), -(a12*b22-b12*a22)/(a11*a22-a21*a12)]
[ (-a21*b11+a11*b21)/(a11*a22-a21*a12), (a11*b22-a21*b12)/(a11*a22-a21*a12)]
Bin Son : NGUYN TH HNG - 24-
>> A.^2 % tng ng A.*A , thc hin bnh phng tng s hng
ans =
[ a11^2, a12^2]
[ a21^2, a22^2]
>> A^2 % tng ng A*A , thc hin php nhn ma trn
ans =
[ a11^2+a12*a21, a11*a12+a12*a22]
[ a21*a11+a22*a21, a12*a21+a22^2]
3.5.2 Cc hm tm kch thc, thnh phn ca ma trn :
TN HM CHC NNG
size (A) Tm kch thc ma trn A
size (A,1) Tm s hng ca ma trn A
size (A,2) Tm s ct ca ma trn A
rank(A) Tm s ct hoc s hng c lp tuyn tnh.
Vi ma trn vung s tm cp (hng) ca ma trn.
A(1,:) Tm hng th nht
A(:,2) Tm ct th hai
A(1,2) Tm phn t hng th 1, ct 2
A(1,2)=6 Thay phn t hng th 1 ct 2 bng 6
max(A) To vect hng cha cc phn t ln nht ca mi ct.
min(A) To vect hng cha cc phn t b nht ca mi ct.
sum(A) To vect hng cha tng cc phn t ca mi ct
prod(A) To vect hng cha tch cc phn t ca mi ct
sum(A,2) To vect ct cha tng cc phn t ca mi hng
prod(A,2) To vect ct cha tch cc phn t ca mi hng
numel(A) Tm s (tng s, s lng) phn t ca ma trn A
V d 3: Cho 2 ma trn :
1 2 3 0 2 4
X 4 5 6 ; Y 6 5 1
7 8 9 3 9 7
1 1
1 1
= =
1 1
1 1
] ]
(a) To vect a cha cc phn t hng hai ca ma trn X.
(b) To vect b cha hai phn t cui hng hai ca ma trn X.
(c) To vect c cha cc phn t ct ba ca ma trn Y.
(d) To vect hng d cha cc phn t hng hai ca X v ct ba ca Y.
(e) To vect ct e cha cc phn t hng hai ca X v ct ba ca Y.
(f) Tm phn t ln nht ca ma trn X
Gii. >> X=[1 2 3;4 5 6;7 8 9]; Y=[0 2 4;6 5 1;3 9 7];
>> a= X(2, :)
a= 4 5 6
MATLAB CAN BAN & NG DUNG -25-
>> b= a(2: 3) % b l vect cha 2 phn t cui ca vect a
b= 5 6
>> c= Y(:, 3)
c= 4
1
7
>> d= [X(2, :) , Y(:, 3)']
d= 4 5 6 4 1 7
>> e= [X(2, :)' ; Y(:, 3)] % hoc e=d'
e= 4
5
6
4
1
7
>> f = max(max (X))
f=
9
3.5.2 Cc hm to ma trn :
TN HM CHC NNG
zeros(m,n) To ma trn (m x n) c mi phn t l 0
ones(m,n) To ma trn (m x n) c mi phn t l 1
eye(n) To ma trn n v cp n
A=[] To ma trn rng A
magic(n) To ma trn magic cp n (ma trn c tng ct, tng
hng, tng ng cho bng nhau)
rand(n) Ma trn cp n vi cc phn t ngu nhin t 0 n 1
rand(m,n) Ma trn (m x n), cc phn t ngu nhin t 0 n 1
inv(A) Ma trn nghch o ca ma trn vung A
A' Ma trn chuyn v A
T
ca ma trn A
det(A) Tnh nh thc ca ma trn vung A
eig(A) Tm gi tr ring ca ma trn vung A
poly(A) Tm a thc c trng det(I-A) ca ma trn vung A
diag(A) Ly ng cho chnh ca ma trn A
tril(A) Ly cc phn t t ng cho chnh tr xung
triu(A) Ly cc phn t t ng cho chnh tr ln
fliplr(A) o ngc ct ca ma trn A
flipud(A) o ngc hng ca ma trn A
jordan(A) Chuyn ma trn A v dng chnh tc (ma trn cho)
Bin Son : NGUYN TH HNG - 26-
V d 4.
>> A = [1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B = A' % Tm ma trn chuyn v B = A
T
.
B =
1 4 7
2 5 8
3 6 9
>> C = diag(A) % to vect ct cha cc phn t ng cho chnh ca A
C =
1
5
9
>> D= det(A) % tnh nh thc ca ma trn A
D =
0
>> E = eye(size(A)) %To ma trn n v c cng kch thc vi ma trn A.
E =
1 0 0
0 1 0
0 0 1
>> R=3* rand(2,5) % To ma trn 2x5 cha cc phn t ngu nhin t 0 n 3.
R =
1.7484 1.5465 1.2987 1.7394 1.5895
1.2705 1.0019 0.6778 2.2811 1.9216
V d 5. Tm gi tr ring v vect ring ca ma trn
Nu ma trn A l ma trn vung cp n th c n s tho mn phng trnh Ax = x .
Gi tr gi l gi tr ring v vect ct x gi l vect ring ca ma trn A. Tng ng vi
mi gi tr ring l mt vect ring x.
Lnh lamda=eig(A) : Tnh gi tr ring lamda ca ma trn A
Lnh [X,D]=eig(A) : To hai ma trn X, D. Ma trn cho D cha cc gi tr ring,
cn cc ct ca ma trn X l cc vct ring lm tho mn A*X=X*D.
>>A = magic(3)
A =
8 1 6
3 5 7
4 9 2
MATLAB CAN BAN & NG DUNG -27-
>> lamda=eig(A)
lamda=
15.0000
4.8990
-4.8990
>>[X,D]=eig(A)
X =
-0.5774 -0.8131 -0.3416
-0.5774 0.4714 -0.4714
-0.5774 0.3416 0.8131
D =
15.0000 0 0
0 4.8990 0
0 0 -4.8990
V d 6. Gii h phng trnh i s tuyn tnh cho dng ma trn :
1
2
3
1 3 1 x 3
2 1 4 x 1
4 2 1 x 1
| | |
| | |
=
| | |
| | |

\ . \ . \ .
;
Phng trnh trn c dng A.x = b
1
b
x A .b
A

= =
Thc hin trong MATLAB:
>>A=[1 -3 1 ; 2 1 -4 ; 4 -2 1]
>>b=[3; -1; 1]
>>x=inv(A)* b % cng c th dng php chia tri : >> x=A\b
x =
-0.2821
-1.1538
-0.1795
>> b= A*x % kim tra li b=[3; -1; 1]
V d 7: Gii h phng trnh i s tuyn tnh c s phng trnh = s n
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
2x 2x 3x x 4
4x 3x x 2x 6
8x 5x 3x 4x 12
3x 3x 2x 2x 6
+ + =

+ + =

+ + =

+ + =

Thc hin trong MATLAB :


>>A=[2 2 -3 1; 4 3 -1 2; 8 5 -3 4; 3 3 -2 2] ; % to ma trn cc h s v tri.
>>b=[4;6;12; 6]; % to vect ct cha cc h s v phi.
>>x=inv(A)*b % hay >>x=A\b
Bin Son : NGUYN TH HNG - 28-
x =
0.3333
0.3333
- 0.3333
1.6667
>> b2=A*x % kim tra li => b2=b=[4;6;12; 6]
V d 8: Gii h 4 phng trnh 3 n :
1 2 3
1 2 3
1 2
1 2 3
x 2x 3x 366
4x 5x 6x 804
7x 8x 351
2x 5x 8x 514
+ + =

+ + =

+ =

+ + =

Trng hp gii h phng trnh c s phng trnh khc vi s n cn tm


(khng phi h Cramer) th ma trn A khng vung nn khng dng c hm inv(A). Bt
buc phi dng php chia tri x=A\b .
>> A=[1 2 3;4 5 6; 7 8 0; 2 5 8]
A =
1 2 3
4 5 6
7 8 0
2 5 8
>> b = [366; 804;351; 514] ;
>> x=A\b
x =
247.9818
-173.1091
114.9273
MATLAB CAN BAN & NG DUNG -29-
3.6 A THC
Cho a thc bc n :
n n 1
n n 1 1 0
p a x a x a x a

= + + + + L
Trong MATLAB, a thc c biu din nh mt vect hng vi cc phn t l cc
h s ca a thc sp theo th t gim dn t bc cao nht n bc 0 .
Nhn xt: a thc bc n tng ng vi vct hng c (n+1) phn t.
>> j
n n 1 1 0
p a a ... a a

=
V d, nhp a thc: p = x
4
+ 3x
3
x
2
5x + 1
>> p = [1 3 -1 -5 1] .
p = 1 3 -1 -5 1
Cc php tnh vi a thc:
HM NGHA
conv(p1,p2) Nhn hai a thc
[k,d]=deconv (p1,p2) Chia hai a thc ( k= kt qu; d =phn d)
roots(p) Tm nghim ca a thc p
p=poly(x) Lp a thc p t vect x cha cc nghim.
polyder(p) Tnh o hm ca a thc p
polyint(p) Tnh tch phn ca a thc p, hng s tch phn C=0
polyint(p,3) Tnh tch phn ca a thc p, hng s tch phn C=3
polyval(p,x) Tnh gi tr ca a thc ti x (x c th l s,vect,..)
[r,p,k]= residue(num,den) Tm cc thnh phn ti gin ca phn thc
[num,den]=residue(r,p,k) Chuyn cc thnh phn ti gin thnh 1 phn thc
printsys(num,den,'s') in phn thc c dng t s 2 a thc theo s
[z,p,k]=tf2zp(num,den) Tm cc zero z, cc p, li k ca phn thc
V d 1:
>> p = [1 6 11 6] ; %
3 2
p x 6x 11x 6 = + + +
>> x=roots(p) % tm cc nghim ca p
x =
-3.0000
-2.0000
-1.0000
>> p= poly(x) % To li a thc p t vect nghim x
p =
1 6 11 6
>> q=[1 -2] % q=x-2
>> w =conv(p,q) %
3 2
w (x 6x 11x 6)(x 2) = + + +
w =
1 4 -1 -16 -12 %
4 3 2
w x 4x x 16x 12 = +
Bin Son : NGUYN TH HNG - 30-
>>Dp= polyder(p) %
2
Dp 3x 12x 11 = + +
Dp=
3 12 11
>> Ip=polyint(p) %
4 3 2
Ip (1/ 4)x 2x (11/ 2)x 6x C = + + + + vi C=0
Ip=
0.2500 2.0000 5.5000 6.0000 0
Hai a thc cng bc c th cng tr theo php cng tr thng thng. MATLAB
khng c hm cng tr cc a thc khc bc. Trng hp ny ta c th to chng trnh
ring dng hoc p dng cch n gin sau y :
V d cn cng hai a thc
p = x
4
+ 3x
3
x
2
5x + 1
q =x+2
Ta nhp vo MATLAB:
>> p=[1 3 -1 -5 1];
>> q=[0 0 0 1 2]; tong = p + q % hoc >> q= [1 2] ; tong = p + [0 0 0 q]
tong =
1 3 -1 -4 3
V d 2: Tm cc thnh phn ti gin ca phn thc
2
2s 1
G(s)
(s 2)(s 5s 4)
+
=
+ + +
>>num= [2 1];
>>den= conv( [1 2],[1 5 4] ) ;
>>[r,p,k]=residue(num,den)
Kt qu:
r =
-1.1667
1.5000
-0.3333
p =
-4.0000
-2.0000
-1.0000
k =
[]
Trng hp ny G(s) ch c cc cc ring bit p(1), p(2), p(3).
(ni cch khc l mu s ca G(s) ch c nghim n )
Do c th phn tch :
r(1) r(2) r(n) 1.1667 1.5 0.3333
G(s) ... k(s)
s p(1) s p(2) s p(n) s 4 s 2 s 1

= + + + + = + +
+ + +
trong k(s) l a thc theo s, tng ng vi vect k.
V d: k=[1;3] th k(s)= s+3 ; k=3 th k(s)=3 ; k=[] th k(s)=0 .
MATLAB CAN BAN & NG DUNG -31-
V d 3: cho nh Laplace
3 2
2
2s s 3s 5
Y(s)
s(s 1)
+ + +
=
+
Hy phn tch Y(s) thnh tng cc thnh phn ti gin.
>> num=[2 1 3 5];
>>den=conv([1 0],conv([1 1],[1 1]));
>> printsys(num,den,'s')
num/den =
2 s^3 + s^2 + 3 s + 5
------------------------
s^3 + 2 s^2 + s
>> [r,p,k]=residue(num,den)
r =
-8
-1
5
p =
-1
-1
0
k =
2
Trng hp ny Y(s) c cc bi p(1) = p(2) = -1
(ni cch khc l mu s ca Y(s) c nghim bi p(1) = p(2) = -1 )
Do Y(s) c th phn tch thnh tng :
2 2
r(1) r(2) r(3) 8 1 5
Y(s) k 2
s p(1) s p(3) (s 1) s [s p(1)] (s 1)

= + + + = + + +
+ +
V d 4: Biu din phn thc sau di dng zero - cc (zero-pole-gain):
2
4 3 2
4s 16s 12
G(s)
s 12s 44s 48s
+ +
=
+ + +
>> num=[4 16 12]
>> den=[1 12 44 48 0]
>> [z,p,k]=tf2zp(num,den)
z =
-3
-1
p =
0
-6.0000
-4.0000
-2.0000
k =
4
Do :
1 2
1 2 3
K(s z )(s z ) 4(s 3)(s 1)
G(s)
(s p )(s p )(s p ) (s 6)(s 4)(s 2)
+ +
= =
+ + +
Bin Son : NGUYN TH HNG - 32-
CHNG 4
LNH IU KIN V VNG LP
4.1 Biu thc logic
Biu thc logic thng c s dng biu din iu kin trong cc cu lnh iu
kin (lnh r nhnh) hay trong cc vng lp. Cc biu thc logic trong MATLAB c
thnh lp trn c s cc ton t quan h v ton t logic. Ton t quan h l cc k hiu th
hin s so snh, ton t logic l cc k hiu dng lin kt cc biu thc logic.
TON T QUAN H NGHA
< nh hn
<= nh hn hoc bng
> ln hn
>= ln hn hoc bng
== bng
~= khc
TON T LOGIC NGHA
& v
| hoc
~ khng
Biu thc logic cho kt qu chn tr l ng (true) hoc sai (false). Trong
MATLAB, biu thc ng s c gi tr l 1, biu thc sai c gi tr l 0.
V d:
12.5>12 l biu thc logic, c gi tr l 1.
6~=6 l biu thc logic, c gi tr l 0.
b==6 c gi tr l 1 nu b=6, c gi tr l 0 nu b khc 6.
(12.5>12)& (5>6) c gi tr l 0.
MATLAB cng cung cp cc hm c chc nng kim tra, so snh v tr v kt qu
logic l 1 (true) hoc 0 (false). Cc hm thng dng nht l:
HM NGHA
ischar(s) True nu s l chui k t
isstr(s) True nu s l chui k t
isnumeric(x) True nu x l s (con s, mng s,...)
isempty(x) True nu x (chui, mng, ma trn,...) l rng
strcmp(s1,s2) True nu 2 chui s1, s2 ging nhau
isglobal(x) True nu x l bin ton cc
MATLAB CAN BAN & NG DUNG -33-
4.2 Cc cu lnh iu kin
1) Cu trc if end
if <iu kin>
Khi cc lnh thc hin nu iu kin l ng
end
2) Cu trc if else end
if <iu kin>
Khi cc lnh thc hin nu iu kin l ng
else
Khi cc lnh thc hin nu iu kin l sai
end
3) Cu trc if elseif else end
if <iu kin 1>
Khi cc lnh thc hin nu iu kin 1 ng
elseif <iu kin 2>
Khi cc lnh thc hin nu iu kin 2 ng
elseif <iu kin 3>
Khi cc lnh thc hin nu iu kin 3 ng
else
Khi cc lnh thc hin nu khng c iu kin no ng
end
V d : Vit chng trnh yu cu ngi dng nhp vo t bn phm im s ca
mt hc sinh. Nu im s t 1 n 4 th xut ra dng nhn "loi yu", nu im s l 5
hoc 6 th xut ra dng nhn "loi trung bnh", nu im s l 7 hoc 8 th xut dng nhn
"loi kh", nu im s l 9 hoc 10 th xut dng nhn "loi gii". Nu im s nm ngoi
phm vi t 1 n 10 th xut dng nhn "S liu khng hp l".
diem= input('Nhap diem so: ');
if (diem>=1)&(diem<=4)
disp('loai yeu')
elseif (diem==5)|(diem==6)
disp('loai trung binh')
elseif (diem==7)|(diem==8)
disp('loai kha')
elseif (diem==9)|(diem==10)
disp('loai gioi')
else
disp('So lieu khong hop le')
end
Bin Son : NGUYN TH HNG - 34-
4) Cu trc switch-case
switch <iu kin>
case gi tr th 1
khi lnh 1
case {gi tr th 2, gi tr th 3,...}
khi lnh 2
otherwise
khi lnh 3
end
iu kin trong cu trc switch-case phi c gi tr dng s nguyn hoc dng
chui. lnh case s so snh gi tr ca iu kin vi cc gi tr th thc hin khi lnh
tng ng. Nu khng c gi tr th no ph hp th thc hin khi lnh 3.
V d:
diem=input('Nhap diem so: ');
switch (diem)
case {1,2,3,4}
disp('loai yeu')
case {5,6}
disp('trung binh')
case {7,8}
disp('loai kha')
case {9,10}
disp('loai gioi')
otherwise
disp('So lieu khong hop le')
end
4.3 Vng lp
4.3.1 Vng lp for
for i= i1: Ai : i2 % hoc i=i1:i2 nu Ai = 1
Khi cc lnh
end
V d 1:
disp('chng trnh tnh tng giai tha 1!+2! +3!+...+n!')
n = input ('Nhap gia tri n:');
if n==0, tong=1;
else
tong=0; % gia tri khoi dau
for k=1:n
tong= tong+prod(1:k);
end
end
disp(['Tong can tim la:',num2str(tong)]);
MATLAB CAN BAN & NG DUNG -35-
V d 2:
% chng trnh gii tm nghim a thc bc n
% Cc h s nhp theo dng vct hng. V d: [2 5 3 1]
p = input ('Nhap vecto chua cac he so cua da thuc:');
x = roots(p)
disp(['Da thuc bac ',num2str(length(x)),', co cac nghiem la:'])
for i=1:length(x)
disp(['Nghiem thu ',num2str(i),'= ',num2str(x(i))])
end
V d 3:
% chng trnh in ra v tnh tng n s chn u tin
% S=2+4+...+2*n bng vng lp for
n=input('nhap gia tri n: ');
S=0;
for i=1:n
S=S+2*i;
fprintf('%2d la so chan thu:%3d\n',2*i,i)
end
fprintf('Tong %2d so chan dau tien la:%3d\n',n,S)
4.3.2 Vng lp while
while <iu kin>
Khi cc cu lnh thc hin nu iu kin cn ng
end
Khc vi vng lp for, s ln lp ca vng lp while khng c xc nh.
Ta xt v d tnh tng n s chn phn trn bng vng lp while (thay v for) :
% chng trnh in ra v tnh tng n s chn u tin
% S=2+4+...+2*n bng vng lp while
n = input ('Nhap gia tri n: ');
while n<=0,
disp('Dieu kien: n>0'),
n = input ('Nhap lai gia tri n: ');
end
S=0;i=1;
while i<=n
S=S+2*i;
fprintf('%3d la so chan thu:%3d\n',2*i,i)
i=i+1;
end
disp(['Tong can tim la: ',num2str(S)]);
Ghi ch : Vic kim tra iu kin nhp n>0 cng c thc hin bng vng lp while
c th lp v hn ln. Nu kim tra bng cu trc if end th ch lp c 1 ln.
Bin Son : NGUYN TH HNG - 36-
4.4 Cc lnh to s gin on
- Lnh continue
Trong vng lp for hay while, khi gi continue ngay lp tc chu trnh tnh s
ngng bc lp hin ti v chuyn sang bc lp k tip, mi lnh cha c thc
hin ca bc lp hin ti s b b qua.
- Lnh break
Lnh break cng dng trong vng lp for hay while, n lm ngng vng lp
ang tnh (c bc lp hin ti v cc bc lp cn li u b b qua).
V d: Vit on chng trnh tm v in ra mn hnh cc s nguyn t b hn 100.
clear, clc
disp('================================================')
disp('Chuong trinh tim va in ra cac so nguyen to < 100')
fprintf('%3d la so nguyen to thu:%3d\n',2,1)
count=1; % bien dung de dem so thu tu
for m= 3:1:100
for k=2:1:m-1
if rem(m,k)==0, break, end
end
if k == m-1,
count=count+1;
fprintf('%3d la so nguyen to thu:%3d\n',m,count)
end
end
- Lnh return
Thng thng, vic thi hnh mt M-file s kt thc ti dng lnh cui cng
ca file . Lnh return c tc dng kt thc sm mt hm hay M-file, b qua mi
dng lnh cn li ca hm hay M-file .
V d: Chng trnh kim tra tnh n nh ca h thng iu khin
A=input('nhap vecto cac he so cua pt dac tinh: ')
r=roots(A) % tm nghim pt c tnh
for i=1:length(r)
if real(r(i))>=0
disp ('He thong khong on dinh')
return % khong dung break
end
end
disp ('He thong on dinh')
Lu : Bn c th th thay return bng break kim tra xem ti sao trong v d
ny, return l la chn tt nht.
- Hm error
Hm error s hin th mt chui ln ca s lnh v dng thc hin hm, tr
iu khin v cho ca s lnh v bn phm. Hm ny rt hu dng cnh bo vic
s dng hm khng ng mc ch.
error('dng nhn') : kt thc thc thi lnh v hin th dng nhn trn mn hnh.
errordlg('dng nhn') : kt thc thc thi lnh v hin th hp thoi cha dng nhn.
MATLAB CAN BAN & NG DUNG -37-
CHNG 5
HO VI MATLAB
Phn I. HA 2D
5.1 V TH BNG HM PLOT
Hm plot v th 2D da trn hai mng d liu s do ngi dng to trc. Nu
dng hm plot v th hm s th s im d liu cng nhiu, hnh v cng ng vi
th hm s lin tc (ng cong trn v lin tc).
5.1.1. V cn bn
Lnh plot(x,y) : v th y theo x.
V d: V th cc hm sau:
y1= x
2
+3x + 5 trong khong [0,10]
y2= sin(x) trong khong [0,3t]
Thc hin trong MATLAB:
>> x=[0: 0.01: 10]; % to mng x c gi tr t 0 n 10 vi gia s 0,01
>> y1=x.^2+3*x+5; % to mng y (= tnh cc gi tr tng ng ca y)
>> plot(x,y1) % v th y1 theo x
>> x=[0: 0.01: 3*pi];
>> y2=sin(x);
>> plot(x,y2)
5.1.2. V c khai bo mu, kiu nt v nh du im d liu
C php lnh: plot(x,y,S)
trong tham s S l chui k t tu chn khai bo mu v, kiu nt v/
hoc k hiu nh du ti cc im d liu. Nu khng dng tham s S th mc nh
l mu xanh dng (blue), nt lin (solid), khng c k hiu nh du.
a) Mu (color)
b = blue m = magenta
g = green y = yellow
r = red k = black
c = cyan w = white
b) Kiu nt (linestyle) v k hiu nh du (marker)
Linestyle Marker
- solid x x-mark v triangle (down)
: dotted + plus ^ triangle (up)
-. dashdot * star < triangle (left)
-- dashed s square > triangle (right)
. point o circle p pentagram
d diamond h hexagram
Bin Son : NGUYN TH HNG - 38-
V d: V th hm s
y1 =
2t 3t
1 3e 2e

+ trong khong [0,10], chn mu blue, nt lin
t
y2 1 2e sin(2t / 6)

= + t trong khong [0,6], chn mu , nt gch chm


>> t =[0: 0.01:10];
>> y1=1-3*exp(-2*t)+2*exp(-3*t);
>> plot(t,y1) % mc nh l mu blue, nt lin
>> t =[0: 0.01:6];
>> y2= 1+2*exp(-t).*sin(2*t-pi/6);
>> plot(t,y2,'r -.') % mu , nt gch chm.
5.1.3. Cc lnh tin tch
1. title('tn th') % to tiu th
2. xlabel('nhn trc x') % to nhn cho trc x
3. ylabel('nhn trc y') % to nhn cho trc y
4. text(x,y,'nhn') % to nhn ti v tr c to (x,y)
5. grid hoc grid on % hin cc li to .
6. hold hoc hold on % gi nguyn th v tip trn cng h trc to .
7. legend('chthch1', 'chthch2',...) % to ch thch khi v nhiu th .
V d :
>> x=[0:0.1:2*pi];
>> y1=sin(x);
>> plot(x,y1,'k');
>> hold on
>> y2=cos(x);
>> plot(x,y2,'b--');
>> title('Do thi sin(x) va cos(x)')
>> xlabel('truc x')
>> ylabel('truc y')
>> legend('sin(x)','cos(x)')
>> grid
v hai hay nhiu th trn cng mt h trc to ta c th dng lnh hold on
nh trn hoc dng lnh plot vi c php tng qut :
plot(x1,y1,S1,x2,y2,S2,)
trong x1,y1,S1 ng vi th th nht; x2,y2,S2 ng vi th th hai,
v d trn, thay v dng lnh hold on ta c th v kt hp hai th y1 v y2 bng
mt lnh plot duy nht nh sau:
>> plot(x,y1,'k',x,y2,'b--')
1 2 3 4
5
6 7
-1
0
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Do thi sin(x) va cos(x)
truc x
t
r
u
c

y
sin(x)
cos(x)
MATLAB CAN BAN & NG DUNG -39-
5.2 H TRC TO (axis), CA S V (figure), TH CON (subplot)
Lnh axis l cng c dng qun l hnh dng v thang chia ca c hai trc ng
v ngang. Lnh ny c nhiu tu chn, bit mt cch y v n, bn c th g lnh
help axis hay doc axis. Mt s cch thng dng ca lnh axis l:
LNH NGHA
axis([xmin xmax ymin ymax])
Thit lp cc gi tr min, max ca h trc 2D
axis([xmin,xmax,ymin,ymax])
axis([xmi xma ymi yma zmi zma]) Thit lp cc gi tr min, max ca h trc 3D
axis square Ly di hai trc bng nhau (to vng bao
vung, so vi mc nh l ch nht)
axis equal Ly thang chia ging nhau cho c hai trc
axis off Tt b ch nn trc, nhn, li,...
axis on Ngc li vi axis off
Nu mun v nhiu th trn cc figure (ca s v) khc nhau, ta to figure mi
bng lnh figure hoc chn menu file > new > figure trong ca s figure ang v. Mi i
tng ha to mi nh figure, axis, line,... c MATLAB t ng gn cho mt s
hiu qun l, gi l handle. Trng hp tng qut th gi tr handle l mt s thc.
Ring i vi figure th mi figure to mi s c gn vi handle l mt s nguyn
dng, v d: 1, 2, 3,.... Bn c th chuyn qua li gia cc figure ang c bng cch dng
chut chn hoc dng lnh figure(H) trong H l s hiu ca figure.
Cc lnh tm handle thng dng l gcf (Get handlle to current figure tm handle
ca figure hin hnh), gca ( Get handle to current axis tm handle ca h trc hin hnh),
findobj(gcf, 'Type','Line') (tm handle ca cc ng th trong figure hin hnh).
Mt khc, mt ca s figure c th cha nhiu hn mt h trc. Lnh
subplot(m,n,p) chia figure thnh mt ma trn (m x n) vng ho con gi l subplot, v
chn p l subplot hin hnh. Cc subplot c nh s ln lt t tri qua phi, t trn
xung di.
V d:
x= linspace(0,2*pi,30); % to mng x t 0 n 2*pi c 30 phn t
y= sin(x); z= cos(x);
u= 2*sin(x).*cos(x); v= tan(x);
figure % m mi mt ca s figure trng.
subplot(2,2,1) % to 4 subplot v chn subplot 1 gc trn tri .
plot(x,y), axis([0 2*pi -1 1]), title('sin(x)')
subplot(2,2,2) % chn subplot 2 gc trn phi .
plot(x,z), axis([0 2*pi -1 1]), title('cos(x)')
subplot(2,2,3) % chn subplot 3 gc dui tri .
plot(x,u), axis([0 2*pi -1 1]), title('2sin(x)cox(x)')
subplot(2,2,4) % chn subplot 4 gc di phi .
plot(x,v), axis([0 2*pi -1 1]), title('tan(x)')
Bin Son : NGUYN TH HNG - 40-
Kt qu :
5.3 V TH BNG HMEZPLOT
Hm ezplot dng v th ca hm s cho bi biu thc ch.
LNH NGHA
ezplot(y) V th hm y=f(x) , mc nh l x e [-2t,2t]
ezplot(y, [a,b]) V th hm y=f(x) trong khong x e [a,b]
ezplot(f) V th f(x,y) = 0 , mc nh l x v y e [-2t, 2t]
ezplot(f, [a,b]) V th f(x,y) = 0 vi x v y e [a,b]
ezplot(f,
[xmin,xmax,ymin,ymax])
V th f(x,y) = 0
vi x e [xmin,xmax] ; y e [ymin,ymax]
ezplot(x,y) V th hm tham s x=x(t); y=y(t) vi t e[-2t, 2t]
ezplot(x,y, [tmin,tmax]) v th x=x(t); y=y(t) vi t e[tmin, tmax]
Hm s cn v c th nhp theo nhiu cch. Hai cch thng dng l:
Cch 1. Nhp biu thc hm trong cp du nhy ' '
Cch 2. Khai bo bin bng hm syms ; sau nhp biu thc hm
V d, hm y=2sinxcosx c th nhp bng mt trong hai cch:
Cch 1: >> y= '2*sin(x)*cos(x)'
Cch 2: >> syms x ; y=2*sin(x)*cos(x)
MATLAB CAN BAN & NG DUNG -41-
Khi v bng hm ezplot th tiu th s c to t ng (khng cn dng lnh
title). Sau khi v bn cng c th dng cc lnh tin ch hold, grid, legend, axis,tng t
th ca hm plot. Cc tu chn v mu, kiu nt v marker khng c trong c php ca
lnh ezplot do nu mun thit t theo ring, bn phi iu chnh thng qua handle v
lnh set nh sau:
Cch 1:
h=ezplot(y) % v v lu handle ca ng th vo bin h
set(h, 'Color','mu','Linestyle','kiunt',) %thit t li mu, kiu nt,
Cch 2: (MATLAB 6.x ch dng c cch ny)
ezplot(y) %v th
h= findobj(gcf,'Type','Line') % tm handle ca ng th
set(h, 'Color','mu','Linestyle','kiunt',) %thit t li mu, kiu nt,
Cng c th kt hp hai lnh trn thnh mt lnh :
set(findobj(gcf,'Type','Line'),'Color','mu','Linestyle','kiunt',)
V d: >> set(findobj(gcf,'Type','Line'),'Color','r','Linestyle','--')
>> set(findobj(gcf,'Type','Line'),'Color','k','Marker','*')
1) V th hm y=y(x) hay y=y(t) trong khong mc nh
V d: V th hm s
2
x 1
y
x 3x 3
+
=
+
% nhp hm theo cch 1
>> y= '(x+1)/(x^2+3*x-3)'
>> ezplot(y)
>> grid
Khong mc nh m Matlab
t chn l x e [-2t, 2t]
2) V th hm y=y(x) hay y=y(t) trong khong ty chn
V d:
V th hm s
2t 3t
y 1 3e 2e

= +
trong khong t e [0, 10]
% nhp hm theo cch 2
>> syms t
>> y=1- 3*exp(-2*t) +2*exp(-3*t)
>> ezplot(y,[0,10])
>> axis([0,10, 0, 1.05])
>> grid
Bin Son : NGUYN TH HNG - 42-
V th hm s
t
y 1 2e sin(2t / 6)

= + t
trong khong t e [0, 6]
% nhp hm theo cch 1
>> y= '1+2*exp(-t)*sin(2*t-pi/6)'
>> ezplot(y,[0,6])
>> axis([0,6,0,2]); grid
3) V th hm f(x,y)=0 trong khong mc nh
V d: V th hm s
2 2
x y 1 + =
>> f= 'x
^
2+ y
^
2 - 1'
>> ezplot(f)
>> axis square ; grid
Khong mc nh m Matlab
t chn l xe [-2t, 2t] , y e [-2t, 2t]
4) V th hm f(x,y)=0 trong khong ty chn
V d: V th hm s :
2 2
x y 1 + =
Vi x e [0,1], ye [0,1]
>> f= 'x^2 + y^2 -1'
>> ezplot(f,[0,1,0,1])
>> axis square ; grid
5) V th hm x=x(t); y=y(t) trong khong mc nh t [-2, 2]
V d: V th hm s
x 2cos t
y 2sin t
=

>> x= '2*cos(t)';
>> y= '2*sin(t)';
>> ezplot(x,y) ; grid
Matlab mc nh l t e[-2t, 2t]
MATLAB CAN BAN & NG DUNG -43-
6) V th hm x=x(t); y=y(t) trong khong ty chn ca t
V d: V th hm s
x 9cos t cos9t
y 9sin t sin9t
=

t tr ro on ng g k kh ho o n ng g t te [0,2t]
>> syms t % cch nhp 2
>> x = 9*cos(t) - cos(9*t) ;
>> y = 9*sin(t) - sin(9*t) ;
>> ezplot(x,y,[0,2*pi])
>> grid
5.4 MT S HM V 2D KHC :
- Hm loglog tng t nh plot ngoi tr thang chia l logarit cho c hai trc
x, y.
- Hm semilogx tng t nh plot ngoi tr thang chia ca trc x l logarit
cn thang chia ca trc y l tuyn tnh
- Hm semilogy tng t nh plot ngoi tr thang chia ca trc y l logarit
cn thang chia ca trc x l tuyn tnh
- Hm area(x,y) tng t nh plot(x,y) nhng c t mu phn din tch gii
hn bi ng cong y, cc ng thng x=xmin, x=xmax v trc honh.
- Hm plotyy v hai th khc nhau trn cng mt h trc nhng dng 2 trc
y, 2 trc ny c th dng thang chia khc nhau.
- Hm pie(a,b) v s hnh bnh pie, vi a l mt vect gi tr v b l mt
vect logic tu chn.
- Hm pareto(y) v biu paretogram, vi y l vect gi tr.
- Hm hist (y,x) v biu phn b d liu histogram.
- Cc hm bar, barh, stairs, stem to th dng bar (dng thanh ng hoc
ngang), stair (dng bc thang), stem (dng hnh que)
- Hm rose(v) v th trong h to cc cho cc gc trong vect v. Cc
hm rose(v,n) v rose(v,x) trong x l mt vect c chc nng tng t .
- Hm polar(theta,rho) v th trong h to cc da trn hai mng d
liu l vect gc quay theta v vect bn knh rho.
Bin Son : NGUYN TH HNG - 44-
Phn II. HO 3D
5.6 TH NG 3D
Hm plot3 v ezplot3 l cc phin bn 3D ca plot v ezplot
plot3(x,y,z,S) trong x, y, z l cc vct, S l chui k t tu chn dng cho vic
khai bo mu, kiu nt v marker.
ezplot3(x,y,z,[tmin,tmax]) v th hm f(x,y,z) vi x=x(t),y=y(t), z=z(t) trong
khong t e [tmin,tmax].
V d:
>>t=linspace (0,6*pi)
>>plot3(sin(t),cos(t),t)
>>title('Helix'), xlabel('sin(t)')
>>ylabel('cos(t)'), zlabel('t')
>>grid
ng xon c 3D ny cng c th
v bng hm ezplot3 nh sau:
>> x='sin(t)' ; y='cos(t)' ; z='t' ; ezplot3(x,y,z,[0, 6*pi])
hoc:
>> ezplot3('sin(t)','cos(t)','t',[0, 6*pi])
5.7 TH LI V B MT 3D
Hm mesh(X,Y,Z), vi X,Y,Z l cc ma trn, v Z theo X v Y. N sp xp gi tr
cc phn t ma trn vo cc im (X,Y,Z) trong khng gian 3D v to nn mt mt cong c
dng li.
V d 1: V th hm z=sinr/r vi
2 2
r x y = +
>>[X,Y]= meshgrid(-8: 0.5:8);
% To li d liu X,Y. meshgrid to nn ma trn X gm cc hng ging nhau,
% ma trn Y gm cc ct ging nhau. Y l ma trn chuyn v ca X.
>>R=sqrt(X.^2+Y.^2)+eps;
>>Z=sin(R)./R; % tnh ma trn Z
>>mesh(X,Y,Z)
MATLAB CAN BAN & NG DUNG -45-
th b mt ca cng mt
ma trn Z trng ging nh th
li trc , ch khc l khng
gian gia cc ng li c
in y bng mu. th loi ny
c v bng hm surf, n c tt
c cc i s nh hm mesh.
>> surf(X,Y,Z)
Trong MATLAB c mt s hm d liu 3D c xy dng sn nh hm sphere
(hnh cu), hm cylinder ( hnh tr), hm ellipsoid (hnh ellip), hm peaks, bit chi
tit v cc hm ny bn g help tnhm.
V d 2:
>> [X,Y,Z]= sphere(20); % to li d liu ca hnh cu ( 3 ma trn X,Y,Z cp 21)
>> surf(X,Y,Z) % v th b mt qu cu
>>axis equal
>>title('Surf plot of sphere function' ) % to tiu th
V d 3:
>>mesh (peaks)
>>title('Mesh plot of peaks function' )
% th ca hm peaks c ng vin, th hin r nng hoc cao ca hnh.
Bin Son : NGUYN TH HNG - 46-
Thao tc vi th:
Cc thao tc vi th c th iu khin bng chut thng qua menu v toolbar
trong ca s figure hoc bng cch nhp lnh. Mt s lnh thao tc thng dng l:
- Hm view cho php khai bo gc t quan st c th trong khng gian ba
chiu. Hm view thng dng dng view(AZ,EL) hoc view([X,Y,Z]). tm hiu
chi tit, bn g help view.
view(3) l gc quan st 3D mc nh, tng ng vi AZ=-37.5 v EL=30.
view(2) l gc quan st 2D mc nh, tng ng vi AZ=0 v EL=90.
- Lnh rotate3d on cho php iu khin gc quan st bng chut, rotate3d off khng
cho php.
- Lnh hidden du cc nt khut, hidden off c tc dng ngc li.
- Lnh box on to khung bao cho h trc 3D.
c im mt s hm v 3D khc:
- Hm ribbon (x,y) tng t nh hm plot(x,y) ngoi tr ct ca y c v nh mt di
ring bit trong khng gian 3D.
- Hm contourf s v mt th ng vin kn, khng gian gia cc ng vin c
lp y bng mu.
- Hm clabel tng thm cao cho th ng vin.
- Hm fill3 v mt a gic u trong khng gian 3 chiu. C php tng qut ca n l
fill3(x,y,z,c), trong chiu ng ca a gic c xc nh bi 3 thnh phn x, y, z.
Nhiu a gic c th to ra bng cch cho thm nhiu i s nh
fill3(x1,y1,z1,c1,x2,y2,z2,c2,...).
- Hm bar3 v bar3h l phin bn 3D ca bar v barh.
- Hm pie3 l phin bn 3D ca pie
- Hm ezmesh, ezmeshc, ezsurf, ezsurfc, ezcontour, ezcontourf, ezpolar v cc dng
th 3D cho cc hm s khai bo bng biu thc ch.
V d 4: V th 3D v hiu chnh mu sc, gc quan st, t l th,...
Bc 1: Nhp hm cn v, v d :
>>Z= peaks(20);
Bc 2: M ca s ho figure
>>figure(1)
Bc 3: V th vi handle h
>>h=surf(Z)
Bc 4: Thit lp mu sc, sng
>>colormap hot % chn bng mu
>>shading interp % kiu bng
>>set(h, 'EdgeColor','k') % chn mu cc mt li l k=black
>>light('Position',[-2,2,20]) % v tr ngun sng
>>set(h,'FaceColor',[0.7 0.7 0], 'backFaceLighting','lit')
MATLAB CAN BAN & NG DUNG -47-
Bc 5: Chn gc quan st
>>view([40,30])
>>view(3)
Bc 6: Hiu chnh h trc ta
>> axis([5 15 5 15 -8 8])
>>set(gca,'ZTickLabel', ' NegativePosition')
Bc 7: Chn t l
>>set(gca,'PlotBoxAspectRatio', [2.5 2.5 1])
Bc 8: To nhn
>>xlabel('X Axis')
>>ylabel('Y Axis')
>>zlabel('Z Funcyion Value')
>>title('Peaks')
V d 5: V hnh cu v so snh cc kiu bng (Shading)
figure(2)
subplot(1,3,1)
sphere(16)
axis square
shading flat
title('Flat Shading')
%----------------------
subplot(1,3,2)
sphere(16)
axis square
shading faceted
title('Faceted Shading')
%----------------------
subplot(1,3,3)
sphere(16)
axis square
shading interp
title('Interpolated Shading')
Bin Son : NGUYN TH HNG - 48-
CHNG 6
BIU THC CH
6.1 KHI NIM BIU THC CH (SYMBOLIC EXPRESSION)
V d: Cho hm s
2
y x 12x 4 = + +
Tnh o hm
dy
dx
, tnh gii hn ca y khi x 0
Gii:
dy
2x 12
dx
= +
2
x 0
lim(x 12x 4) 4

+ + =
Hm y c cho dng trn gi l hm ch, v phi ca y c gi l biu thc ch,
cc php tnh o hm hay gii hn nh trn l nhng php tnh trn biu thc ch.
6.2 TNH TON TRN BIU THC CH
Nguyn tc chung trong tnh ton biu thc ch qua 3 bc sau:
B1- Khai bo bin ch.
B2- Nhp hm ch
B3- Dng cc hm chun x l cc hm ch.
Khai bo bin ch :
C hai cch khai bo bin :
+ Dng hm syms khai bo mt hoc nhiu bin ch cng lc :
syms bin_1 bin_2 . . . bin_n
+ Dng hm sym khai bo tng bin :
tnbin =sym('tnbin')
Nhp hm ch :
C hai cch nhp:
+ Cch 1: nhp sau cc khai bo syms hoc sym.
+ Cch 2: nhp ng thi vi khai bo sym:
>> tnhm = sym('biu thc ch')
V d, nhp hm
2
y x 12x 4 = + +
Cch 1:
>>syms x % hoc >> x = sym('x')
>>y = x^2+12*x+4
Cch 2:
>>y = sym('x^2+12*x+4')
MATLAB CAN BAN & NG DUNG -49-
Cc hm x l hm ch : cha trong th mc toolbox\symbolic
Mt s hm gii tch thng dng:
TN HM CHC NNG
diff Tnh o hm
int Tnh tch phn
limit Tnh gii hn
fminbnd Tm gi tr cc tiu ca hm s
dsolve Gii [h] phng trnh vi phn
solve Gii [h] phng trnh dng a thc
numden Xc nh t s v mu s ca hm hu t
poly2sym To a thc t vct hng cha cc h s
sym2poly Tm vct hng cha cc h s ca a thc
symsum(f,a,b) Tnh tng ca hm f i t a n b
finverse Tm hm ngc
taylor Khai trin chui Taylor
eval X l biu thc ch nh mt cu lnh MATLAB
ezplot V th mt biu thc ch v in nhn, tiu
Cc php bin i :
TN HM CHC NNG
laplace Bin i Laplace
ilaplace Bin i Laplace ngc
fourier Bin i Fourier
ifourier Bin i Fourier ngc
ztrans Bin i Z
iztrans Bin i Z ngc
nh dng v n gin ho cc biu thc :
TN HM CHC NNG
collect Rt gn biu thc, gom cc s hng theo nhm
expand Khai trin biu thc
factor t tha s chung, a a thc v dng tch cc tha s
pretty Hin th biu thc theo cch vit trong ton hc
simple Ti gin ho biu thc
simplify n gin biu thc
V d 1: Cho hm s y = x
2
+2x+3
a/ Tm o hm bc 1 v bc 2 ca y
Bin Son : NGUYN TH HNG - 50-
b/ Tm gii hn ca t s y/x khi x
c/ Tnh tch phn hm y trong khong [1 , 3]
d/ Tm nghim ca phng trnh y = 0
e/ Tm cc tiu ca hm y trong khong (-4, +4)
Gii:
>> syms x ; y=x^2+2*x+3 ; % hoc >> y=sym('x^2+2*x+3');
>> Dy=diff(y) % o hm bc nht
Dy = 2*x+2
>> D2y=diff(y, 2) % o hm bc hai, tng ng diff(diff(y))
D2y = 2
>> b= limit(y/x,x,inf,'left') % tm gii hn tri
b = inf
>> c=int(y,1,3) % tch phn xc nh
c = 68/3
>> r = solve(y) % tm nghim
r =
[ -1+i*2^(1/2)]
[ -1-i*2^(1/2)]
Ch : Cng c th tm nghim ca phng trnh trn bng cch khc. V d dng
lnh: >> r=solve('x^2+2*x+3=0') hay >> r= roots([1 2 3])
>> y= 'x^2+2*x+3'; [xmin,ymin] = fminbnd (y,-4,4)
xmin=
1
ymin=
2
V d 2: Cho hm thi gian g(t) = sin(3t), tm bin i Laplace G(s).
>> syms t
>> g=sin(3*t)
g = sin(3*t)
>> G=laplace(g)
G = 3/(s^2+9)
V d 3: Tm nh Laplace G(s) ca hm g(t)=cos
2
t. Tm cc h s (vct hng) ca a thc
t s v mu s ca G(s) . Tnh gi tr hm G(s) ti s
1
= 1 ; s
2
= -5j .
>> syms t
>> g=(cos(t))^2 ;
>> G=laplace(g) % tm nh Laplace G(s)
MATLAB CAN BAN & NG DUNG -51-
G = 2/s/(s^2+4)*(1+1/2*s^2)
>> G=simplify(G) % rt gn biu thc
G= (2+s^2)/s/(s^2+4)
>> [n,d]=numden(G) % xc nh a thc t s v mu s dng symbolic
n = 2+s^2
d = s*(s^2+4)
>> p=sym2poly(n) % xc nh a thc t s dng vect
p = 1 0 2
>> q=sym2poly(d) % xc nh a thc mu s dng vect
q = 1 0 4 0
>> s=1; G1= eval(G) % >> G1= polyval(p,1)/polyval(q,1)
G1 = 0.6000
>> s=-5j ; G2= eval(G) % >>G2= polyval(p,-5j)/polyval(q,-5j)
G2 = 0 + 0.2190i
V d 4: Tm hm thi gian y(t) khi bit nh Laplace Y(s) :
4
Y(s)
s(s 3)(s 4)
=
+ +
Gii:
>> syms s % khai bo s l bin symbolic
>> Y=4/(s*(s+3)*(s+4)) ; % nhp biu thc ca Y(s)
>> y=ilaplace(Y) % bin i Laplace ngc
y =
-4/3*exp(-3*t)+exp(-4*t)+1/3 %
t 4 t 3
e e
3
4
3
1
y

+ =
V d 5: Tm nghim ca phng trnh vi phn :
(a) y 2y 0 + = &
(b) y 2y t + = & vi iu kin u: 1 ) 0 ( = y
Gii: Dng lnh dsolve vi c php:
nghim = dsolve (phng trnh)
nghim = dsolve (phng trnh, iu kin 1, iu kin 2,...)
Lu : Khi nhp phng trnh ta phi dng k hiu Dy biu din o hm bc
nht dy/dt , dng k hiu D2y biu din o hm bc hai d
2
y / dt
2
, dng k hiu D3y
biu din o hm bc ba d
3
y / dt
3
, ...
a/ Tm nghim ca phng trnh thun nht:
>> y =dsolve('Dy + 2*y = 0') % hoc >> f='Dy+2*y=0' ; y=dsolve(f)
y =
C1*exp(-2*t)
Bin Son : NGUYN TH HNG - 52-
b/ tm nghim phng trnh khng thun nht vi iu kin u: y(0) = 1
>> y =dsolve('Dy+2*y = t ' , ' y(0)=1' )
y =
1/2*t-1/4+5/4*exp(-2*t) %
t 2
e
4
5
4
1
t
2
1
y

+ =
>> pretty(x)
1
1/2 t - 1/4 + 5/4 -------
2
exp(t)
V d 6 : Gii phng trnh bc hai dng biu thc ch :
>> r=solve('a*x^2+b*x+c=0')
r =
1/2/a*(-b+(b^2-4*a*c)^(1/2))
1/2/a*(-b-(b^2-4*a*c)^(1/2))
V d 7 : Gii h phng trnh tuyn tnh sau y dng biu thc ch:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
2x 2x 3x x 4
4x 3x x 2x 6
8x 5x 3x 4x 12
3x 3x 2x 2x 6
+ + =

+ + =

+ + =

+ + =

Gii : Dng lnh solve. C php tng qut:


solve('eqn1','eqn2',...,'eqnN')
solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')
solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN')
trong eqn1, eqn2,... l cc phng trnh c nhp dng chui hoc dng symbolic.
var1, var2,... l cc n s (nghim) cn xc nh.
>>y1=sym('2*x1+2*x2-3*x3+x4-4') ;
>>y2=sym('4*x1+3*x2-x3+2*x4-6') ;
>>y3=sym('8*x1+5*x2-3*x3+4*x4-12') ;
>>y4=sym('3*x1+3*x2-2*x3+2*x4-6') ;
[x1,x2,x3,x4]=solve(y1,y2,y3,y4,'x1,x2,x3,x4')
Kt qu:
x1 = 1/3
x2 = 1/3
x3 = -1/3
x4 = 5/3
MATLAB CAN BAN & NG DUNG -53-
So snh vi cch gii bng ma trn s :
>>A=[2 2 -3 1; 4 3 -1 2; 8 5 -3 4; 3 3 2 2] ; % to ma trn
>>b=[4;6;12; 6];
>>x=inv(A)*b
x = 0.3333
0.3333
-0.3333
1.6667
Ta thy hai cch gii c kt qu tng t nhng cch gii dng bin symbolic
khng biu din nghim di dng s thp phn m mc nh l dng phn s. hin th
kt qu v dng s thc ta c th dng thm lnh eval hoc double nh sau:
>> x=eval [x1,x2,x3,x4] % hoc x=doube ([x1,x2,x3,x4]])
x=
0.3333 0.3333 -0.3333 1.6667
V d 8: Tm tng ca n s chn u tin v tnh gi tr ca tng khi n=20 :
n
k 1
2k ?
=
=

;
20
k 1
2k ?
=
=

>> y= symsum (sym('2*k'),1,'n') % hoc >>syms k n ; y= symsum (2*k,1,n)


Kt qu: y = (n+1)^2-n-1
>> y=factor(y) % rt gn kt qu bng cch t tha s chung
Kt qu: y = n*(n+1)
>> y2= symsum (sym('2*k'),1,20) % hoc >> n=20; y2 = eval(y)
Kt qu: y2=420
Nhn xt : Bi ton cng c th gii bng chng trnh vng lp v d 3 trang 33 v v d
tnh tng bng hm sum trn trang 19.
V d 9: Kim tra gi tr tng hu hn :
2
1
n
k
n(2n 1)(2n 1)
(2n 1)
3
=
+
=

>> y= symsum (sym('(2*n-1)^2'),1,'n')


y =
11/3*n+8/3-4*(n+1)^2+4/3*(n+1)^3
>> y=factor(y)
y = 1/3*n*(2*n-1)*(2*n+1)
>>pretty(y)
1/3 n (2 n - 1) (2 n + 1)
V d 10: Tm hm ngc ca hm f(x) :
>>y= finverse (sym('exp(x)')) % => y = log(x)
>>syms a x; y= finverse(a^x) % => y= log(x)/log(a)
Bin Son : NGUYN TH HNG - 54-
>>y= finverse(sym('sin(x)')) % => y= asin(x)
>>y= finverse(sym('sqrt(x)')) % => y= x^2
>>y= finverse(sym('1/tan(x)')) % => y= atan(1/x)
MATLAB CAN BAN & NG DUNG -55-
CHNG 7
000 0000 Nklk8 000 0IE0 khIE0 0 0000
7.1 N0 k Phk0 0 k hE h000 0IE0 0h
7.1.1 N0 tz pkz0 t0 ||00 t0c
Cc phn t v h thng tuyn tnh bt bin (LTI linear time-invariant System) c
th m t trong Matlab bng cc lnh : tf, zpk,ss.
1) Phn t c m t ton bng m hnh hm truyn t :
m m 1
m m 1 0
n n 1
n n 1 0
b s b s ... b Y(s)
G(s)
U(s) a s a s ... a

+ + +
= =
+ + +
c th m t trong Matlab bng 2 cch :
Cch 1 : Dng lnh tf vi c php :
SYS = tf(NUM,DEN)
Trong , SYS l tn ca phn t hay h thng.
NUM =[ b
m
b
m-1
b
o
] % a thc t s
DEN = [ a
n
a
n-1
a
o
] % a thc mu s
Lu : Khi s dng, cc ch in hoa trong c php lnh c th i tn tu .
V d 7-1:
>> sys1= tf(5,[1 6 8]) % do t s l b
o
=5 nn c th nhp [5] hay 5 u c.
Transfer function:
5
-------------
s^2 + 6 s + 8
Cch 2 : Dng lnh s = tf('s') khai bo m hnh hm truyn v bin s, sau nhp
biu thc ton ca hm truyn.
V d 7-2:
>> s = tf('s') ; sys2 = 5*(s+1)/((s+4)*(s+3)^2)
Transfer function:
5 s + 5
--------------------------
s^3 + 10 s^2 + 33 s + 36
>> Kp=5; Ki=0.1; Kd= 3;
>> s = tf('s') ; Gpid=Kp+Ki/s+Kd*s
Transfer function:
3 s^2 + 5 s + 0.1
------------------
s
Bin Son : NGUYN TH HNG - 56-
2) Phn t c m t ton bng m hnh zero-cc :
1 2
1 2
m
n
(s z )(s z ) ...(s z )
G(s) K
(s p )(s p ) ...(s p )

=

c th m t trong Matlab bng lnh zpk vi c php :
SYS = zpk(Z,P,K)
Trong :
Z = [z
1
z
2
z
m
] % vct cc zero (nghim ca t s)
P = [p
1
p
2
p
n
] % vct cc cc (pole, nghim ca mu s)
K = b
m
/ a
n
% h s khuch i (gain, li)
Nu t s hm truyn khng c nghim th ly Z=[ ] (ma trn rng)
V d 7-3:
>> sys3 = zpk ( [ ], [-2 -4] , 5 )
Zero/pole/gain:
5
-----------
(s+2) (s+4)
Nu bit hm truyn t, ta c th tm cc zero v cc nh sau:
z= zero(SYS) % Tm vect z cha cc zero ca h SYS
[z,K]= zero(SYS) % Tm vect z v h s khuch i K ca h SYS
p= pole(SYS) % Tm vect p cha cc cc ca h SYS
V d 7-4:
>>z= zero(sys2) % sys2 m t v d 7-2
z=-1
>>p=pole(sys2)
p=
-4
-2
-2
3) Phn t c m t ton bng m hnh trng thi :

+ =
+ =
Du Cx y
Bu Ax x
Trong : A,B,C,D l cc ma trn trng thi.
u l tn hiu vo, y l tn hiu ra, x l bin trng thi
c th m t trong Matlab bng lnh ss vi c php:
SYS = ss (A,B,C,D)
V d 7-5:
>> A=[-2 -4;2 0] ; B=[1;0] ; C=[0.5 1] ; D=0;
>> sys4 = ss (A,B,C,D)
MATLAB CAN BAN & NG DUNG -57-
a =
x1 x2
x1 -2 -4
x2 2 0
b =
u
x1 1
x2 0
c =
x1 x2
y 0.5 1
d =
u
y 0
Continuous-time model.
4) Phn t c tr : Cng c m t bng cc lnh tf, zpk, ss nhng c thm tham s
'inputdelay' hoc 'outputdelay' khai bo thi gian tr.
V d7.6: M t phn t tr c hm truyn G(s) = e
-0,2s
*4/(s+50)
>> G_delay = tf(4,[1 50],'inputdelay',0.2)
Transfer function:
4
exp(-0.2*s) * ---------
s + 50
5) Chuyn i gia cc dng m hnh
Cc dng m hnh c th chuyn i qua li bng cc lnh ss, tf, zpk :
SYSS= ss(SYS); SYST=tf(SYS); SYSZ=zpk(SYS)
trong :
SYS : m hnh bt k
SYSS : m hnh ss
SYST : m hnh tf
SYSZ : m hnh zpk
V d 7-7 :
>> G3 = tf(sys3) % chuyn sys3 c m hnh zpk v d 7-3 v dng hm truyn
Transfer function:
5
---------------
s^2 + 6 s + 8
>> G4 = tf(sys4) % chuyn sys4 c m hnh ss v d 7-5 v dng hm truyn
Transfer function:
0.5s+2
----------------
s^2 + 2s + 8
zpk model
ss model
tf model
Bin Son : NGUYN TH HNG - 58-
7.1.Z N0 tz pkz0 t0 r0| rzc
Cc hm m t phn t tuyn tnh ri rc c dng tng t nh khi m t phn t lin
tc nhng c thm thng tin v thi gian ly mu T (T>0). Nu cha xc nh thi gian
ly mu th t T= -1.
SYS = tf(NUM,DEN,T)
SYS = zpk(Z,P,K,T)
SYS = ss (A,B,C,D,T)
V d 7-8:
>> sys= tf([1 4],[1 2 8],0.1) % hay >> z= tf('z',0.1); sys= (z+4)/ (z^2 + 2* z + 8)
Transfer function:
z+4
------------------
z^2 + 2 z + 8
Sampling time: 0.1
>> sys= tf(4,[1 3 5],-1)
Transfer function:
4
------------------
z^2 + 3 z + 5
Sampling time: unspecified
C th chuyn m hnh h lin tc thnh m hnh h ri rc bng lnh c2d:
SYSD=c2d(SYSC,T)
trong : SYSC l m hnh h lin tc (continuous system)
SYSD l m hnh h ri rc (discrete system)
T l thi gian ly mu
Hoc chuyn m hnh h ri rc thnh m hnh h lin tc bng lnh d2c :
SYSC=d2c(SYSD)
V d 7-9:
>> Gs= tf([1 3],[1 2 8]); % m t h lin tc c hm truyn t Gs
>> Gz=c2d(Gs,0.1) % chuyn Gs thnh h ri rc c hm truyn t Gz
Transfer function:
0.1034 z - 0.07638
----------------------
z^2 - 1.747 z + 0.8187
Sampling time: 0.1
>> Gs= d2c(Gz) % chuyn tr li h lin tc
Transfer function:
s + 3
--------------
s^2 + 2 s + 8
MATLAB CAN BAN & NG DUNG -59-
7.Z kE 00I 0k0 Phk0 0
Cc dng m hnh c th chuyn i v kt ni ln nhau, tuy nhin th t u tin trong
Matlab ln lt l: ss model > tf model > zpk model . Ngha l: khi kt ni mt m hnh ss
vi m hnh tf hoc zpk th kt qu cui cng s c Matlab biu din dng ss; Tng
t, khi kt ni mt m hnh tf vi m hnh zpk ta nhn c kt qu dng tf .
1) Ghp ni tip 2 phn t : Dng lnh series hoc ton t *
SYS = series (SYS1,SYS2)
SYS = SYS1* SYS2
Lnh series ch tnh c hm truyn tng ng ca 2 phn t ni tip, cn ton t
* c th p dng cho s phn t ni tip bt k (2,3,4,).
V d: Tm hm truyn ca ba phn t ni tip
>> G1= tf(1,[1 4]) ; G2= tf(1,[1 0]); G3 = tf(1,[1 3]) ;
>>G12= series (G1,G2) ; G = series (G12,G3)
% hoc >> G = series(series (G1,G2),G3)
% hoc >> G = G1*G2*G3
Kt qu :
Transfer function:
1
------------------
s^3 + 7 s^2 + 12 s
2) Ti gin ha hm truyn :
Lnh minreal c tc dng lm ti gin ha hm truyn ca h thng bng cch loi
b bt cc cp zero/cc ging nhau. Vi h c m hnh trng thi, lnh minreal s loi b
cc bin khng iu khin c hoc khng quan st c.
C php : SYS=minreal(SYS)
V d:
>> G1= tf([1 2],[1 4]) ; G2= tf(2,[1 2]);
>> G12= series (G1,G2)
Transfer function:
2 s + 4
-------------
s^2 + 6 s + 8
>>G12= minreal(G12)
Transfer function:
2
-----
s + 4
3) Ghp song song 2 phn t : Dng lnh parallel hoc ton t +
SYS = parallel (SYS1,SYS2)
SYS = SYS1 + SYS2
Bin Son : NGUYN TH HNG - 60-
Lnh parallel ch tnh c hm truyn tng ng ca 2 phn t ghp song song, cn
ton t + c th p dng cho s phn t song song bt k (2,3,4,).
V d: >> G1= tf(1,[1 4]) ; G2= tf(1,[1 0]); G3 = tf(1,[1 3]) ;
>>G12= parallel (G1,G2) ; G = parallel (G12,G3);
% hoc >>G = parallel (parallel (G1,G2), G3)
% hoc >>G = G1 + G2 + G3
Ket qua :
Transfer function:
3 s^2 + 14 s + 12
------------------------
s^3 + 7 s^2 + 12 s
4) Tm m t ton ca mch vng kn : Dng lnh feedback
- Phn hi m:
u --->O---->[ SYS1 ]----+---> y
-| | y = SYSK * u
+-----[ SYS2 ]<---+
SYSK = feedback(SYS1,SYS2)
Vi mch phn hi m n v (SYS2=1) th: SYSK = feedback(SYS1,1)
- Phn hi dng:
SYSK = feedback(SYS1,SYS2,1) % c thm k kiu ,1 sau SYS2
Vi mch phn hi dng n v (SYS2=1) th: SYSK = feedback(SYS1,1,1)
5) Tm m t ton ca h thng phc tp
Cch 1: Bin i s khi lm xut hin cc dng kt ni n gin ri dng cc
lnh series , parallel, feedback hay cc ton t *, + ln lt rt gn s khi
t trong ra ngoi.
Cch 2: Dng cc lnh append v connect, theo th t cc bc nh sau:
1) V s khi ca h thng v nh s th t cc khi (cc phn t, cc h con).
V d cn xc nh hm truyn t ca h thng gm 7 khi sau :
Vic nh s th t cc khi theo quy tc : t tri qua phi, t trn xung di (hoc t
di ln trn).
y
x
G4(s)
G5(s)
G6(s)
G7(s)
G3(s) G2(s)
G1(s)
6
7
3 1 2
5
4
MATLAB CAN BAN & NG DUNG -61-
2) M t cc h con SYSi trong Matlab bng cch dng cc lnh tf, ss, zpk nu
phn trc.
3) Dng lnh append khai bo cho Matlab cc h con tham gia vo h thng:
SYSA= append(SYS1,SYS2,SYS3,SYS4,SYS5,SYS6,SYS7);
4) Lp ma trn kt ni cc h con v ch nh cc ng vo, ra ca h thng:
Mi hng ca ma trn kt ni Q tng ng vi mt h con. S hng u ca mi
hng l ch s ca h con, cc s hng tip theo biu th kt ni gia ng vo ca h con
vi ng ra ca cc h con khc. V d ng vo ca h 2 l ng ra ca h 1 v h 5, h
5 li l phn hi m, do s hng u trong hng l 2, hai s hng k trong hng l 1
v 5, cc s 0 c thm vo to Q l ma trn ch nht.
Q= [1 0 0 0 0
2 1 -5 0 0
3 2 -6 0 0
4 2 -6 3 -7
5 3 0 0 0
6 3 0 0 0
7 4 0 0 0 ];
input=1; % v ng vo ca h thng l ng vo ca khi 1
output=4; % v ng ra ca h thng l ng ra ca khi 4
5) Dng lnh connect tm m t ton ca ton h thng theo c php:
SYS = connect(SYSA,Q,input,output)
Cch 3: V s h thng trong mi trng SIMULINK ca Matlab ri dng lnh
linmod trch xut cc ma trn A,B,C,D ca h thng :
[A,B,C,D] = linmod (model_filename);
Trong tham s 'model_filename' l tn ca file m hnh. V d, sau khi v s
h thng trong SIMULINK ta lu li thnh file ht1.mdl th dng lnh linmod nh sau :
[A,B,C,D] = linmod (ht1);
Sau tu nhu cu c th tm m t h thng di dng m hnh trng thi:
SYS = ss (A,B,C,D)
Hoc chuyn v dng hm truyn t : SYS = tf(SYS)
Vi h thng ri rc ta dng lnh dlinmod thay cho lnh linmod
[A,B,C,D] = dlinmod (model_filename,T );
V d: Tm hm truyn t ca h thng c s khi nh hnh v :
x
y
1
s 1 + s
1
G
1
G
2
G
3 G
4
G
5
B
A
20
1
s 2 +
8s
s 2 +
Bin Son : NGUYN TH HNG - 62-
Gii:
Cch 1: Trc tin ta cn bin i s khi v dng tng ng xut hin cc
dng kt ni c bn, sau mi p dng c cc hm kt ni, tng t nh tnh ton i
s s khi trong l thuyt iu khin t ng.
Chng trnh Matlab:
g1=20;
g2=tf(1,[1 1]);
g3=tf(1,[1 2]);
g4=tf(1,[1 0]);
g5=tf([8 0],[1 2]);
gtd1=feedback(g2,g5*g3,1); % mch hi tip dng
gtd2=feedback(g1*gtd1,1); % mch hi tip m n v
gtd2=minreal(gtd2); % ti gin ho hm truyn
SYS=feedback(gtd2*g3*g4,1); % mch hi tip m n v
SYS=minreal(SYS)
Kt qu :
Transfer function:
20 s + 40
----------------------------------
s^4 + 25 s^3 + 80 s^2 + 104 s + 40
Cch 2: Tnh hm truyn ca h thng trc tip t s khi cho ban u, khng
cn thit phi bin i s .
Chng trnh Matlab :
g1=20;
g2=tf(1,[1 1]);
g3=tf(1,[1 2]);
g4=tf(1,[1 0]);
g5=tf([8 0],[1 2]);
SYSA=append(g1,g2,g3,g4,g5);
Q =[1 -2 -4 % ng vo ca khi 1 l ng ra ca cc khi phn hi m 2 v 4
2 1 5 % ng vo ca khi 2 l ng ra ca cc khi 1 v 5
3 2 0 % ng vo ca khi 3 l ng ra ca khi 2
4 3 0 % ng vo ca khi 4 l ng ra ca khi 3
x
y
s
1
G
1
G
2
G
3
G
4
G
5
20
2
1
+ s
G
3
2
1
+ s
1
1
+ s
8s
s 2 +
MATLAB CAN BAN & NG DUNG -63-
5 3 0] ; % ng vo ca khi 5 l ng ra ca khi 3
input=1; % ng vo ca h thng l ng vo ca khi 1
output=4; % ng ra ca h thng l ng ra ca khi 4
SYS=connect(SYSA, Q, input,output);
SYS=minreal(SYS)
Ket qua :
Transfer function:
20 s + 40
----------------------------------
s^4 + 25 s^3 + 80 s^2 + 104 s + 40
Cch 3 : Thc hin hai bc :
Bc1: V s h thng trong mi trng Simulink ca MATLAB (kch hot
bng lnh >>simulink ), lu tn file l baitap_sdk1.mdl.
Bc 2: Nhp v thc thi on chng trnh sau :
>>[A,B,C,D]=linmod('baitap_sdk1');
>>sys=ss(A,B,C,D);
>>sys=tf(sys);
>>sys=minreal(sys)
Ket qua :
Transfer function:
20 s + 40
----------------------------------
s^4 + 25 s^3 + 80 s^2 + 104 s + 40
1
Out1
8s
s+2
Transfer Fcn5
1
s
Transfer Fcn4
1
s+1
Transfer Fcn2
Gain
1
s+2
Transfer Fcn 3
1
In1
20
Bin Son : NGUYN TH HNG - 64-
7.8. 0h 0k0 k E 8IE0 00 0kP 000 h0I 0Ik0
7.8.1. 0zp 00y 0zc tkz0y
Lnh step dng tnh ton v v p ng bc thang (cng gi l p ng qu hay
hm qu , l p ng ca h thng vi tn hiu vo bc thang n v 1(t)) .
LNH NGHA
step(SYS)
V biu p ng bc thang ca h thng, khong thi
gian do Matlab t ng xc nh.
step(SYS,T) :
V biu p ng bc thang ca h thng trong thi gian
t 0 n T
step(SYS1,SYS2,...,T)
V p ng ca nhiu h thng trn cng 1 h trc to
[ y, t ] = step(SYS)
Tr v dy gi tr y tng ng vi vect thi gian t
SYS,SYS1,SYS2, c th l h lin tc hoc ri rc c m hnh dng tf, zpk, hoc ss
bt k nh trnh by phn trc.
Sau khi v biu ta c th xc nh cc thng s quan trng ca ng p ng nh
thi gian tng (Risetime, 10 90%), thi gian qu (Settlingtime, 2%), vt l
(Overshoot), gi tr xc lp y() bng cch nhp phi chut vo vng trng bt k trn
th xut hin menu danh sch th xung (popup-menu) v chn mc tng ng.
Hnh di y minh ho kt qu sau khi nhp chut phi vo vng trng trn th v
ln lt chn Characteristics > Settling Time, sau nhp chut tri vo du trn va xut
hin trn th hin th gi tr thi gian qu .
- hin th vt l, chn Characteristics > Peak Response >...
- hin th gi tr xc lp y(), chn Characteristics > Steady State >...
Nu bn nhp chut tri vo im bt k trn ng p ng, MATLAB s hin th
cc gi tr honh , tung (tng ng l thi gian v bin ) ti im . Nu bn nhp
tri ri r chut dc theo ng p ng, cc gi tr trn s hin th lin tip.
MATLAB CAN BAN & NG DUNG -65-
tm p ng bc thang ca h thng di dng hm s theo thi gian t (thay v
dng th) khi bit hm truyn t G ca h, ta c th p dng cc hm x l biu thc
ch nh sau:
[n,d]=tfdata(G,'v'); % tm vct h s ca t v mu s hm truyn G.
syms s % khai bo bin symbolic (bin ch) l s
num=poly2sym(n,s); % to biu thc symbolic ca t s theo bin s
den=poly2sym(d,s); % to biu thc symbolic ca mu s theo bin s
G=num/den % biu din hm truyn G di dng biu thc symbolic
Y=G/s % nh Laplace Y(s) ca hm qu
y=ilaplace(Y) % hm qu y(t)
0zp 00y x00y
Dng lnh impulse tnh v v p ng xung (hm trng lng) ca h thng.
C php ca lnh impulse ging nh lnh step.
impulse(SYS)
impulse(SYS,T)
impulse(SYS1,SYS2,...,T)
[y,t]=impulse(SYS)
0zp 00y t|0 k|00 vz0 0zt k
- Dng lnh lsim tm p ng thi gian ca h thng i vi tn hiu vo bt k.
lsim(SYS,u,t) : v p ng vi tn hiu vo u bt k trong khong thi gian t.
[y,t] = lsim(SYS,u,t) : tr v dy gi tr p ng y tng ng vi vect thi gian t.
- Mt s v d to tn hiu vo:
>>t= 0:0.01:1;
>>u= ones(size(t)); plot(t,u) % unit step (bc thang n v) u=1(t)
>>u= 5*ones(size(t)); % step (bc thang) u=5(t)
>>u= [1;zeros(100,1)]; % impulse (xung nhn n v)
>>u= t ; % ramp (hm dc)
>>u= t.^2 ; % parabol
>>u= square(4*t) ; % xung vung
>>u =sin(t) % sng sin
>>t=0: 1e-4: 1.5;
>>u=sawtooth(2*pi*50*t) % sng rng ca chu k 2pi, bin 1
V d sau y minh ho p ng ca khu PT
1
i vi tn hiu vo sin(t) trong 10 giy.
>> t = 0:0.01:10; u = sin(t);
>> sysPT1=tf(1,[3 4]); lsim(sysPT1,u,t)
Bin Son : NGUYN TH HNG - 66-
C th to nhanh cc tn hiu vo dng sng bng hm gensig :
[u,t] = gensig(typ,tau)
[u,t] = gensig (typ,tau,Tf,Ts)
Bng tham s typ ta c th khai bo loi tn hiu: sng sin ('sin'), sng vung ('square'),
hoc dy xung nhn ('pulse'). Tn hiu do gensig to ra c bin chun l 1n v. Chu
k ca tn hiu c khai bo nh tham s tau. Tf l khong thi gian tc ng v Ts l thi
gian ly mu (chu k ly mu). Vct thi gian t c Matlab t ng chn hoc tnh theo
Tf v Ts.
Hnh sau y minh ho p ng ca hai khu PT1, PT2 khi b kch thch bi tn hiu
vo sng vung chu k 3s, thi gian tc ng 10s, ly mu mi 0,01s do gensig to nn:
>> sysPT1=tf(1,[4 1]); sysPT2=tf(100,[1 3 100]);
>> [u,t]=gensig('square',3,10,0.01); % to tn hiu vo sng vung
>> [y1,t]=lsim(sysPT1,u,t);
>> [y2,t]=lsim(sysPT2,u,t);
>> plot(t,y1,t,y2,t,u)
y1
y2
u
MATLAB CAN BAN & NG DUNG -67-
7.4. 0h 0k0 k E 8IE0 00 0kP 000 k0 80
7.4.1 8|00 00 0q0|st
Cc cu trc thng dng ca hm nyquist :
LNH NGHA
nyquist(SYS) V biu Nyquist ca h SYS
nyquist(SYS1,SYS2,...) V biu Nyquist ca nhiu h thng trn cng h trc
nyquist([k1;k2;...;kN],[DEN]
)
V biu Nyquist ca h SYS c hm truyn dng
G(s)=k/DEN vi N gi tr khc nhau ca k
nyquist(SYS,w)
V biu Nyquist ng vi vct tn s w nh trc.
Nhp vect w theo c php wu: gia s : wcui
[Re,Im]= nyquist(SYS,w)
Tnh phn thc, phn o ca p ng tn s (= tnh gi tr
Re v Im ti cc im nm trn ng Nyquist).
V d: Xt h thng kn hi tip m c hm truyn t vng h tng ng l:
, )
3 3 2
K K
G(s)
s 3s 3s 1
s 1
= =
+ + +
+
T hm truyn t ta thy h h n nh v cc nghim ca phng trnh c tnh u
l nghim thc -1 < 0. Tuy nhin, theo tiu chun n nh Nyquist th h thng kn cng c
th khng n nh nu chn h s khuch i K qu ln. C th s dng hm nyquist
kho st nh hng ca tham s K nh sau:
Dng lnh
>> nyquist([4;8;10],[1 3 3 1])
ta thu c ba biu Nyquist nh hnh di y, tng ng vi K=4 , K=8 , v K=10.
G(s)
R(s) Y(s)
Bin Son : NGUYN TH HNG - 68-
Chn di tn s kho st t 1,5 n 2 rad/s vi gia s 0,1 v v li biu Nyquist:
>> nyquist([4;8;10],[1 3 3 1],1.5:0.1:2)
Vi di tn s c chn thch
hp ta thu c th phng to d
quan st nhng vng ln cn ca im
ti hn (-1; j0). Ta thy:
- Vi K< 8 th ng Nyquist h h
khng bao im (-1; j0) nn h kn
n nh,
- Vi K=8 th ng Nyquist h h
i qua im (-1; j0) nn h kn
gii hn n nh.
- Vi K> 8 th ng Nyquist h h
bao im (-1; j0) nn h kn khng
n nh
7.4.1 8|00 00 8000
Cc ch tiu cht lng ca h thng kn c th xc nh t c tnh tn s ca h
thng h, c bit l biu Bode ca h h. V d: d tr bin , d tr pha, tn s
ct bin, tn s ct pha.
LNH NGHA
bode(SYS)
V biu Bode ca h SYS
bode(SYS,{WMIN,WMAX})
V biu Bode ca h SYS trong phm vi tn s
ch nh
bode(SYS1,SYS2,...)
V biu Bode ca nhiu h thng chung trn
mt h trc
[MAG,PHASE] = bode(SYS,W)
[MAG,PHASE,W] = bode(SYS)
Tnh gi tr bin v pha ca h thng. W l
vect cc im tn s v nhp theo c php
wu: gia s : wcui
margin(SYS)
V biu Bode v hin th gi tr d tr bin ,
d tr pha,... ngay trn biu
[Gm,Pm,Wgm,Wpm]= margin(SYS) Tnh ton d tr bin , d tr pha, tn s ct
bin, tn s ct pha
Gi tr d tr bin Gm do hm margin tnh ra l gi tr t nhin (khng n v) ,
chuyn i sang gi tr dB (deciBel) ta dng cng thc Gm_dB= 20*log10(Gm).
Vi h ri rc , hm bode s p dng thut ton bin i z = e
jeT
nh x vng trn
n v thnh trc tn s thc ( trong T l thi gian ly mu). Do hm truyn tn s ca
h ri rc c tnh tun hon vi chu k 2t/T nn vi h ri rc, hm bode ch tnh p ng
cho nhng im tn s nh hn tn s ti hn t/T.
MATLAB CAN BAN & NG DUNG -69-
7. Q0 0z0 0yk|0
Qu o nghim (hay biu nghim) l tp hp cc nghim ca phng trnh c
tnh, th hin trn mt phng phc, khi khuch i K bin thin t 0 n + .
Phng php qu o nghim dng kho st nghim ca phng trnh c tnh
ca h kn nh l mt hm ca h s khuch i K. N khng nhng cho bit h thng c
n nh hay khng, m cn cho bit v h s gim chn hay t s tt dn dao ng.
Cc lnh thng dng v v kho st qu o nghim :
LNH NGHA
rlocus(SYS)
V qu o nghim
root =rlocus(SYS,K)
Tnh v xut dy gi tr nghim ng vi K cho trc.
[root,K]=rlocus (SYS)
Tnh v xut dy gi tr K v dy nghim tng ng.
rlocfind
Chn K bng cch nhn chut trn biu nghim.
sgrid
To cc ng li ca gim chn v tn s ring e
n
pzmap(SYS)
Tnh v v v tr cc cc v zero ca h thng
[P,Z]=pzmap(SYS)
Tnh v xut cc vect P, Z cha gi tr cc im cc v zero.
to tin ch cho ngi dng, Matlab h tr cng c SISO Design Tool. y l
cng c thit k h SISO theo phng php qu o nghim kt hp vi biu Bode. p
dng cho h nu phn trc ta cng d dng xc nh c tr s K h gii hn n
nh. on chng trnh Matlab ch gm 2 cu lnh :
>>olsys=tf(1,[1 3 3 1]); % m t h h vi K=1
>>sisotool(olsys); % vo ca s SISO Design
Ti ca s SISO Design ta c th nhp gi tr khuch i K vo C(s) hoc dng
chut di chuyn cc nm vung trn biu qu o nghim (tng ng vi vic thay i
tr s khuch i k), ta d dng tm c gi tr K=8 h bin gii n nh vi d tr
n nh G.M. ~ 0 dB. khuch i cng tng, d tr n nh cng m, tc l h cng
mt n nh.
Bin Son : NGUYN TH HNG - 70-
7.8 0|z0 0|00 lI|0w0r
Giao din ho LTIViewer c kch hot bng lnh ltiview. Vi giao din
LTIViewer bn c th cng mt lc kho st c tnh ng hc ca nhiu h thng tuyn
tnh bt bin, v i vi mi h thng li c th v c tt c cc dng c tnh ng hc.
Do c th v c trn cng mt ca s nn bn c th d dng nhn thy c mi lin h
gia cc dng c tnh ng hc, v d p ng xung l o hm ca p ng bc thang,
nh cng hng trn biu Bode c bin cng cao th vt l trn p ng bc
thang cng cao, s lin h gia biu Bode v biu Nyquist,
Mt s cch thng dng ca lnh ltiview :
LNH NGHA
ltiview(PLOTTYPE, SYS)
V cc biu ch nh bi tham s PLOTTYPE
. PLOTTYPE c th l 'step', 'impulse', 'nyquist',
bode',hoc t hp {'step'; 'impulse'; 'nyquist';
bode',}
ltiview(SYS1,SYS2,,SYSN) V biu step ca nhiu h thng
ltiview(PLOTTYPE,SYS1,SYS2,,SYSN)
V cc biu ch nh bi PLOTTYPE ca
nhiu h thng
V d:
>> G=tf(10,[1 2 10])
Transfer function:
10
--------------
s^2 + 2 s + 10
>> ltiview({'step';'impulse';'nyquist';'bode'},G)
T menu edit hoc t
popup-menu khi nhp chut
phi trong ca s LTIViewer,
bn c th chn la cc thit
t v cu hnh nh s lng
th, loi th, hin th
hoc tt hin th cc thng s
cht lng trn cc th,
MATLAB CAN BAN & NG DUNG -71-
V d1: Cho h thng c s khi nh hnh v :
Chn K
P
=16; K
I
=60; K
D
=1
Vit chng trnh Matlab thc hin cc yu cu sau:
a) Tm hm truyn, hm qu v sai s xc lp e() ca h thng.
b) V biu hm qu v xc nh gi tr xc lp y(), vt l, thi gian qu .
Gii. Chng trnh Matlab:
Kp =16; Ki =60; Kd =1;
s=tf('s'); Gc=Kp + Ki/s + Kd*s; % hm truyn b PID
% Gc=tf ([1 16 60], [1 0]) % mt cch khc khai bo hm truyn b PID
G=tf(20,[1 12 20]); % hm truyn ca i tng
Gk=feedback(Gc*G,1) ; % hm truyn h kn
Gk=minreal(Gk) % ti gin ho hm truyn h kn.
saisoxl=1-dcgain(Gk) % Tnh sai s xc lp
step(Gk) % V biu p ng qu
syms s
[n,d]=tfdata(Gk,'v');
n=poly2sym(n,s);
d=int16(d);
d=poly2sym(d,s);
Gk=n/d
Y=Gk/s;
y=ilaplace(Y)
Kt qu khi chy chng trnh:
Transfer function:
20 s + 120
----------------
s^2 + 22 s + 120
saisoxl = 0
Gk = (20*s+120)/(s^2+22*s+120)
y = 1-5*exp(-12*t)+4*exp(-10*t) %
12t 10t
y(t) 1 5e 4e

= +
T th step ta xc nh c cc thng s cht lng :
Gi tr xc lp (Final value) =1
vt l (Overshoot) = 8,78%
Thi gian qu ( settling time) = 0,461 sec
r =1(t) y
PID
2
20
s 12s 20 + +
e
Bin Son : NGUYN TH HNG - 72-
V d 2 Xc nh d tr n nh bin v pha ca h thng cho v d 1.
Gii. Chng trnh Matlab
Gc=tf ([1 16 60], [1 0]); % hm truyn b PID
G=tf(20,[1 12 20]); % hm truyn ca i tng
Gh= Gc*G ; % hm truyn h h
Gh=minreal(Gh) % ti gin ho hm truyn
nyquist (Gh) % V biu Nyquist h h
figure(2); margin(Gh) % V biu Bode h h
Kt qu :
Transfer function: % hm truyn h h
20 s + 120
----------
s^2 + 2 s
T biu ta xc nh c d tr bin GM = ; d tr pha
PM=79,4, tn s ct bin ec = 20,7 rad/sec, tn s ct pha e
(-180)
= (khng tn
ti, v biu Bode pha khng ct ng thng -180).
MATLAB CAN BAN & NG DUNG -73-
V d 3 Kho st p ng qu ca h thng cho v d 1 vi cc gi tr thay i ca
thng s b PID, v d:
a) K
P
=16; K
D
=1; K
I
=1 c) K
P
=16; K
D
=1 ; K
I
=100
b) K
P
=16; K
D
=1; K
I
=20 d) K
P
=16; K
D
=1; K
I
=300
Gii. Cch 1: Ln lt khai bo tng b PID v tnh cc hm truyn h kn.
G=tf(20,[1 12 20])
Gc1=tf ([1 16 1], [1 0]) , Gk1=feedback(Gc1*G,1)
Gc2=tf ([1 16 20], [1 0]) ; Gk2=feedback(Gc2*G,1)
Gc3=tf ([1 16 100], [1 0]) ; Gk3=feedback(Gc3*G,1)
Gc4=tf ([1 16 300], [1 0]) ; Gk4=feedback(Gc4*G,1)
step(Gk1,'b-', Gk2,'g--', Gk3,'m-.', Gk4,'k:', 1) % v th p ng qu .
legend('Ki=1','Ki=20','Ki=100','Ki=300') ; grid
Gii thch: Lnh step trn v cc ng p ng trong khong t=01(sec) kt hp vi
ch nh mu sc (b=blue; g=green; m=magenta; k=black) v nt v (-, --, -. , :).
n gin hn, c th dng lnh: step(Gk1,Gk2,Gk3,Gk4,1).Khi , Matlab s t ng
chn mu theo th t : blue, green, red, cyan, magenta, v mc nh l kiu nt lin (-).
Cch 2: Khai bo bng vng lp
G=tf(20,[1 12 20]); Kp=16;Kd=1; Ki=[1, 20, 100, 300];
for n=1:length(Ki)
Gpid=tf([Kd Kp Ki(n)],[1 0]);
eval(['Gk',num2str(n),'=feedback(Gpid*G,1)'])
end
step(Gk1,'b-',Gk2,'g--',Gk3,'r-.',Gk4,'k:',1);
legend('Ki=1','Ki=20','Ki=100','Ki=300') ; grid
Kt qu :
Dng chut phi thao tc trn th, ta c th xc nh c cc thng s cht
lng ca ng p ng tng t nh v d 8-15.
Cng c th nhp cc cng thc nu chng 5 vo Matlab thc hin tnh
ton v kim tra cc thng s cht lng trn th.
T th ta thy khi tng K
I
th vt l POT s tng nhng sai s e()=0, ngay
c trng hp K
I
=1 nu v p ng trong thi gian di hn ta s thy r h cng v xc lp
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
A
m
p
l
i
t
u
d
e
Time (sec)
Ki=1
Ki=20
Ki=100
Ki=300
Bin Son : NGUYN TH HNG - 74-
vi sai s e() bng 0 nhng thi gian qu ln: 17,8 sec). Nu tng K
I
vt qu gi tr
gii hn th h kn s mt n nh.
V d 8.18 Cho h thng ri rc:
trong :
1
G(s)
s 6
=
+
; D(z) = 10; Chu k ly mu T= 0,01. Tn hiu vo r(t)=1(t)
1) Tm hm truyn t v sai s xc lp ca h .
2) V p ng bc thang v xc nh gi tr xc lp, thi gian qu .
3) Tm dy gi tr tn hiu ra y(t) khi t thay i t 0.1 n 0.2
Gii. Chng trnh Matlab:
Gs=tf(1,[1 6]);
Gz=c2d(Gs,0.01);
Dz=10;
Gk=feedback(Dz*Gz,1);
Gk=minreal(Gk)
saisoxl =1-dcgain(Gk)
step(Gk,0.4)
[y,t]=step(Gk,[0.1: 0.01: 0.2]);
y_t = [y,t]
Kt qu :
Transfer function:
0.09706
----------
z - 0.8447
Sampling time: 0.01
saisoxl =
0.3750
y_t =
0.5094 0.1000
0.5274 0.1100
0.5425 0.1200
0.5553 0.1300
0.5661 0.1400
0.5753 0.1500
0.5830 0.1600
0.5895 0.1700
0.5950 0.1800
0.5997 0.1900
0.6036 0.2000
R(s) Y(s)
G(s) ZOH
T
D(z)
G(z)
MATLAB CAN BAN & NG DUNG -75-
BI TP THC HNH
Chng 1&2
1) Thc hin ln lt cc bc sau y:
- Khi ng phn mm MATLAB, kim tra tn th mc hin hnh bng cch quan st
Current Directory trn thanh Toolbar hoc g lnh >>cd
- To mt th mc mi c tn l tn ca bn (V d: 'Tran Van Tuan'), v tr th mc
mi nm trong th mc work ca MATLAB.
- Chuyn th mc mi to tr thnh th mc hin hnh.
- Kim tra li tn th mc hin hnh trong Current Directory trn thanh Toolbar.
2) Trong Command window, thc hin ln lt cc yu cu sau:
a. t tn cc bin biu din: chiu di, chiu rng, chiu cao v thc hin php
gn: chiu rng= 3 (cm); chiu di=4 (cm); chiu cao= 5 (cm)
b. Tnh din tch mt y v th tch hnh hp vi cc thng s trn.
c. M ca s Workspace hoc dng lnh whos kim tra li cc kt qu tnh. Lu
ni dung ca Workspace thnh tp tin bai2_data.mat (Lu kim tra v tt cc
phn mm g ting Vit nh Vietkey, Unikey,... trnh li khi nhp tn tp tin).
d. Quan st ca s Current Directory chc chn l tp tin bai2_data.mat c.
e. Xo tt c cc bin trong Workspace hin hnh. M li tp tin bai2_data.mat v
kim tra li cc bin.
f. Thay i gi tr cc bin chiu rng, chiu di, chiu cao tu . Thc hin li cc
php tnh trn. ( Lu : C th thay i bng lnh gn ca s Command Window
hoc thay i trc tip trn ca s Workspace )
3) Thc hin li bi 2 bng SCRIFT FILE vi yu cu l gi tr chiu rng, chiu di,
chiu cao c nhp t bn phm.
4) Thc hin li bi 2 bng FUNCTION FILE vi chiu rng, chiu di, chiu cao l cc
i s ca hm. Cc gi tr hm tr v l:
a. Th tch ca hnh hp ch nht
b. Din tch mt y v th tch hnh hp ch nht
5) S dng SCRIFT FILE v FUNCTION FILE vit cc chng trnh tnh khi lng ca
mt chi tit my hnh tr trn lm bng vt liu thp c khi lng ring l 7,8 kg/dm
3
.
6) Cho phng trnh bc hai
2
ax bx c 0 + + =
a. Thc hin php gn t Command window a=1; b=-8; c=15. Tnh nghim ca
phng trnh.
b. Tng t vi a=1 ; b=2; c =13. Nhn xt kt qu : nghim thc/ phc?
c. Thay i tu gi tr a, b, c. Tnh nghim ca phng trnh.
7) S dng SCRIFT FILE gii phng trnh bc hai vi a, b, c c nhp t bn phm.
8) S dng FUNCTION FILE gii phng trnh bc hai vi a, b, c l cc i s ca hm.
Gi tr hm tr v l hai nghim.
9) Vit cc on chng trnh tnh th tch hnh lng tr ng, hnh t din u, hnh chp,
hnh chp ct, hnh nn, hnh nn ct, hnh tr, hnh cu.
Bin Son : NGUYN TH HNG - 76-
Chng 3
1) S dng cc hm ton hc c bn c trong ti liu thc hin cc php tnh sau :
(a) 625 ; 9 ;
3
100
(b) e
0
; e ; e
1
; e

(c) ( 1/2)e
i5
(d)
30 i
(3 2i)

+
(e) a
x
vi a=8.10
-4
v x=3/4
(f) 0/0 ; 1/0 ; 1/
(g)
2 10
5 .2 . 3 .ln5.lg2

2) Cho bin x c gn gi tr tu t bn phm (x c th l mt s hoc vect).Vit scrift


file tnh gi tr ca cc hm s sau:
x x
1
e e
f (x)
2

+
= ;
2
f (x) cosh(x) =
x x
1
e e
g (x)
2

= ;
2
g (x) sinh(x) =
Chy chng trnh. Nhn xt kt qu v gii thch ?
3) Vit chng trnh tnh gi tr ca cc biu thc sau :
2 9 t t
3 4
h(t) 1 e e
7 7

=
11
t
2
1 7 7
y(t) 1 e sinh t cosh t
7 2 2

1 | |
= +
| | 1
\ . \ . ]
Chy chng trnh vi bin t c gn gi tr tu (t c th l mt s hoc vect).
Nhn xt kt qu v gii thch ?
4) Cho hai s phc :
1
i45
2
z 3 2i
z 3e

= +
=
Hy thc hin trong MATLAB cc php ton sau y vi hai s phc trn.
(a)
1 2
z z + (b)
1 2
z z
(c)
1 2
z *z (d)
1 2
z / z
(e)
1
z
e (f)
1
ln(z )
(g) Tnh mun v gc pha ca z
1
.
(h) Nhp z
1
theo dng mun-pha. So snh kt qu tr v vi gi tr ban u ca z
1
.
(h) 2sin(t/5). arctg
2
(3)
(i)
2 3
sin(30 ) cos(45 )
5

(j)
3
(30 ) sin
2 .sign(sin(5 / 3).cos(135 ))

t
(k)
3
cos 2
4 2sin 2
(l)
, )
3/ 2
2 sin( 30 ) e
1 cos 2

MATLAB CAN BAN & NG DUNG -77-


5) Cho vect hng u = [ 2 4 6 8] ;
(a) Vit lnh to vct ct v gm 4 phn t c gi tr ngu nhin t 0 n 10.
(b) Tm phn t ln nht v phn t b nht trong mi phn t ca c hai vect.
(c) Tm trung bnh cng ca cc phn t trong vect u.
(d) Tnh tng v tch cc phn t ca vect u.
(e) Tnh tch v hng v gc hp bi hai vect u v v.
(f) Vit chng trnh cho php ngi dng nhp vo hai vect ct u, v bt k v
tr v kt qu l tch v hng v gc hp bi hai vect .
6) Hy to cc vect biu din cc tp hp sau:
a) Tp cc s t nhin s 200; b) Tp cc s nguyn dng s 200;
c) Tp cc s chn s 200 ; d) Tp cc s l < 200;
e) Tp cc s s 200 v l bi s ca s k, vi k c gn gi tr trc, tu .
f) Tp cc s s 200 v em chia cho 4 lun c s d l 3.
g) Tp cc s chnh phng s 400 ;
7) S dng cc hm v tng, tch cc phn t ca mng, hy thc hin cc yu cu sau:
(a) Cho n = 100. Tnh tng n s chn u tin. (S: 10100)
(b) Cho n = 100. Tnh tng n s l u tin. (S: 10
4
)
(c) Cho n=20. Tnh tng n s t nhin u tin chia ht cho 12. (S: 2520)
(d) Cho n=20. Tnh tng n s chnh phng u tin. (S: 2870)
(d) Tnh tng S = 8! + 9! +10! (S: 4032*10
3
)
(e) Tnh tng S = 1/3! + 1/4! + 1/5! (S: 0.2167)
(f) Tnh tng T 1 3 5 ... 97 99 100 = + + + + + + (S: 2600)
(g) Tnh tng T 1 4 7 ... 100 = + + + + + 8! (S: 42037)
(h) Tnh tng T = 1+ 1/2 + 1/4 + 1/8 +1/16 (S: 1.9375)
8) Cho cc ma trn sau:
1 2
A
1 2
1
=
1

]
;
7 2
B
1 0
1
=
1
]
;
1 2i 5 2i
C
3 i 1 3i
+ 1
=
1
+ +
]
Hy thc hin cc php ton:
(a) A .*B ; B./A
(b) A.^B ; B.\A
(c) A*B*C ; A*B.*C
(d) Tnh nh thc ca A, B, C.
9) Cho ma trn :
6 43 2 11 87
A 12 6 34 0 5
24 18 7 41 9
1
1
=
1
1
]
S dng cc lnh thao tc trn mng v vect, hy thc hin cc yu cu sau:
Bin Son : NGUYN TH HNG - 78-
(a) To mt vect hng c 5 phn t l hng 2 ca ma trn A.
(b) To mt vect ct c 3 phn t l ct 4 ca ma trn A.
(c) To mt vect hng c 10 phn t l hng 1 v 2 ca ma trn A.
(d) To mt vect hng cha cc phn t ct 2 v ct 5 ca ma trn A.
10) To ba ma trn nh sau:
5 2 4
A 1 7 3
6 10 0
1
1
=
1
1
]
;
11 5 3
B 0 12 4
2 6 1
1
1
=
1
1
]
;
7 14 1
C 10 3 2
8 5 9
1
1
=
1
1
]
Thc hin cc php ton :
(a) A+B v B+A. Nhn xt ?
(b) A+(B+C) v (A+B)+C. Nhn xt ?
(c) 5*(A+C) v 5*A + 5*C. Nhn xt ?
(d) A*(B+C) v A*B + A*C. Nhn xt ?
(e) A*B v B*A . Nhn xt ?
(f) A*B v B' *A' . Nhn xt ?
(g) (A+B)' v A' + B' . Nhn xt ?
11) Nhp vo hai a thc:
4 3 2
P(x) x 3x x 5x 1 = + +
2
Q(x) 3x 5x 4 = +
(a) Tnh tng hai a thc trn.
(b) Nhn hai a thc trn.
(c) Tm nghim ca 2 a thc trn.
(d) Tnh gi tr P(1) ; Q(0).
(e) Tnh o hm bc 1, bc 2 ca P(x) v Q(x).
12) Phn tch cc nh Laplace sau y thnh tng cc phn thc ti gin:
(a)
3 2
10
G(s)
s 15s 68s 96
=
+ + +
(c)
2
120s 10
H(s)
s(s 13s 30)
+
=
+ +
(b)
3 2
10s 30
H(s)
s(s 15s 68s 96)
+
=
+ + +
(d)
2
20
G(s)
(s 2)(s 4s 13)
=
+ + +
MATLAB CAN BAN & NG DUNG -79-
Chng 4
1) Vit li cc chng trnh v d c trong ti liu v cch s dng cc cu trc if-elseif-
else-end, switch-case, vng lp for, vng lp while, ...
2) Vit chng trnh tnh nghim ca phng trnh bc hai 0 c bx ax
2
= + + vi a, b, c
nhp t bn phm. Cc trng hp phng trnh c hai nghim thc, nghim kp, hai
nghim phc u phi xut thng bo ra mn hnh.
3) Vit chng trnh in ra mn hnh 50 s chn u tin v tnh tng, tch cc s .
4) Vit chng trnh in ra mn hnh n s l u tin, vi n c nhp t bn phm. Tnh
tng cc s in. Chng trnh phi cnh bo nu ngi dng nhp gi tr n 0.
5) Vit chng trnh in ra mn hnh n s t nhin u tin chia ht cho a , vi n v a
c nhp t bn phm. Tnh tng cc s in.
6) Vit chng trnh tm v in ra mn hnh cc s t nhin c ba ch s, bit rng cc s
chia cho 3 th d 1, chia cho 5 th d 2, chia cho 4 th d 3.
7) Vit chng trnh tm v in ra mn hnh cc s t nhin c ba ch s, bit rng cc s
chia cho 8, 9, 30 u d 3.
8) Vit chng trnh in ra v tnh tng cc s chnh phng t 1 n 400.
9) S dng vng lp tnh tng bnh phng n s t nhin; tng bnh phng n s
chn; tng bnh phng n s l; tng bnh phng n s t nhin chia ht cho k, vi n
v k l s dng bt k;
10) S dng vng lp tnh tng S =1! + 2! ++ n !
11) S dng vng lp tnh tng S =1/1! + 1/2! ++ 1/n !
12) S dng vng lp tnh tng S =1/1
2
+ 1/2
2
++ 1/n
2
13) Vit chng trnh in ra mn hnh cc s nguyn t <150 v tnh tng cc s .
14) Vit chng trnh in ra mn hnh cc s nguyn t trong khong (100150).
15) Vit chng trnh in ra mn hnh n s nguyn t u tin vi n c nhp t bn phm
v tnh tng, tch cc s nguyn t .
16) Vit chng trnh cho php nhp vo cc h s ca phng trnh c tnh v xt tnh
n nh ca h thng da vo du ca phn thc ca cc nghim. ng dng chng
trnh xt tnh n nh ca cc h c phng trnh c tnh:
(a)
4 3 2
s 3s s 5x 1 0 + + + + =
(b)
5 4 3 2
s 8s 59s 192s 486x 580 0 + + + + + =
(c)
4 3 2
s 8s 19s 32x 60 0 + + + + =
(d)
5 4 3 2
s 16s 30s 5s 6x 1 0 + + + + + =
Hng dn: Tm nghim ca phng trnh c tnh v xt du phn thc ca nghim.
17) Vit chng trnh tnh din tch S ca tam gic khi bit di 3 cnh a, b, c.
Hng dn:
- S p(p a)(p b)(p c) = vi
1
p (a b c)
2
= + +
- iu kin: mi cnh phi nh hn tng v ln hn hiu ca hai cnh cn li.
Bin Son : NGUYN TH HNG - 80-
Chng 5
1) S dng lnh plot hoc ezplot v th ca cc hm sau:
(a)
2
( ) 5 4 , [ 6, 2] f x x x x = e
(b)
2
( ) 2 8 11 , [ 1, 5] g x x x x = e
(c)
4 2
( ) 1 3 2 , [0, 2]

= + e
t t
y t e e x
(d)
2 2
( ) 1 cos sin
t t
h t e t e t

= , te [0, 4]
(e)
2
( ) 1 cos

= e
t
h t e t ; te [0, 4] ; e = 1, 2, 4, 6.
(f)
5 5
2
( ) 1 cos 10 sin 10
10
t t
h t e t e t

= + te [0, 2]
(g)
, )
12 12
29
( ) 1 cos 4 3 sin 4
40
t t
h t e t e t

= te [0, 1]
2) S dng lnh ezplot v th 2 cp hm tham s sau trn cng h trc, te [0, 2t]
x = 7cost cos7t v x = 2cost
y = 7sint sin7t y = 2sint
Thit t mu sc, marker ring cho tng ng th thng qua handle v lnh
set. th th nht v mu vng, marker l (*). th th hai v mu , marker l (o).
3) S dng lnh ezplot v th 2 cp hm tham s sau trn cng h trc, te [0, 2t]
x = 6cost cos9t v x = 2cos
3
t
y = 6sint sin9t y = 2sin
3
t
Thit t mu sc, kiu nt, marker. t li tiu ca th.
4) (a) S dng lnh ezplot v th hm s: y(t)= 2( 1 e
-t/T
)
Cc gi tr ca hng s thi gian T ln lt chn l 2, 3, 4, 6. Cc th c v
trn cng h trc c trc honh te [0, 20], trc tung ye [0, 2.2]. Thit t mu sc ring
cho tng ng th. Quan st cc th v nhn xt ?
(b) To mt figure mi, dng lnh plot v th v thc hin cc yu cu trn.
5) (a) Dng lnh plot v trn cng mt h trc to th ba hm s :
y1=sinx ; y2=sin(x+t/3) ; y3=sin(x+2t/3) vi xe [0, 3t]
Thit t mu sc, ghi ch cho th. t tiu l 'Dng in hinh sin ba pha'.
(b) To mt figure mi, dng lnh ezplot v th v thc hin cc yu cu
trn.
6) V th tng cp hm s sau y trn cng mt th. Mi cp hm s c v
trong mt figure ring. Trong mi figure hy to ch thch bng lnh legend ch r
mi ng th tng ng vi hm s no:
(a) ( ) cos 2 sin3 u x x x = + ; ) 2 sin( 2 ) cos( 3 ) ( x x x v = ; xe [0, 4t]
(b)
3
( )
x
f x ex

= ;
3
( ) (1 3 )
x
g x x x

= ; x e [0, 2]
MATLAB CAN BAN & NG DUNG -81-
(c) ( ) sin3 cos 2 f t t t = ; ( ) (1/ 2) cos (5/ 2) cos5 g t t t = + ; te [-2t, 2t]
(d)
1
( ) (1 2sin )cos y t t t = + ;
2
( ) (1 2sin )sin y t t t = + ; te [0, 2t]
7) S dng lnh ezplot v th cc hm s sau trn cng mt h trc ta :
2 3
1
( ) 1 3 2
t t
y t e e

= + ;
4 4
2
1
( ) 1 cos3 sin3
3
t t
y t e t e t

= +
Thit t h trc to tng ng vi t e [0, 4] ; y
1
v y
2
e [0, 1.2]
8) V trn cng mt h trc to th ca hai hm s :
58 80 t t
18 29
h1(t) 1 e e
11 11

= +
h2(t) =
69t
47
1 e sinh(11t) cosh(11t)
11

1
+
1
]
Thit t h trc to vi te[0, 0.4]; h1 v h2e[0, 1.2].
Nhn xt kt qu v gii thch?
9) V trn cng mt h trc to th ca hai hm s :
2 6 t t
3 1
h1(t) 1 e e
4 4

=
h2(t) =
4t
1
1 e sinh(2t) cosh(2t)
2

1
+
1
]
Thit t h trc to vi te[0, 3]; h1 v h2e[0, 1.05].
Bin Son : NGUYN TH HNG - 82-
Chng 6
1) Tm gi tr b nht v ln nht ca cc hm s sau:
a.
3 2
6 5 y x x = + ; x e [-1, 5]
b. 2 sin( )
x
y e x

= ; x e [-6, 0]
c.
2
100 ( 1) = + y x ; x e [-4, 4]
d.
2
2
1
1
x x
y
x x

=
+ +
; x e [-200,200]
e.
2
2 y tgx tg x = ; x e [0, t/2]
f.
2
x
y xe

= ; x e [-1, 1]
Hng dn :
Cch 1: V v s dng th.
Cch 2: Dng lnh [xmin,ymin] = fminbnd (y,x1,x2)
V d:
>> y='x^3-6*x^2+5'
>> [xmin, ymin] = fminbnd (y,-1,5) % tm xmin, ymin ca hm y=f(x)
>> yN= ['-(', y , ')'] % to yN =-y = '-(x^3-6*x^2+5)'
>> [xNmin, yNmin] = fminbnd (yN,-1,5) % tm xmin, ymin ca yN
>> xmax=xNmin, ymax= -yNmin % o du ca yNmin
2) Tnh cc gii hn sau :
a.
0
sin
lim
x
x
x
|
|
\ .
b.
0
1
lim
x x
|
|
\ .
;
0
1
lim
x x +
|
|
\ .
c.
, )
2
2
lim 2tg tg
x
x x
t

d.
, )
5
lim 1
t
t
e
+

; lim 1
x
x
a
x +
|
+
|
\ .
e.
0
sin( ) sin
lim
h
x h x
h
+ |
|
\ .
f.
1
lim
1 1
p q
x
p q
x x

|
\ .
g. lim
x a
x a
x a
x a
|

|
|

\ .
h.
1/
0
1
lim
1
x
x
e

|
|
+ \ .
;
1/
0
1
lim
1
x
x
e
+
|
|
+ \ .
i.
2
1
0
ln
lim
ln

|
|

\ .
x
x
x
x
a x a
b x b
k.
2
2
1
lim
1
x
x x
x x
+

=
+ +
;
2
2
1
lim
1
x
x x
x x


=
+ +
Ch : Khi x 0- ly gii hn bn tri ('left') im 0
Khi x 0+ ly gii hn bn phi ('right') im 0
Khi x - ly gii hn ti -Inf hoc gii hn bn phi ('right') im -Inf
Khi x + ly gii hn ti Inf hoc gii hn bn tri ('left') im Inf
a xmin= 4
ymin=-27
xmax= 0
ymax= 5
b xmin=-2.356
ymin=-14.92
xmax=-5.498
ymax= 345.28
c xmin= 4
ymin= 8.66
xmax= -1
ymax= 10
d
xmin= 200
ymin= -1
xmax=-0.5
ymax= 1.667
e xmin= 1.57
ymin=-inf
xmax= 0.785
ymax= 1
f xmin=-0.707
ymin=-0.429
xmax= 0.707
ymax= 0.429
MATLAB CAN BAN & NG DUNG -83-
3) Dng hm symsum tnh cc tng sau :
a.
1

n
n ;
2
1

n
n ;
3
1

n
n ;
4
1

n
n
b.
1
2

n
n ;
1
3

n
n ;
1
(3 1) +

n
n ;
2
1
4

n
n
c.
1
(2 1)

n
k ;
2
1
(2 1)

n
k ;
3
1
(2 1)
=

n
k
k
d.
1
(1/ )
=

n
k
k ;
1
(1/ )
=

n
k
ak ;
2
1
(1/ )
n
k
k
=

f.
0
!
n
k
k
=

;
0
!
k
k
x
k

;
0
sin( )
n
k
k
k
=
t

Cho n=10. Hy tnh gi tr ca mi tng cho bng cc phng php sau :


1- Dng hm symsum tnh tng S theo n . Sau gn n=10 ; eval(S)
2- Dng hm symsum tnh tng trc tip vi n=10.
3- Dng vng lp for hoc while
4- Dng cc hm sum, prod (tnh tng, tch cc phn t ca vect) .
Nhn xt v phm vi ng dng v kt qu ca cc phng php trn.
4) Dng lnh dsolve gii cc phng trnh vi phn sau y :
a. ' = y ay
b. sin y y t ' =
c. 2 (2 4)
x
y y y x e

'' ' + + = +
d.
2
2 0 xyy y x ' + =
e. , )
2
2
1 y y ' + = vi iu kin (K) u (0) 0 y =
f. 3 2 0 y y y '' ' + + = vi K u (0) y a ' = ; (0) y b =
g. 2 5 3 y y y '' ' + + = vi K u (0) (0) 0 y y ' = =
h.
2
0 y a y '' = vi K y(0)=1; ( / ) 0 y a ' t =
i. 3 cos y y x x '' ' + = + vi K u (0) (0) 0 y y ' = =
5) Tm hm qu h(t) nu bit nh Laplace H(s) nh sau:
(a)
2
40
H(s)
s(s 13s 40)
=
+ +
(b)
2
10s 25
H(s)
s(s 6s 25)
+
=
+ +
(c)
2
3s 15
H(s)
s(s 6s 15)
+
=
+ +
(d)
2
116(s 40)
H(s)
s(s 138s 4640)
+
=
+ +
(e)
2
5s 25
H(s)
s(s 8s 25)
+
=
+ +
(f)
2
122(s 43)
H(s)
s(s 157s 5246)
+
=
+ +
Bin Son : NGUYN TH HNG - 84-
Chng 7
1) Tm hm truyn ca h thng c s khi sau y:
2) Tm hm truyn ca h thng c s khi sau y:
3) Tm hm truyn ca h thng c s khi sau y:
Cho trc : C
1
=40 ; R
1
= 3/16 ; C
2
=30 ; R
2
= 3/20
4) Cho h thng c s khi nh hnh v .
B iu khin PID c K
P
=7; K
I
=12; K
D
=1.
Tn hiu vo bc thang n v r= 1(t).
Hy vit chng trnh Matlab thc hin cc yu cu a, b, c, d, e sau y:
a. Tm hm truyn ca h thng.
b. Xc nh gi tr cc cc v zero ca h thng.
c. V biu p ng qu h(t) ca h thng.
r
y
1
s 3 + s
1
G
1 G
2
G
3
G
4
A
B
s
1
r y
PID
2
10
s 5s 6 + +
e
Q(s)
1
1
R
Q
2
(s)
2
1
R
1
1
C s
2
1
C s
r
y
2
1
+ s 1
1
+ s s
1
G
1 G
2
G
3
G
4
G
5
A
B
s 5
s
+
2s 1
5s 6
+
+
6
s 4
s 2
+
+
MATLAB CAN BAN & NG DUNG -85-
d. Tm biu thc ca hm qu h(t) = ?
e. Tm gi tr xc lp h() v sai s xc lp e()
Lu chng trnh, t tn tp tin l Bai4_ch7.m . Gi thc hin chng trnh v thc hin
tip yu cu sau y:
f. Thao tc vi th xc nh cc thng s cht lng: thi gian qu ( Settling
time), vt l (Overshoot), gi tr xc lp h(), sai s xc lp e().
Vo menu file> save as> lu chng trnh vi tn mi l Bai4B_ch7.m ; Chnh sa
chng trnh trn tp tin mi thc hin tip cc yu cu sau y:
g. Gi nguyn gi tr ban u ca K
P
v K
D
. Thay i gi tr K
I
tu . Xc nh gi tr
gii hn ca K
I
h thng lun n nh. Trong phm vi h thng cn n nh, c
nhn xt g v gi tr ca h() v e() khi K
I
thay i ?
h. t gi tr K
I
=0 v K
D
=1. Thay i gi tr K
P
tu . Xc nh gi tr gii hn ca
K
P
h thng lun n nh. Trong phm vi h thng cn n nh, c nhn xt g
v gi tr ca e() v tnh dao ng ca h khi K
P
thay i ?
i. t gi tr K
I
=0 v K
P
=7. Thay i gi tr K
D
tu . C nhn xt g v gi tr e()
v tnh dao ng ca h khi K
D
thay i ?
5) Thc hin tng t bi tp 4 vi h thng c s khi nh hnh v .
B iu khin PID c K
P
=6; K
I
=8; K
D
=1.
6) Thc hin tng t bi tp 4 vi h thng c s khi nh hnh v .
B iu khin PI c K
P
=1; K
I
=2 .
7) Cho h thng ri rc c s khi nh hnh v .
trong :
K
G(s)
s a
=
+
; K=3; a=10 ; D(z) = 10; Chu k ly mu T= 0,01.
(a) Tm hm truyn t v sai s xc lp ca h .
(b) V p ng bc thang v xc nh gi tr xc lp, thi gian qu .
(c) Tm dy gi tr tn hiu ra y(t) khi t thay i t 0.1 n 0.2
r y
PID
2
6
s 5s 4 + +
e
r y
PI
2
40
s 16s 28 + +
e
r =1(t) y
G(s)
ZOH
T
D(z)
Bin Son : NGUYN TH HNG - 86-
CU HI TRC NGHIM
1) Tn bin no sau y l khng hp l:
a) Chieucao b) Chieu-cao
c) ChieuCao d) ChIeUcao1
2) Tn bin no sau y l hp l:
a) G1(s) b) G
1
s
c) 1Gs d) G1s
3) xo hai bin u v v trong Workspace c th dng lnh :
a) >> clear u, v b) >> clear u v
c) >> clear u ; v d) c a v b u ng
4) xo mi bin trong Workspace v lm sch mn hnh Command Window, c th
dng lnh :
a) >> clear clc b) >> clear , clc
c) >> clear (clc) d) c 3 cch u c
5) Cu lnh no sau y l hp l, khng b bo li :
a) s= ' input ' b) s= input (Hay nhap gia tri s:)
c) s= input d) s= Input ('Hay nhap gia tri s: ')
6) m mi ca s son tho Editor t ca s MATLAB c th dng cch :
a) g lnh edit b) vo menu File -> New-> M-File
c) a v b u c d) a v b u sai
7) M-file c th l:
a) scrift file b) function file
c) file chng trnh d) bn c kin khc
8) thc hin file "baitap1.m", ti command window c th nh lnh:
a) >>baitap1 b) >>baitap1.m
c) c hai u c d) c hai u sai
9) Dng khai bo hm no sau y l khng hp l :
a) function TT= bai_1(a,b,c) b) function [TT]= bai_1(a,b,c)
c) function = bai_1(a,b,c) d) function [TT, DT]= bai_1(a,b,c)
10) >> A= [1 2] l cu lnh dng nhp A vi A l :
a) vect ct b) vect ct bc tng bng 2
c) vct hng d) vect hng bc tng bng 2
11) >> B= [ 1 2 3;-4 6 1] l cu lnh dng nhp B vi B l :
a) ma trn b) ma trn hng
c) ma trn cp 2 d) ma trn cp 3
12) Cho 2 vct u = [ 1 3 5] v v= [2, 4, 6], c th thc hin c php tnh no sau y:
a) u' .*v b) u*v
c) c hai d) khng php tnh no
MATLAB CAN BAN & NG DUNG -87-
13) Cho 2 vct u = [ 1;3 ;5]; v= [2 4 6], c th thc hin c php tnh no sau y:
a) u.*v b) v' *u
c) c hai d) khng php tnh no
14) Lnh no sau y dng tm vct cha cc phn t hng mt ca ma trn A ?
a) A(1,:) b) A(:,1)
c) A(1 :) d) A(1)
15) Lnh no sau y dng tm vct cha cc phn t ct hai ca ma trn A ?
a) A(2,:) b) A(:,2)
c) A(2 :) d) A(2)
16) Lnh >>X= linspace(0,10) cho kt qu X l mt :
a) vct hng b) vct hng c 100 phn t
c) vct ct d) vct hng c bc tng bng 1
17) Cc trng hp no sau y s bo li:
a) >>x=12; disp(x) b) >> x=12; fprintf (x)
c) c hai d) khng trng hp no
18) Lnh no sau y s khng thc hin c ?
a) G=tf(6,[1 5 6]) b) G=tf( [6],[1 5 6])
c) s=tf(s); G=6/s^2+5*s+6 d) G=zpk([ ],[-2 -3],6)
19) Lnh v th no sau y s b bo li ?
a) syms x; y=x^2; ezplot(y,[0, pi]) b) syms x; y=x^2; ezplot(x,y,[0, pi])
c) c hai d) khng lnh no
20) Lnh v th no sau y s b bo li ?
a) x=0:100; y=x.^2 ; plot(x,y) b) y=x.^2 ; plot(x,y,[0:100])
c) c hai d) khng lnh no
21) C th dng lnh no cng hai a thc (x+1) v (x
2
+3) ?
a) >>[1 1] + [1 3] b) >> [1 1] + [1 0 3]
c) >>[0 1 1] + [1 0 3] d) >>[1 1 0] + [1 0 3]
22) tm hm truyn ca hai phn t ni tip, c th dng :
a) ton t + b) Hm series
c) a v b u c d) a v b u sai
23) tm hm truyn ca hai phn t song song, c th dng :
a) ton t * b) Hm parallel
c) c hai u c d) c hai u sai
24) H sys m t bi cc lnh: >> G1=tf(1,[1,4]); sys=feedback(G1,1,1)
a) l h phn hi dng b) l h phn hi m
c) l h phn hi m n v d) l h phn hi dng n v

You might also like