You are on page 1of 80

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -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 v 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 Release 14. 1.1 KHI NG Nhp p chut vo biu tng MATLAB trn mn hnh Desktop; hoc : Chn Start > Programs > MATLAB 7.0 > MATLAB 7.0

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 :

5
Workspace

3 4
Command History

Bin Son : NGUYN TH HNG

- 2-

Ca s lnh Command Window 1 : 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 2 : 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 3 : 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 4 : 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 5 ). 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 cc phin bn trc nh 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 doc tnlnh % xem tr gip ti command window. % 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 .

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -3-

1.5 TNH TON TI COMMAND WINDOW Vi cc bi ton n gin, ch cn dng t 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 : a=5m b=2m h=4m a b

Ti du nhc lnh ta nhp: >> 5*2*4 MATLAB s tnh v hin 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 S = 10 >> V= S*h V = 40 % din tch y % th tch

a, b, h, S, V l cc bin do ngi dng t tn (user variable). 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. 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

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. 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 khc (nu cn) > nhp tn tp tin > n nt Save. Tp tin d liu c tn tng qut l *.mat - Cch 2: Nhp lnh >>save ' ng dn\ tnfile.mat ' V d: >>save ' C:\ MATLAB 7\ 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 .

Xem ni dung ca Workspace:

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -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, th mc hin hnh mc nh l 'C:\MATLAB7\work'. To th mc mi : >> mkdir('ng dn', 'tn th mc mi') V d: >> mkdir('C:\matlab7\work','Nguyen Van A') 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:\matlab7\work','Nguyen Van A' hoc >>cd 'Nguyen Van A' Bn cng c th thc hin bng cch vo ca s Current Directory, nhp p chut vo tn th mc cn chuyn (v d th mc 'Nguyen Van A') . 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. 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. Sau bn ch cn g tn file thc thi ton b chng trnh. 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)

vung soan thao

2) Son tho Cu trc tng qut ca mt Scrift file : KHI CC CU GII THCH CHNG TRNH K hiu m u : % CHNG TRNH DNG LM G, AI VIT, U, KHI NO ?

KHI CC CU LNH NHP D LIU Lnh gn, lnh input,...

tnbin = <gi tr>; tnbin = input('li nhc');

KHI CC CU LNH X L Cc lnh x l Cc biu thc tnh ton

THEO TRNH T THUT TON

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -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 : % 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; V=S*h % Dien tich day % The tich KHI GII THCH

KHI NHP D LIU KHI X L D LIU

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 du bng k t ch, khng c khong trng gia cc k t (ging nh quy nh v tn bin). Lu kim tra v tt cc phn mm g ting Vit nh Vietkey, Unikey,nu cn. 4) Gi thc hin SCRIPT 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 Workspace, nhp p chut vo tn M-file cn m. Cch 3: Ti Command window, g lnh edit ('ng dn\tn file')

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;

Thc thi trong Command window : >> TT=tt_hinhhop(5,2,4) TT = 40 % tham bin V c th i tn tu , v d i l TT.

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -9-

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) 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;

% Cc tham bin S,V c th i tn tu .

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; gia_don_vi= 10000; TT= tt_hinhtru(L,d) TT=(1e-9)* TT gia= gia_don_vi*gama*TT; % Local function (ham con) function V = tt_hinhtru(L,d) V=L*pi*d^2/4; % the tich (mm^3) % khoi luong rieng (kg/m^3) % (dong/kg) % (mm^3) % (m^3) % dong

%======================================================

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -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 V=S*h % dien tich day % 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 biu din bng k hiu e. V d 1. Cho cc s thc: a =5 ; b =2,54 ; c =106 ; d =-4x10-3 =-0,004 Nhp vo MATLAB: >> a = 5 a= 5 >> b = 2.54 b= 2.5400 >>c = 10^6 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 Ly tha Nhn Chia Chia tri Cng Tr K HIU ^ * / \ + MC U TIN 1 2 2 2 3 3 V D 3^2 ; a^(1/2) 3*5 ; a*b 2/4 ; a/b 2\4 (ngha l 4/2) ; a\b 2+4 ; a+b 2-4 ; a-b % hoc >> c=1e6

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -13-

V d 2. Gii phng trnh bc hai ax2 + bx + c = 0 ; vi a = 1; b = - 5 ; c = 2 . Ta bit cc nghim ca phng trnh bc hai c dng :

x1,2 =

b b b2 4ac = 2a 2a

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, i2 = j2 = -1 + realmin : s chm ng dng nh nht, bng 2-1022 hay 2.2251e-308 + realmax: s chm ng dng ln nht, 21023 hay 1.7977e+308 + Inf hay inf : s v cng (Infinity), vi Inf = + ; -Inf = - + NaN hay nan : (Not-a-number) khng phi l s, v d kt qu php chia 0/0 + eps : chnh xc tng i ca s c chm ng, bng 2-52 hay 2.2204e-016 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. Vic nh dng ny khng nh hng n chnh xc tnh ton v MATLAB vn lu gi cc bin trong b nh vi gi tr thc s ca n. Lnh s dng format bank format format short format short e format long format rat Dng hin th 2 ch s thp phn 4 ch s thp phn 4 ch s thp phn V d: hin th s : >> pi 3.14 3.1416 3.1416 (= 3.1416*10^0)

4 ch s thp phn 3.1416e+00 vi du chm ng 14 ch s thp phn dng t s 355/113

3.14159265358979

c 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 : Khi s dng cc hm ny, i s x l s thc, phc, vect, hay ma trn u c. TN HM sqrt(x) exp(x) log(x) log10(x) abs(x) round(x) rem(x,y) mod(x,y) sign(x) CHC NNG Cn bc hai ca x, tng ng lnh x^(1/2) Hm m c s e ca x (= e x ) V d: exp(0)= e0 =1; exp(1)= e1 =2.7182 Logarit c s e ca x Logarit thp phn ca x - Tm gi tr tuyt i ca x nu x l s thc - Tm mun ca x nu x l s phc Lm trn x ti s nguyn gn nht Tm phn d ca x /y , c du ly theo x Tm phn d ca x /y, c du ly theo y 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 sin ca x, vi x l radian cos ca x, vi x l radian tang ca x, vi x l radian arcsin ca x, vi x l radian arccos ca x, vi x l radian arctg ca x, vi x l radian = (sin(x)) /x nu x 0 = 1 nu x=0 sin; cos; tang ca x, vi x l arcsin; arccos; arctg ca x, vi x l sinhyperbol ca x ; sinh(x) = (ex - e-x)/2 coshyperpol ca x ; cosh(x) = (ex + e-x)/2 cosh(x) + sinh(x) = ex cosh(x) - sinh(x) = e-x tanhyperpol(x) ; tanh(x) = sinh(x) / cosh(x) arcsinhyperpol(x); = ln(x + x 2 + 1) arcoshyperpol(x); = ln(x + x 2 1) arctanhyperpol(x); = (1/2)ln [(1+x)/(1-x)] (= lnx)

sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) sinc(x) sind(x); cosd(x); tand(x) asind(x); acosd(x); atand(x) sinh(x) cosh(x) tanh(x) asinh(x) acosh(x) atanh(x)

MATLAB c rt nhiu hm ton hc c xy dng sn. tm hiu k hn, bn c th g lnh help elfun, help elmat, help specfun hoc help datafun .

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -15-

3.2 S PHC 3.2.1 C s l thuyt Trong ton hc, mt s phc z thng c biu din theo 1 trong 3 dng sau: 1) Dng i s : z = a + bi hoc z = a + ib a phn thc; b phn o; i ton t o ( i = 1 ) 2) Dng mun-pha : z = | z | (cos + i sin)

| z | = a 2 + b 2 : mun = arctg (b/a) : gc pha


