Professional Documents
Culture Documents
http://www.ebook.edu.vn -1-
CHNG 1
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
- 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 .
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
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
- 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 .
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
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
- 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)
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 ?
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
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')
- 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.
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;
Thc thi trong Command window : >> rad = change (30) rad = 0.5236
- 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
%======================================================
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.
- 12-
CHNG 3
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)
3.14159265358979
- 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 .
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)
% 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
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
- 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
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
- 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
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]
hoc
x=[x1: x2]
>> x =[0:10] x= 0 1 2 3
CHC NNG
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
http://www.ebook.edu.vn -19-
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
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 .\ .\ + -
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= [(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)
' '*
- 20-
V d : >> a=[3;2;5] ;
Gc gia 2 vect ct a v b
- 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:
http://www.ebook.edu.vn -21-
3.5 MA TRN
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 l ma trn vung cp 3
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.
- 22-
>> 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]
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
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
- 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)
>> E = eye(size(A)) E= 1 0 0 0 1 0 0 0 1
http://www.ebook.edu.vn -25-
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
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
- 26-
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
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 ]
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]
- 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]
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 ;
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)
- 30-
CHNG 4
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
& | ~
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
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
http://www.ebook.edu.vn -31-
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')
- 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
% 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)]);
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: ');
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.
- 34-
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
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
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
x + * s o d
v ^ < > p h
triangle (down) triangle (up) triangle (left) triangle (right) pentagram hexagram
-. -.
- 36-
V d: V th hm s
y1 = 1 3e 2t + 2e 3t
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--')
http://www.ebook.edu.vn -37-
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)')
- 38-
Kt qu :
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)
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
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:
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
- 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
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
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]
http://www.ebook.edu.vn -41-
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 .
- 42-
Phn II. HO 3D
5.6 TH NG 3D
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)
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.
- 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
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')
- 46-
CHNG 6
BIU THC CH
6.1 KHI NIM BIU THC CH (SYMBOLIC EXPRESSION) V d: Cho hm s
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
http://www.ebook.edu.vn -47-
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
Bin i Laplace Bin i Laplace ngc Bin i Fourier Bin i Fourier ngc Bin i Z Bin i Z ngc
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
- 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:
>> 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 .
>> 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)
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) :
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
(a) (b)
Gii:
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)
- 50-
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
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=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 = log(x) % => y= log(x)/log(a) % => y= asin(x) % => y= x^2 % => y= atan(1/x)
- 52-
CHNG 7
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
Trong ,
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
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 )
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:
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:
- 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
: : : :
ss model
tf model
zpk model
>> G3 = tf(sys3)
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
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
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:
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
- 56-
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
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
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).
- 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;
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);
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 );
s+8 2s
A
10
G1
1 s +1
G2
1 s+2
G3
1 s
G4
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
- 60-
% 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
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
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
http://www.ebook.edu.vn -61-
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.
- 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)
- 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)
http://www.ebook.edu.vn -63-
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
- 64-
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).
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])
http://www.ebook.edu.vn -65-
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
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)
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.
- 66-
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.
http://www.ebook.edu.vn -67-
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
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,
- 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.
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
e 0 ; e ; e 1 ; e
i30
2 3 sin(30)cos(45) 5
3 2 sin(30) .sign(sin(5 / 3).cos(135))
(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.
- 70-
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)
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) =
- 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]
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]
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
- 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].
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 = 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
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.
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
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 +
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
- 76-
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
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
3s + 15 s(s + 6s + 15)
2
5s + 25 s(s + 8s + 25)
2
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(s+1) x
1 s
G1
1 s +1
G2
1 s+2
G3
1 s
G4
2(s+1) x
H1
K
G1
1 s +1
G2
1 s+2
G3
1 s
G4
y B
PID
10 s + 5s + 6
2
- 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 .
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
- 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