3) Dng cc :
z =| z | ei

3.3.2 Th hin trong MATLAB

Trong Matlab cc k t i v j dng k hiu ton t o i=sqrt(-1) hoc j = sqrt(-1)

Nu i hoc j c s dng cho cc gi tr khc th ta phi nh ngha li nh sau: V d:

>> z = 3 - 5i z= 3.0000 - 5.0000i >> z=5*exp(4i) z= -3.2682 - 3.7840i

% hoc >> z = 3 - i*5

% tc l z=5e

4i

Cc php tnh s hc trn s phc c dng tng t nh trong s thc. Mt s hm tnh thnh phn ca s phc :
TN HM CHC NNG

z = complex(a,b) real (z) imag(z) abs(z) angle(z) atan2(imag(z),real(z)) conj(z)


V d:

To s phc z =a+ib Tnh phn thc ca z Tnh phn o ca z Tnh mun |z| Tnh gc , vi - Tnh gc , vi - To s phc lin hp ca z

>> z1=2+3i; % hoc z1=complex(2,3) >>theta=angle(z1) theta= 0.9828 >>modul=abs(z1) modul= 3.6056 >> z2=modul*exp(theta*i) % th li, nu tnh ng th s c 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' >>str = 'the tich hinh hop' >>a=46 >>c=46+32i
Cc hm x l chui thng dng :

% s l bin chui, cha 2 k t 4 v 6, chim 4 byte % str l bin chui, cha 17 phn t, chim 34 byte % a l bin s thc, chim 8 byte b nh % c l bin s phc, chim 16 byte b nh CHC NNG i ra k t hoa i ra k t thng i chui ra s i s ra chui Hm tr v 1 (True) nu s l chui Ni cc chui thnh hng, t ng ngt bt khong trng cui chui nu c. Ghp cc chui thnh ct (ma trn k t), t ng thm khong trng, b qua chui rng Ghp cc chui thnh ct (ma trn k t), t ng thm khong trng, chui rng cng tnh l 1 ct. Hin th ni dung ca bin s ra mn hnh a d liu c nh dng ra file hoc mn hnh So snh hai chui, true nu s1 ging s2 True nu N k t u ca s1, s2 ging nhau X l chui nh mt lnh MATLAB

TN HM upper lower str2num num2str ischar(s); isstr(s) strcat (s1, s2,...) strvcat (s1,s2,...) str2mat (s1,s2,...) disp(s) fprintf strcmp(s1,s2) strncmp(s1,s2,N) eval('chui')
ng dng:

Ghp mng chui vi s v hin th kt qu : >> a= 12; >> str=['Gia tri cua a la: ', num2str(a)] ; >> disp(str) % hin ni dung, khng cho hin tn bin Kt qu cc cu lnh trn s l: Gia tri cua a la: 12 Dng lnh fprintf

>> R=45; >> fprintf ( 'Dien tich = %7.3f m^2 \n', pi*R^2) Gii thch : - C %7.3f th hin th t nht 7 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

http://www.ebook.edu.vn -17-

>> B = [8.8 7.7; 8800 7700]; >> fprintf(1,'X is %6.2f meters or %8.3f mm\n',9.9,9900,B) Kt qu hin th: X is 9.90 meters or 9900.000 mm X is 8.80 meters or 8800.000 mm X is 7.70 meters or 7700.000 mm >> 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) 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 3 4 7] b= 2 3 4 7

% hoc >>b= [2,3,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 V d:

hoc

x=[x1: x2]

>> x =[0:10] x= 0 1 2 3

% Vect x biu din 11 s t nhin t 0 n 10. 4 5 6 7 8 9 10

>> k=15 ; v=[k:k:1000*k]


Mt s hm v vct (mng) : HM

% Vect v biu din 1000 s l bi s ca k

CHC NNG

length(a) size(a) a(i) a(i : j) norm(a) sum(a) prod(a)

Tm s phn t ca vct a Tm kch thc vct, c dng (1x n) hoc (n x 1) Tm phn t th i ca vct a (i=1,2,3,) Tm cc phn t t th i ti th j ca vct a Tnh chun Euclid ca vct a ( = ||a|| = cn bc hai ca tng bnh phng cc phn t ca a) Tng cc phn t Tch cc phn t

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -19-

min(a) max(a) mean(a)


V d:

Phn t b nht ca vect a Phn t ln nht ca vect a Trung bnh cng ca cc phn t

a) Cho n=50. Tm tng n s chn u tin b) Cho n=50. Tm tng n s l u tin b) Cho n=5. Tm n!

>> n=50; a=[2:2: 2*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 Nhn Chia Chia tri Cng Tr

c=a.^2 c=a*2 c=a/2 c=a.\2 c=a+2 c=a-2

c= [(a1^2);(a2^2); ...; (an^2)] c= [(a1*2);(a2*2); ...; (an*2)] c= [(a1/2);(a2/2); ...; (an/2)] c= [(2/a1);(2/a2); ...; (2/an)] c= [(a1+2);(a2+2); ...; (an+2)] c= [(a1-2);(a2-2); ...; (an-2)]

* hoc .* / hoc .\ .\ + -

Cc php tnh gia hai vc t : PHP TNH K HIU .^ .* ./ .\ + V D NGHA

Ly tha Tch c hng Chia phi Chia tri Cng hai vect Tr hai vct Chuyn v (ct thnh hng hay ngc li) Tch v hng

c=a.^b c=a.*b c=a./b c=a.\b c=a+b c=a-b a' c=a'*b

c= [(a1^b1);(a2^b2); ...; (an^bn)] c= [(a1*b1);(a2*b2); ...; (an*bn)] c= [(a1/b1);(a2/b2); ...; (an/bn)] c= [(a1\b1);(a2\b2); ...; (an\bn)] c= [(a1+b1);(a2+b2); ...; (an+bn)] c= [(a1-b1);(a2-b2); ...; (an-bn)] a=[a1; a2 ; ...;an] th a'=[a1 a2 ... an] a=[a1 a2 ... an] th a'=[a1; a2 ;...;an] c= (a1*b1)+(a2*b2)+ ... + (an*bn)

' '*

Bin Son : NGUYN TH HNG

- 20-

V d : >> a=[3;2;5] ;

% a l vect ct % b l vect ct % Tch c hng Kt qu l mt vc t.

>> b=[-1;3;-6] ; >> c=a.*b c= -3 6 -30 >> d=a'*b d = -27

% Tch v hng Kt qu l mt s v hng.

Gc gia 2 vect ct a v b

- Biu din trong ton hc :


trong :

a T .b = arccos a.b aT 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 linspace(gi tr u, gi tr cui, s phn t)

- C th to mt vct hng tuyn tnh bng cch dng lnh: 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

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -21-

3.5 MA TRN

Ma trn c dng tng qut : a11 a12 a a 22 A = 21 L L a m1 a m 2

a1n L a 2n L L L a mn m x n L

Trong MATLAB, mt 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= [ 1 2 3 456 789]

% A l ma trn vung cp 3

Cng c th nhp vo MATLAB theo tng hng :

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 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 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. 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.

Bin Son : NGUYN TH HNG

- 22-

V d 2: Kim chng cc php tnh trn ma trn

>> syms a1 a2 a3 a4 b1 b2 b3 b4; >> A=[a1 a2; a3 a4] , B=[b1 b2; b3 b4] A= [ a1, a2] [ a3, a4] >> Tong=A+B Tong= [ a1+b1, a2+b2] [ a3+b3, a4+b4] >> Hieu=A-5 Hieu= [ a1-5, a2-5] [ a3-5, a4-5] >> C1=A*B C1= [ a1*b1+a2*b3, a1*b2+a2*b4] [ a3*b1+a4*b3, a3*b2+a4*b4] >>C2=A.*B C2= [ a1*b1, a2*b2] [ a3*b3, a4*b4] >> A./B ans = [ a1/b1, a2/b2] [ a3/b3, a4/b4] >> A.\B ans = [ b1/a1, b2/a2] [ b3/a3, b4/a4] >> D=A\B D= % php chia tri % php chm chia tri B= [ b1, b2] [ b3, b4]

% hm syms khai bo cc bin ch

% ging php nhn ma trn trong ton hc

% php chm nhn, thc hin nhn tng phn t tng ng

% php chm chia phi

[ -(a2*b3-b1*a4)/(a1*a4-a3*a2), -(a2*b4-b2*a4)/(a1*a4-a3*a2) ] [ (-a3*b1+a1*b3)/(a1*a4-a3*a2), (a1*b4-a3*b2)/(a1*a4-a3*a2)]

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -23-

3.5.2 Cc hm tm kch thc, thnh phn ca ma trn : TN HM size (A) size (A,1) size (A,2) rank(A) CHC NNG Tm kch thc ma trn A Tm s hng ca ma trn A Tm s ct ca ma trn A Tm s ct hoc s hng c lp tuyn tnh. Vi ma trn vung s tm hng(cp) ca ma trn. Tm hng th nht Tm ct th hai To vect hng cha cc phn t ln nht ca mi ct. To vect hng cha cc phn t b nht ca mi ct. Tm tng s phn t ca ma trn A Tm phn t hng th 1, ct 2 Thay phn t hng th 1 ct 2 bng 6

A(1,:) A(:,2) max(A) min(A) numel(A) A(1,2) A(1,2)=6


V d 2: Cho 2 ma trn :

(a) (b) (c) (d) (e)


Gii.

1 2 3 0 2 4 4 5 6 X= ; Y = 6 5 1 7 8 9 3 9 7 To vect a cha cc phn t hng hai ca ma trn X. To vect b cha hai phn t cui hng hai ca ma trn X. To vect c cha cc phn t ct ba ca ma trn Y. To vect hng d cha cc phn t hng hai ca X v ct ba ca Y. To vect ct e cha cc phn t hng hai ca X v ct ba ca Y.

>> 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 >> b= a(2: 3) b= 5 6 >> c= Y(:, 3) c= 4 1 7 >> d= [X(2, :) , Y(:, 3)'] d= 4 e= 4 5 6 4 5 6 4 1 7 % hoc e=d' >> e= [X(2, :)' ; Y(:, 3)] % b l vect cha 2 phn t cui ca vect a

Bin Son : NGUYN TH HNG

- 24-

1 7
3.5.2 Cc hm to ma trn : TN HM zeros(m,n) ones(m,n) eye(n) A=[] magic(n) rand(n) rand(m,n) inv(A) A' det(A) poly(A) eig(A) diag(A) tril(A) triu(A) fliplr(A) flipud(A) jordan(A) CHC NNG To ma trn khng (m x n) To ma trn (m x n) = 1 To ma trn n v cp n To ma trn rng A To ma trn magic cp n Ma trn cp n vi cc phn t ngu nhin t 0 n 1 Ma trn (m x n), cc phn t ngu nhin t 0 n 1 Ma trn nghch o ca ma trn vung A Ma trn chuyn v AT ca ma trn A Tnh nh thc ca ma trn vung A Tm a thc c trng ca ma trn vung A Tm gi tr ring ca ma trn vung A Ly ng cho chnh ca ma trn A Ly cc phn t t ng cho chnh tr xung Ly cc phn t t ng cho chnh tr ln o ngc ct ca ma trn A o ngc hng ca ma trn A Chuyn ma trn A v dng chnh tc (ma trn cho)

V d 3. Tm ma trn chuyn v B = AT, vi ma trn A c cho trong v d 1.

>> A = [1 2 3;4 5 6;7 8 9] A= 1 4 7 >> B = A' B= 1 2 3 4 5 6 7 8 9 2 5 8 3 6 9

V d 4. To ma trn n v c kch thc bng kch thc ma trn A.

>> E = eye(size(A)) E= 1 0 0 0 1 0 0 0 1

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -25-

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 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. Trong Matlab, cc gi tr ring c th tm bng cch dng lnh eig(A). tm ng thi c gi tr ring v vct ring ca A c th dng lnh [X,D]=eig(A). Cc phn t trn ng cho chnh ca ma trn cho D l cc , cn cc ct ca ma trn X l cc vct ring lm tho mn AX=XD. >>A = [1 2 3;4 5 6;7 8 9] ; >>[X,D]=eig(A) X= -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 D= 16.1168 0 0 0 0 0 -1.1168

0 -0.0000

V d 6. Gii h phng trnh tuyn tnh cho dng ma trn :


1 3 1 x1 3 2 1 4 x 2 = 1 ; 4 2 1 x 1 3

A.x = b

x=

b = A 1.b A

Chng trnh MATLAB: >>A=[1 -3 1 ; 2 1 -4 ; 4 -2 1] >>b=[3; -1; 1] >>x=inv(A)* b Kt qu : x= -0.2821 -1.1538 -0.1795 % cng c th dng php chia tri : x=A\b

Bin Son : NGUYN TH HNG

- 26-

V d 7: Gii h phng trnh tuyn tnh c s phng trnh = s n


2x1 + 2x 2 3x 3 + x 4 = 4 4x1 + 3x 2 x 3 + 2x 4 = 6 8x1 + 5x 2 3x 3 + 4x 4 = 12 3x1 + 3x 2 2x 3 + 2x 4 = 6

Tnh ton trong MATLAB : >>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 % cng c th dng php chia tri : x=A\b x= 0.3333 0.3333 -0.3333 1.6667
V d 8: Gii h 4 phng trnh 3 n :
x1 + 2x 2 + 3x 3 = 366 4x1 + 5x 2 + 6x 3 = 804 7x1 + 8x 2 = 351 2x1 + 5x 2 + 8x 3 = 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 1;4 5 6; 7 3 0; 2 5 8]

A= 1 4 7 2 2 5 8 5 3 6 0 8

>> b = [320; 880;452; 514];

>> x=A\b x= -14.1925 203.8830 -43.4226

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -27-

3.6 A THC

Cho a thc bc n : p = a n x n + a n 1x n 1 + L + a1x + a 0 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. >> p = [ a n
a n 1 ... a1 a 0 ]

V d, nhp a thc: p = x4 + 3x3 x2 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) [k,d]=deconv (p1,p2) k=polyder(p) k=polyder(p,q) [n,d]=polyder(num,den) roots(p) p=poly(r) polyval(p,x) [r,p,k]= residue(num,den) [num,den]=residue(r,p,k) printsys(num,den,'s') [z,p,k]=tf2zp(num,den)
V d 1:

Nhn hai a thc Chia hai a thc ( k= kt qu; d =phn d) Tm o hm ca a thc p Tm o hm ca a thc tch (p*q) Tm o hm (dng n/d) ca phn thc (num/den) Tm nghim a thc p Lp a thc p t vect r cha cc nghim. Tnh gi tr ca a thc ti x (x c th l mng) Tm cc thnh phn ti gin ca phn thc Chuyn cc thnh phn ti gin thnh 1 phn thc in phn thc c dng t s 2 a thc theo s Tm cc zero z, cc p, li k ca phn thc

>> p = [1 3 -1 -5 1] ; r =roots(p) r= -2.5764 -1.7475 1.1268 0.1971 >> p= poly(r) p= 1 3 -1 >> q=[1 2]

% Ti to a thc p t vect nghim r -5 1 % q=x+2

>> w =conv(p,q) % w=(x4 + 3x3 - x2 -5x + 1)(x+2) w= 1 5 5 -7 -9 2

Bin Son : NGUYN TH HNG

- 28-

Kt qu trn tng ng vi a thc : x5 + 5x4 +5x3 - 7x2 - 9x + 2 >>w2=conv(conv(p,q), [4 1]) w2= 4 21 25 -23 -43 -1 % w2= (x4 - 3x3 - x2 - 5x - 1)(x-2)(4x-1) 2

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 = x4 + 3x3 x2 5x + 1 q =x+2 Ta nhp vo MATLAB: >> p=[1 3 -1 -5 1]; >> q=[0 0 0 1 2]; tong = p + q tong = 1 3 -1 -4 3 % hoc >> q= [1 2] ; tong = p + [0 0 0 q]

V d 2: Tm cc thnh phn ti gin ca phn thc G(s) =

2s + 1 (s + 2)(s 2 + 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 :
G(s) = r(1) r(2) r(n) 1.1667 1.5 0.3333 + + ... + + k(s) = + + s p(1) s p(2) s p(n) s+4 s+2 s +1 k=[] th k(s)=0 .

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 ;

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -29-

V d 3: cho nh Laplace

2s3 + s 2 + 3s + 5 s(s + 1)2 Hy phn tch Y(s) thnh tng cc thnh phn ti gin. Y(s) =

>> 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 : Y(s) = r(1) r(2) r(3) 2 3 3 + + +k= + + +2 2 2 s p(1) [s p(1)] s p(3) (s + 1) (s + 1) s

V d 4: Biu din phn thc sau di dng zero - cc (zero-pole-gain): 4s 2 + 16s + 12 G(s) = 4 s + 12s3 + 44s 2 + 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 : G(s) = K(s z1 )(s z 2 ) 4(s + 3)(s + 1) = (s p1 )(s p 2 )(s p3 ) (s + 6)(s + 4)(s + 2)

Bin Son : NGUYN TH HNG

- 30-

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 vng lp hay trong cc cu lnh iu kin. 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

< <= > >= == ~=


TON T LOGIC

nh hn nh hn hoc bng ln hn ln hn hoc bng bng khc


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 6~=6 b==6 l biu thc logic, c gi tr l 1. l biu thc logic, c gi tr l 0. 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) isstr(s) isnumeric(x) isempty(x) strcmp(s1,s2) isglobal(x)

True nu s l chui k t True nu s l chui k t True nu x l s (con s, mng s,...) True nu x (chui, mng, ma trn,...) l rng True nu 2 chui s1, s2 ging nhau True nu x l bin ton cc

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -31-

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) fprintf('loai yeu') elseif (diem==5)|(diem==6) fprintf('loai trung binh') elseif (diem==7)|(diem==8) fprintf('loai kha') elseif (diem==9)|(diem==10) fprintf('loai gioi') else end fprintf('So lieu khong hop le')

Bin Son : NGUYN TH HNG

- 32-

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: i : i2

% hoc i=i1:i2 nu i = 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

http://www.ebook.edu.vn -33-

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 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 % S=2+4+...+2*n n=input('nhap gia S=0; for i=1:n S=S+2*i; fprintf('%2d end fprintf('Tong %2d ra v tnh tng n s chn u tin bng vng lp for tri n: ');

la so chan thu:%3d\n',2*i,i) 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('%2d 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

- 34-

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 chuyn sang bc lp k tip, mi lnh cha c thc hin ca vng lp (thuc v bc lp hin ti) s b b qua.
Lnh break

Lnh break mnh hn lnh continue, n lm ngng ngay lp tc vng lp ang tnh. Lnh break c tc dng c trong cc cu trc iu kin if, switch. Nu break c s dng ngoi vng lp for hay while trong phm vi ca mt M-file, khi y M-file s b ngng ti v tr ca break.
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 mod(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

Vic thi hnh cc M-file hm s kt thc khi gp dng cui cng ca file hoc gp dng lnh return. Lnh return gip ta kt thc mt hm m khng cn phi thi hnh ht cc lnh ca hm .
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.
V d:
% chng trnh tnh nh thc ma trn A A = input('Nhap ma tran vuong A:') if isempty(A) % Nu A rng errordlg('Nhap lai ma tran A','Dialog') return else DET=det(A) end

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -35-

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= x2+3x + 5 y2= sin(x) Thc hin trong MATLAB: >> x=[0: 0.01: 10]; >> y1=x.^2+3*x+5; >> plot(x,y1) >> x=[0: 0.01: 3*pi]; >> y2=sin(x); >> plot(x,y2)

trong khong [0,10] trong khong [0,3] % to mng x c gi tr t 0 n 10 vi gia s 0,01 % to mng y (= tnh cc gi tr tng ng ca y) % v th y1 theo x

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 dotted dashdot dashed point

x + * s o d

x-mark plus star square circle diamond

v ^ < > p h

triangle (down) triangle (up) triangle (left) triangle (right) pentagram hexagram

-. -.

Bin Son : NGUYN TH HNG

- 36-

V d: V th hm s

y1 = 1 3e 2t + 2e 3t

trong khong [0,10], chn mu blue, nt lin


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

y2 = 1 + 2e sin(2t / 6)

>> 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 . % gi nguyn th v tip trn cng h trc to . 6. hold hoc hold on 7. legend('chthch1', 'chthch2',...) % to ch thch khi v nhiu th . V d : Do thi sin(x) va cos(x) >> x=[0:0.1:2*pi]; 1 >> y1=sin(x); 0.8 >> plot(x,y1,'k'); 0.6 0.4 >> hold on sin(x) 0.2 >> y2=cos(x); cos(x) 0 >> plot(x,y2,'b--'); -0.2 >> title('Do thi sin(x) va cos(x)') -0.4 >> xlabel('truc x') -0.6 >> ylabel('truc y') -0.8 -1 >> legend('sin(x)','cos(x)') 2 3 4 6 1 7 0 5 >> grid truc x 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,)
truc y

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--')

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -37-

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]) axis([xmin,xmax,ymin,ymax]) axis([xmi xma ymi yma zmi zma]) axis square axis equal axis off axis on

Thit lp cc gi tr min, max ca h trc 2D Thit lp cc gi tr min, max ca h trc 3D Ly di hai trc bng nhau (to vng bao vung, so vi mc nh l ch nht) Ly thang chia ging nhau cho c hai trc Tt b ch nn trc, nhn, li,... 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

- 38-

Kt qu :

5.3 V TH BNG HM EZPLOT

Hm ezplot dng v th ca hm s cho bi biu thc ch.


LNH NGHA

ezplot(y) ezplot(y, [a,b]) ezplot(f) ezplot(f, [a,b]) ezplot(f, [xmin,xmax,ymin,ymax]) ezplot(x,y) ezplot(x,y, [tmin,tmax])

V th hm y=f(x) , mc nh l x [-2,2] V th hm y=f(x) trong khong x [a,b] V th f(x,y) = 0 , mc nh l x v y [-2, 2] V th f(x,y) = 0 vi x v y [a,b] V th f(x,y) = 0 vi x [xmin,xmax] ; y [ymin,ymax] V th hm tham s x=x(t); y=y(t) vi t [-2, 2] v th x=x(t); y=y(t) vi t [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

http://www.ebook.edu.vn -39-

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 x +1 y= 2 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 [-2, 2]
2) V th hm y=y(x) hay y=y(t) trong khong ty chn

V d: V th hm s y = 1 3e 2t + 2e3t trong khong t [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

- 40-

V th hm s y = 1 + 2e t sin(2t / 6) trong khong t [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 x 2 + y 2 = 1 >> f= 'x^2+ y^2 - 1' >> ezplot(f) >> axis square ; grid Khong mc nh m Matlab t chn l x [-2, 2] , y [-2, 2]
4) V th hm f(x,y)=0 trong khong ty chn

V d: V th hm s : x 2 + y 2 = 1 Vi x [0,1], y [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 [-2, 2]

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -41-

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 sin 9t trong khong t [0,2] >> 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

- 42-

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 [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 r = x 2 + y 2

>>[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

http://www.ebook.edu.vn -43-

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

- 44-

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 >>shading interp >>set(h, 'EdgeColor','k') % chn bng mu % kiu bng % 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

http://www.ebook.edu.vn -45-

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

- 46-

CHNG 6

BIU THC CH
6.1 KHI NIM BIU THC CH (SYMBOLIC EXPRESSION) V d: Cho hm s

y = x 2 + 12x + 4 Tnh o hm Gii:

dy , tnh gii hn ca y khi x 0 dx

dy = 2x + 12 dx
x 0

lim(x 2 + 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 y = x 2 + 12x + 4 Cch 1: >>syms x Cch 2: >>y = sym('x^2+12*x+4') % hoc >> x = sym('x') >>y = x^2+12*x+4

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -47-

Cc hm x l hm ch : cha trong th mc toolbox\symbolic Mt s hm gii tch thng dng: TN HM CHC NNG

diff int limit dsolve solve numden poly2sym sym2poly symsum(f,a,b) finverse taylor eval ezplot
Cc php bin i : TN HM

Tnh o hm Tnh tch phn Tnh gii hn Gii [h] phng trnh vi phn Gii [h] phng trnh dng a thc Xc nh t s v mu s ca hm hu t To a thc t vct hng cha cc h s Tm vct hng cha cc h s ca a thc Tnh tng ca hm f i t a n b Tm hm ngc Khai trin chui Taylor X l biu thc ch nh mt cu lnh MATLAB V th mt biu thc ch v in nhn, tiu

CHC NNG

laplace ilaplace fourier ifourier ztrans iztrans

Bin i Laplace Bin i Laplace ngc Bin i Fourier Bin i Fourier ngc Bin i Z Bin i Z ngc

nh dng v n gin ho cc biu thc : TN HM CHC NNG

collect expand factor pretty simple simplify

Rt gn biu thc, gom cc s hng theo nhm Khai trin biu thc t tha s chung, a a thc v dng tch cc tha s Hin th biu thc theo cch vit trong ton hc Ti gin ho biu thc n gin biu thc

V d 1: Cho hm y = x2+2x+3

a/ Tm o hm bc 1 v bc 2 ca y b/ Tm gii hn ca t s y/x khi x

Bin Son : NGUYN TH HNG

- 48-

c/ Tnh tch phn hm y trong on [1 , 3] d/ Tm nghim ca phng trnh y = 0 Gii: >> syms x ; y=x^2+2*x+3 ; >> Dy=diff(y) Dy = 2*x+2 >> D2y=diff(y, 2) D2y = 2 >> b= limit(y/x,x,inf,'left') b = inf >> c=int(y,1,3) c = 68/3 >> r = solve(y) r= [ -1+i*2^(1/2)] [ -1-i*2^(1/2)]
Ch : Cng c th tm nghim ca phng trnh trn bng nhiu cch khc. V d dng lnh:

% hoc >> y=sym('x^2+2*x+3');

% o hm bc nht % o hm bc hai % tm gii hn tri

% tch phn xc nh % tm nghim

>> r=solve('x^2+2*x+3=0') hay >> 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)=cos2t. Tm cc h s (vct hng) ca a thc t s v mu s ca G(s) . Tnh gi tr hm G(s) ti s1 = 1 ; s2 = -5j .

>> r= roots([1 2 3])

V d 2: Cho hm thi gian g(t) = sin(3t), tm bin i Laplace G(s).

>> syms t >> g=(cos(t))^2 ; >> G=laplace(g) G = 2/s/(s^2+4)*(1+1/2*s^2) >> G=simplify(G) G= (2+s^2)/s/(s^2+4) >> [n,d]=numden(G) n = 2+s^2 % xc nh a thc t s v mu s dng symbolic % rt gn biu thc % tm nh Laplace G(s)

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -49-

d = s*(s^2+4) >> p=sym2poly(n) p= q= 1 1 0 0 2 % xc nh a thc mu s dng vect 0 % >> G1= polyval(p,1)/polyval(q,1) % >>G2= polyval(p,-5j)/polyval(q,-5j) 4 >> q=sym2poly(d) >> s=1; G1= eval(G) G1 = 0.6000 >> s=-5j ; G2= eval(G) G2 = 0 + 0.2190i
V d 4: Tm hm thi gian y(t) khi bit nh Laplace Y(s) :

% xc nh a thc t s dng vect

Y(s) = Gii: >> syms s

4 s(s + 3)(s + 4) % khai bo s l bin symbolic % nhp biu thc ca Y(s) % bin i Laplace ngc 1 4 % y = e 3t + e 4 t 3 3

>> Y=4/(s*(s+3)*(s+4)) ; >> y=ilaplace(Y) y= -4/3*exp(-3*t)+exp(-4*t)+1/3


V d 5: Tm nghim ca phng trnh vi phn :

(a) (b)
Gii:

& y + 2y = 0 & y + 2y = t vi iu kin u: y (0) = 1

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 d2y / dt2, dng k hiu D3y biu din o hm bc ba d3y / dt3 , ...

a/ Tm nghim ca phng trnh thun nht: >> y =dsolve('Dy + 2*y = 0') y= C1*exp(-2*t) 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) >> pretty(x) % y= 1 1 5 2t t + e 2 4 4 % hoc >> f='Dy+2*y=0' ; y=dsolve(f)

Bin Son : NGUYN TH HNG

- 50-

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:
2x1 + 2x 2 3x 3 + x 4 = 4 4x1 + 3x 2 x 3 + 2x 4 = 6 8x1 + 5x 2 3x 3 + 4x 4 = 12 3x1 + 3x 2 2x 3 + 2x 4 = 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 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

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -51-

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.
V d 8: Tm tng ca n s chn u tin v tnh gi tr ca tng khi n=20 :

2k = ? ;
k =1

2k = ?
k =1

20

>> y= symsum (sym('2*k'),1,'n') Kt qu: Kt qu: Kt qu: y = (n+1)^2-n-1 y = n*(n+1)

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

>> y=factor(y) % rt gn kt qu bng cch t tha s chung >> y2= symsum (sym('2*k'),1,20) y2=420 % hoc >> n=20; y2 = eval(y)

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: Tm tng hu hn :

k =1

(2n 1)2 =

n(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)'))


>>syms a x; y= finverse(a^x)

% => y = log(x) % => y= log(x)/log(a) % => y= asin(x) % => y= x^2 % => y= atan(1/x)

>>y= finverse(sym('sin(x)')) >>y= finverse(sym('sqrt(x)')) >>y= finverse(sym('1/tan(x)'))

Bin Son : NGUYN TH HNG

- 52-

CHNG 7

NG DUNG MATLAB TRONG IEU KHIEN T ONG


7.1 MO TA PHAN T VA HE THONG TUYEN TNH 7.1.1 Mo ta phan t lien tuc

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 :
Y(s) b ms m + b m 1s m 1 + ... + b0 G(s) = = U(s) a n s n + a n 1s n 1 + ... + a 0

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 =[ bm bm-1 bo ] % a thc t s

DEN = [ an an-1 ao ] % 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]) Transfer function: 5 ------------s^2 + 6 s + 8

% do t s l bo=5 nn c th nhp [5] hay 5 u c.

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: 5s+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

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -53-

2) Phn t c m t ton bng m hnh zero-cc : (s z1 )(s z 2 ) ...(s z m ) G(s) = K (s p1 )(s p 2 ) ...(s p n )

c th m t trong Matlab bng lnh zpk vi c php :


SYS = zpk(Z,P,K)

Trong : Z = [z1 z2 zm] P = [p1 p2 pn] K = bm / an


V d 7-3:

% vct cc zero (nghim ca t s) % vct cc cc (pole, nghim ca mu s) % h s khuch i (gain, li)

Nu t s hm truyn khng c nghim th ly Z=[ ] (ma trn rng) >> 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) [z,K]= zero(SYS) p= pole(SYS)

% Tm vect z cha cc zero ca h SYS % Tm vect z v h s khuch i K ca h SYS % Tm vect p cha cc cc ca h SYS % sys2 m t v d 7-2

V d 7-4:

>>z= zero(sys2) z=-1 >>p=pole(sys2) p= -4 -2 -2

3) Phn t c m t ton bng m hnh trng thi : & x = Ax + Bu y = Cx + Du 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)

Bin Son : NGUYN TH HNG

- 54-

a= x1 x2 b= x1 x2 c= y d= y 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:

x1 -2 2 u 1 0 x1 0.5 u 0

x2 -4 0

x2 1

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 SYSS SYST SYSZ


V d 7-7 :

: : : :

m hnh bt k m hnh ss m hnh tf m hnh zpk

ss model

tf model

zpk model

>> 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

MATLAB CAN BAN & NG DUNG 7.1.2 Mo ta phan t ri rac

http://www.ebook.edu.vn -55-

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) 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

% hay >> z= tf('z',0.1); sys= (z+4)/ (z^2 + 2* z + 8)

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]); >> Gz=c2d(Gs,0.1) Transfer function:

% m t h lin tc c hm truyn t Gs % chuyn Gs thnh h ri rc c hm truyn t Gz

0.1034 z - 0.07638 ---------------------z^2 - 1.747 z + 0.8187 Sampling time: 0.1 >> Gs= d2c(Gz) Transfer function: s+3 -------------s^2 + 2 s + 8 % chuyn tr li h lin tc

Bin Son : NGUYN TH HNG

- 56-

7.2 KET NOI CAC PHAN T

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 :
V d:

SYS=minreal(SYS)

>> G1= tf([1 2],[1 4]) ; G2= tf(2,[1 2]); >> G12= series (G1,G2) Transfer function: 2s+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

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -57-

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 -| | +-----[ SYS2 ]<---+ SYSK = feedback(SYS1,SYS2) y = SYSK * u

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 :
r y

G1 1

G2 2 6

G3 3 G6

G4 4 G7 7

G5

Vic nh s th t cc khi theo quy tc : t tri qua phi, t trn xung di (hoc t di ln trn).

Bin Son : NGUYN TH HNG

- 58-

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 2 3 4 5 6 7 0 0 1 -5 2 -6 2 -6 3 0 3 0 4 0 0 0 0 0 0 0 3 -7 0 0 0 0 0 0 ];

input=1; output=4;

% v ng vo ca h thng l ng vo ca khi 1 % 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 : G5 x

s+8 2s
A

10
G1

1 s +1
G2

1 s+2
G3

1 s
G4

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -59-

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. s+8 2s
x
G5

10
G1

1 s +1
G2

1 s+2 G3

1 s+2 G3

1 s
G4

Chng trnh Matlab: g1=20; g2=tf(1,[1 1]); g3=tf(1,[1 2]); g4=tf(1,[1 0]); g5=tf([1 8],[2 0]); gtd1=feedback(g2,g5*g3,1); gtd2=feedback(g1*gtd1,1); gtd2=minreal(gtd2); SYS=feedback(gtd2*g3*g4,1); SYS=minreal(SYS) Kt qu : Transfer function: 10 ----------------------------s^3 + 13 s^2 + 21.5 s + 6 Cch 2: C th tnh trc tip vi s cho, 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([1 8],[2 0]); SYSA=append(g1,g2,g3,g4,g5); % hoc >> s=tf('s'); g5=2*(s+1); % mch hi tip dng % mch hi tip m n v % ti gin ho hm truyn % mch hi tip m n v

Bin Son : NGUYN TH HNG

- 60-

Q =[1 -2 -4 2 1 5 3 2 0 4 3 0 5 2 0] ; input=1; output=4;

% ng vo ca khi 1 l ng ra ca cc khi phn hi m 2 v 4 % ng vo ca khi 2 l ng ra ca cc khi 1 v 5 % ng vo ca khi 3 l ng ra ca khi 2 % ng vo ca khi 4 l ng ra ca khi 3 % ng vo ca khi 5 l ng ra ca khi 2 % ng vo ca h thng l ng vo ca khi 1 % ng ra ca h thng l ng ra ca khi 4

SYS=connect(SYSA, Q, input,output); SYS=minreal(SYS)

Ket qua :
Transfer function: 10 ----------------------------s^3 + 13 s^2 + 21.5 s + 6 Cch 3 : Thc hin hai bc : Bc1: V s h thng trong mi trng SIMULINK ca MATLAB, lu tn file l sodo1.mdl.
s+8 2s Transfer Fcn5 1 In1 20 Gain 1 s+1 Transfer Fcn2 1 s+2 1 s 1 Out1

Transfer Fcn 3 Transfer Fcn4

Bc 2: Nhp v thc thi on chng trnh sau : >>[A,B,C,D]=linmod('sodo1'); >>sys=ss(A,B,C,D); >>sys=tf(sys); >>sys=minreal(sys)

Ket qua :
Transfer function: 10 ----------------------------s^3 + 13 s^2 + 21.5 s + 6

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -61-

7.3. TNH TOAN VA VE BIEU O AP NG THI GIAN 7.3.1. ap ng bac thang

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
step(SYS) step(SYS,T) : step(SYS1,SYS2,...,T) [ y, t ] = step(SYS)

NGHA

V biu p ng bc thang ca h thng, khong thi gian do Matlab t ng xc nh. V biu p ng bc thang ca h thng trong thi gian t 0 n T V p ng ca nhiu h thng trn cng 1 h trc to 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.

Bin Son : NGUYN TH HNG

- 62-

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'); syms s % tm vct h s ca t v mu s hm truyn G. % 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 Y=G/s y=ilaplace(Y)
ap ng xung

% biu din hm truyn G di dng biu thc symbolic % nh Laplace Y(s) ca hm qu % hm qu y(t)

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)

ap ng tn hieu vao bat ky

- 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) >>u= 5*ones(size(t)); >>u= [1;zeros(100,1)]; >>u= t ; >>u= t.^2 ; >>u= square(4*t) ; >>u =sin(t) >>t=0: 1e-4: 1.5; >>u=sawtooth(2*pi*50*t)

% unit step (bc thang n v) u=1(t) % step (bc thang) u=5(t) % impulse (xung nhn n v) % ramp (hm dc) % parabol % xung vung % sng sin % sng rng ca chu k 2pi, bin 1

V d sau y minh ho p ng ca khu PT1 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)

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -63-

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)

y2 u y1

Bin Son : NGUYN TH HNG

- 64-

7.4. TNH TOAN VA VE BIEU O AP NG TAN SO


7.4.1 Bieu o Nyquist

Cc cu trc thng dng ca hm nyquist :


LNH
nyquist(SYS) nyquist(SYS1,SYS2,...) nyquist([k1;k2;...;kN],[DEN]) nyquist(SYS,w) [Re,Im]= nyquist(SYS,w)

NGHA

V biu Nyquist ca h SYS V biu Nyquist ca nhiu h thng trn cng h trc V biu Nyquist ca h SYS c hm truyn dng G(s)=k/DEN vi N gi tr khc nhau ca k V biu Nyquist ng vi vct tn s w nh trc. Nhp vect w theo c php wu: gia s : wcui 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:

R(s)

G(s)

Y(s)

G(s) =

( s + 1)

K s + 3s + 3s + 1
3 2

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.

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -65-

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 Bieu o Bode

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
bode(SYS)

NGHA V biu Bode ca h SYS

bode(SYS,{WMIN,WMAX}) bode(SYS1,SYS2,...) [MAG,PHASE] = bode(SYS,W) [MAG,PHASE,W] = bode(SYS) margin(SYS) [Gm,Pm,Wgm,Wpm]= margin(SYS)

V biu Bode ca h SYS trong phm vi tn s ch nh V biu Bode ca nhiu h thng chung trn mt h trc 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 V biu Bode v hin th gi tr d tr bin , d tr pha,... ngay trn biu 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). jT Vi h ri rc , hm bode s p dng thut ton bin i z = e 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 2/T nn vi h ri rc, hm bode ch tnh p ng cho nhng im tn s nh hn tn s ti hn /T.

Bin Son : NGUYN TH HNG

- 66-

7.5 Quy ao nghiem

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
rlocus(SYS) root =rlocus(SYS,K) [root,K]=rlocus (SYS) rlocfind sgrid pzmap(SYS) [P,Z]=pzmap(SYS)

NGHA

V qu o nghim Tnh v xut dy gi tr nghim ng vi K cho trc. Tnh v xut dy gi tr K v dy nghim tng ng. Chn K bng cch nhn chut trn biu nghim. To cc ng li ca gim chn v tn s ring n Tnh v v v tr cc cc v zero ca h thng 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.

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -67-

7.6 Giao dien LTIViewer

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 :
NGHA V cc biu ch nh bi tham s PLOTTYPE . PLOTTYPE c th l 'step', 'impulse', 'nyquist', ltiview(PLOTTYPE, SYS) bode', hoc t hp {'step'; 'impulse'; 'nyquist'; bode',} ltiview(SYS1,SYS2,,SYSN) V biu step ca nhiu h thng V cc biu ch nh bi PLOTTYPE ca ltiview(PLOTTYPE,SYS1,SYS2,,SYSN) nhiu h thng V d: LNH

>> 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,

Bin Son : NGUYN TH HNG

- 68-

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 SCRIFT 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/dm3. 6) Cho phng trnh bc hai ax 2 + 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. 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 file hm tnh chu vi v din tch tam gic khi bit di 3 cnh. 10) 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.

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -69-

Chng 3
1) S dng cc hm ton hc c bn c trong ti liu thc hin cc php tnh sau : (a) (b)

625 ;

9 ;

100

(h) 2sin(/5). arctg2(3) (i) (j)


(k)

e 0 ; e ; e 1 ; e
i30

(c) ( 1/2)e i5 (d) (3 + 2i) (e) (f) (g)


x

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

a vi a=8.10-4 v x=3/4 0/0 ; 1/0 ; 1/ 52.210. 3 .ln 5.lg 2

cos 2 4 2sin 3 2 2 sin(30) e

(l)

(1 cos 2 )

3/ 2

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: e x + e x f1 (x) = ; f 2 (x) = cosh(x) 2 e x e x g1 (x) = ; g 2 (x) = sinh(x) 2 Chy chng trnh. Nhn xt kt qu v gii thch ? 3) Vit chng trnh tnh gi tr ca cc biu thc sau : 3 4 h(t) = 1 e 2 t e9 t 7 7 y(t) = 1 + e
11 t 2

1 7 7 7 sinh 2 t cosh 2 t

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 : z1 = 3 + 2i
z 2 = 3ei45 Hy thc hin trong MATLAB cc php ton sau y vi hai s phc trn. (a) z1 + z 2

(b) z1 z 2 (c) z1 * z 2 (d) z1 / z 2 (e) Tnh mun v gc pha ca z1 . (f) Nhp z1 theo dng mun-pha. So snh kt qu tr v vi gi tr ban u ca z1.

Bin Son : NGUYN TH HNG

- 70-

5) Cho hai vect u, v nh sau: u = [ 2 4 6 8] ; 1 3 v= 5 7

(a) (b) (c) (d) (e) (f)

Tm phn t ln nht v phn t b nht ca vect u. Tm phn t ln nht v phn t b nht trong mi phn t ca c hai vect. Tm trung bnh cng ca cc phn t trong vect u. Tnh tng v tch cc phn t ca vect u. Tnh tch v hng v gc hp bi hai vect u v v. 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 200; b) Tp cc s nguyn dng 200; c) Tp cc s chn 200 ; d) Tp cc s l < 200; e) Tp cc s 200 v l bi s ca s k, vi k c gn gi tr trc, tu . f) Tp cc s 200 v em chia cho 4 lun c s d l 3. g) Tp cc s chnh phng 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. (b) Cho n = 100. Tnh tng n s l u tin. (c) Cho n=20. Tnh tng n s t nhin u tin chia ht cho 12. (d) Cho n=20. Tnh tng n s chnh phng u tin. (d) Tnh tng (e) Tnh tng (f) Tnh tng (g) Tnh tng 8) Cho cc ma trn sau: 1 2 A= 1 2 (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. ; 7 2 B= 1 0 ; 1 + 2i 5 2i C= 3 + i 1 + 3i S = 8! + 9! +10! S = 1/3! + 1/4! + 1/5!
T = 1 + 3 + 5 + ... + 97 + 99 + 100
T = 1 + 4 + 7 + ... + 100 + 8!

(S: 10100) (S: 104 ) (S: 2520) (S: 2870) (S: 4032*103) (S: 0.2167) (S: 1717) (S: 41545) (S: 1.9375)

(h) Tnh tng T = 1+ 1/2 + 1/4 + 1/8 +1/16

Hy thc hin cc php ton:

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -71-

9) Cho ma trn :
6 43 2 11 87 A = 12 6 34 0 5 24 18 7 41 9

S dng cc php ton trn mng v vect nh ( ), : , ....thc hin cc yu cu sau: (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 11 5 3 B = 0 12 4 2 6 1 7 14 1 C = 10 3 2 8 5 9

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:
P(x) = x 4 + 3x 3 x 2 5x + 1 Q(x) = 3x 2 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) G(s) = (b) H(s) = 10 s + 15s + 68s + 96
3 2

(c) (d)

H(s) = G(s) =

120s + 10 s(s 2 + 13s + 30) 20 (s + 2)(s + 4s + 13)


2

10s + 30 s(s + 15s 2 + 68s + 96)


3

Bin Son : NGUYN TH HNG

- 72-

Chng 4
1) Vit li cc chng trnh v d c trong ti liu v cch s dng cc cu trc if-elseifelse-end, switch-case, vng lp for, vng lp while, ... 2) Vit chng trnh tnh nghim ca phng trnh bc hai ax 2 + bx + c = 0 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/12 + 1/22 ++ 1/n2 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 n s nguyn t u tin vi n c nhp t bn phm v tnh tng, tch cc s nguyn t .

Chng 5
1) S dng lnh plot v th ca cc hm sau: (a)
f ( x) = 5 4 x x 2

, x [6, 2]

(b) g ( x) = 2 x 2 8 x 11 , x [1, 5] (c) y (t ) = 1 3e4t + 2e2t (d) (e) (f) (g) , x [0, 2]

h(t ) = 1 e2t cos t e2t sin t , t [0, 4] h(t ) = 1 e2t cos t


; t [0, 4] ; = 1, 2, 4, 6. 2 5t e sin 10 t 10 t [0, 2] t [0, 1]

h(t ) = 1 e5t cos 10 t +


h(t ) =

29 1 e 12t cos 4t 3e12t sin 4t 40

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -73-

2) S dng lnh ezplot v th 2 cp hm tham s sau trn cng h trc, t [0, 2] x = 7cost cos7t y = 7sint sin7t v x = 2cost 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, t [0, 2] x = 6cost cos9t y = 6sint sin9t v x = 2cos3 t y = 2sin3 t y(t)= 2( 1 e-t/T )

Thit t mu sc, kiu nt, marker. t li tiu ca th. 4) (a) S dng lnh ezplot v th hm s:

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 t [0, 20], trc tung y [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+/3) ; y3=sin(x+2/3) vi x [0, 3] 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) (b) (c) (d)
u ( x) = cos 2 x + sin 3 x ; v( x) = 3 cos( x) 2 sin( 2 x) ; x [0, 4] f ( x) = ex 3 x ; g ( x) = x 3 x (1 3x) ; x [0, 2]

f (t ) = sin 3t cos 2t ; g (t ) = (1/ 2)cos t + (5 / 2)cos5t ; t [-2, 2]


y1 (t ) = (1 + 2sin t )cos t ; y2 (t ) = (1 + 2sin t )sin t ; t [0, 2]

7) S dng lnh ezplot v th cc hm s sau trn cng mt h trc ta :


y1 (t ) = 1 3e2t + 2e 3t ;

y2 (t ) = 1 e 4t cos3t +

1 4t e sin 3t 3

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

Thit t h trc to vi t [0, 0.4]; h1 v h2 [0, 1.2].

Bin Son : NGUYN TH HNG

- 74-

Nhn xt kt qu v gii thch? 9) V trn cng mt h trc to th ca hai hm s : 3 1 h1(t) = 1 e 2 t e6 t 4 4 1 h2(t) = 1 e 4t sinh(2t) + cosh(2t) 2 Thit t h trc to vi t [0, 3]; h1 v h2 [0, 1.05].

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -75-

Chng 6
1) Tm gi tr b nht v ln nht ca cc hm s sau: a. y = x3 6 x 2 + 5 ; x [-1, 5] b. y = 2e x sin( x) ; x [-6, 0] c. y = 100 x 2 d. y = e. f.
1 x x2 1+ x + x
x2
2 2

a b c d e f

; x [-4, 4] ; x [-200,200]

y = 2tgx tg x ; x [0, /2]

y = xe

; x [-1, 1]

xmin= 4 ymin=-27 xmin=-2.356 ymin=-14.92 xmin= 4 ymin= 9.165 xmin= -200 ymin= -1 xmin= 1.57 ymin=-inf xmin=-0.707 ymin=-0.429

xmax= 0 ymax= 5 xmax=-5.498 ymax= 345.28 xmax= 0 ymax= 10 xmax=-0.5 ymax= 1.667 xmax= 0.785 ymax= 1 xmax= 0.707 ymax= 0.429

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) >> yN='-(x^3-6*x^2+5)' % yN= ['-',y] >> [xNmin, yNmin] = fminbnd (yN,-1,5) >> xmax=xNmin, ymax= -yNmin 2) Tnh cc gii hn sau : a. c.

% tm xmin, ymin ca hm y=f(x) % to yN = - y % tm xmin, ymin ca yN % o du ca yNmin

sin x lim x 0 x
lim 2tgx tg x
x 2

b.
2

1 lim ; x 0 x
t +

1 lim x 0 + x

d. f.
h.

lim 1 e

5t

a ; lim 1 + x + x

sin( x + h) sin x e. lim h 0 h g.


x x aa lim xa x a
a x ln a x2 lim x x 0 b x ln b
x 1

q p lim p x 1 1 x 1 xq
1 1 ; lim lim 1/ x x 0 1 + e x 0 + 1 + e1/ x
lim = 1 x x2 1 x x2 ; lim = 1 + x + x 2 x 1 + x + x 2

i.

k.

x +

Ch : Khi x 0Khi x 0+ Khi x - Khi x +

ly gii hn bn tri ('left') im 0 ly gii hn bn phi ('right') im 0 ly gii hn ti -Inf hoc gii hn bn phi ('right') im -Inf ly gii hn ti Inf hoc gii hn bn tri ('left') im Inf

Bin Son : NGUYN TH HNG

- 76-

3) Dng hm symsum tnh cc tng sau : a. b. c. d. f.

n
1

; ;

n2
1

; ;
n

n3
1

; ;
n

n4
1

2n
1

3n
1

(3n + 1)
1

4n 2
1

(2k 1)
1
k =1 n

; ; ;

(2k 1)2
1
k =1

; ;

k =1 n

(2k 1)3
k =1

(1/ k )
k =0

(1/ ak )
;

(1/ k 2 )
sin(k ) k

k!

xk k =0 k !

k =0

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. y y = sin t c. y + 2 y + y = (2 x + 4)e x d. e. f. g. 2 xyy y 2 + x = 0

( y )2 + y 2 = 1
y + 3 y + 2 y = 0 y + 2 y + 5 y = 3

vi iu kin (K) u vi K u vi K u vi K

y (0) = 0

y(0) = a ; y (0) = b y(0) = y (0) = 0 y(0)=1; y( / a) = 0

h. y a 2 y = 0

i. y + 3 y = x + cos x vi K u y(0) = y (0) = 0 5) Tm hm qu h(t) nu bit nh Laplace H(s) nh sau: (a) H(s) = (c) H(s) = (e) H(s) = 40 s(s + 13s + 40)
2

(b) H(s) = (d) H(s) = (f) H(s) =

10s + 25 s(s 2 + 6s + 25) 116(s + 40) s(s + 138s + 4640)


2

3s + 15 s(s + 6s + 15)
2

5s + 25 s(s + 8s + 25)
2

122(s + 43) s(s + 157s + 5246)


2

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -77-

Chng 7
1) Tm hm truyn t ca h thng c s khi sau y:

2(s+1) x
G5

1 s
G1

1 s +1
G2

1 s+2
G3

1 s
G4

y B

2) Tm hm truyn t ca h thng c s khi sau y:


G5

2(s+1) x
1 s
G1

1 s +1
G2

1 s+2
G3

1 s
G4

3) Tm hm truyn t ca h thng c s khi sau y:

2(s+1) x
H1

K
G1

1 s +1
G2

1 s+2
G3

1 s
G4

y B

4) Cho h thng c s khi nh hnh v .

PID

10 s + 5s + 6
2

B iu khin PID c KP =7; KI =12; KD =1. Tn hiu vo bc thang n v x= 1(t).

Bin Son : NGUYN TH HNG

- 78-

Hy vit chng trnh Matlab thc hin cc yu cu a, b, c, d, e sau y: a. Tm hm truyn t G(s) 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. 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 Bai7_4.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 Bai7_4B.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 KP v KD. Thay i gi tr KI tu . Xc nh gi tr gii hn ca KI h thng lun n nh. (ni cch khc, h() c gi tr hu hn). Trong phm vi h thng cn n nh, c nhn xt g v gi tr ca h() v e() khi KI thay i ? h. t gi tr KI =0 v KD=1. Thay i gi tr KP tu . Xc nh gi tr gii hn ca KP 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 KP thay i ? i. t gi tr KI =0 v KP=7. Thay i gi tr KD tu . C nhn xt g v gi tr e() v tnh dao ng ca h khi KD thay i ? 5) Thc hin tng t bi tp 4 vi h thng c s khi nh hnh v .

PID

6 s + 5s + 4
2

B iu khin PID c KP =6; KI =8; KD =1. 6) Thc hin tng t bi tp 4 vi h thng c s khi nh hnh v .

PID

1 s + 6s + 5
2

B iu khin PID c KP =9; KI =20; KD =1. 7) Thc hin tng t bi tp 4 vi h thng c s khi nh hnh v .

PI

40 s + 16s + 28
2

B iu khin PI c KP =1; KI =2 .

MATLAB CAN BAN & NG DUNG

http://www.ebook.edu.vn -79-

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) G1s 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 MATLAB 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

Bin Son : NGUYN TH HNG

- 80-

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 (x2+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