MatlaBcoban F10

Embed Size (px)

Citation preview

  • 8/3/2019 MatlaBcoban F10

    1/82

    MATLAB CAN BAN & NG DUNG -1-

    CHNG 1

    GII THIU V MATLAB

    MATLAB l sn phm phn mm ca cng ty MathWorks Inc. u im ni bt caMATLAB l kh nng tnh ton v biu din ho k thut nhanh chng, a dng vchnh 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 vinhiudng th thch hp, gip ngi s dng c th trnh by kt qu tnh ton mt cchtrc quanv thuyt phc hn. Thm vo , cc phin bn MATLAB ngy cng pht trinnhiu module phn mm b sung, gi l cc Toolbox (b cng c) vi phm vi chc nngchuyn 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 thngiu khin. Cc v d v hnh minh ho trong ti liu c thc hin vi phin bnMATLAB 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 stch hp nh hnh di y :

    1

    2

    3

    4

    Command History

    Workspace

    5

  • 8/3/2019 MatlaBcoban F10

    2/82

    Bin Son: NGUYN TH HNG - 2-

    Ca s lnh Command Window : y l ca s chnh ca MATLAB. Ti y tathc hin ton b vic nhp lnh v nhn kt qu tnh ton. Du >> l du i lnh. Saukhi nhp lnh v kt thc bng ng tc nhn phm ENTER, MATLAB s x l lnh vxut kt qulin ngay di dng lnh. V d :

    >> a=5*2+6 (nhp lnh v nhn Enter )a= (kt qu)16

    Ca s Command History : Tt c cc lnh s dng trong Command Windowc 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 WorkspaceBrowser : Khi nim Workspace (khng gian lm vic) l mtvng nh ng trong b nh ca chng trnh, t ng hnh thnh khi MATLAB c khing v t ng xa khi thot MATLAB. Workspace lu gi cc bin khi ta s dngMATLAB. Tt c cc bin tn ti trong Workspace u c hin th ti ca s Workspace

    Browser vi cc thng tin v tnbin, gi tr, kch c Byte v loi d liu.Ca s th mc hin hnh Current Directory :chin th khinhp chut vo Current Directory. Nhca s nyngi s dng c th nhanh chng nhn bit cc thmc con v cc tp tin (file) ang c trong th mc hin hnh. Cc thao tc m file, lufile, tm M-file thc thi...c mc u tin cao nht cho thmc hin hnh.Mc nh khikhi ng MATLAB th th mc hin hnh l '...\Th mc ci t MATLAB\work'.

    Tn th mc hin hnh cng c ch r trn thanh toolbar (v tr ).Trn y ch l mt cch hin th t hp cc ca s trong mn hnh MATLAB. Ty

    theo thi quen v nhu cu s dng, ngi dng c th thay i linh hot cch hin th thngqua menuDesktop > Desktop layout >.... (Vi cc phin bn trc nh MATLAB 6 R12v 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 trnthanh menu hoc nhp lnh ti Command window theo c php:

    help tnlnh % xem tr gip ti command window.doc tnlnh %xem tr gip trong ca s Help.

    V d, tm hiu chc nng v cch dng ca lnh inputta c th nhp :>> help inputhoc :

    >> doc input

    Ngoi ra, chng ta cng c th xem cc v d minh ho c sn trong MATLAB bngcch nhp lnh demo.

    1.4 THOT KHI MATLABThc hin mt trong cc cch sau y :

    Nhp chut vo nt gc trn, phi ca mn hnh MATLAB. Chn menu File > Exit MATLAB.

    Nhn t hp phm Ctrl + Q

    >>quit hoc >>exit .

    1

    2

    3

    4

    5

  • 8/3/2019 MatlaBcoban F10

    3/82

    MATLAB CAN BAN & NG DUNG -3-

    1.5 TNH TON TI COMMAND WINDOW

    Vi cc bi ton n gin, ch cn dng t cu lnh MATLAB, chng ta thnggiibng cch trc tip nhp tng lnh ti ca s Command window.

    V d: Tnh th tch hnh hp :

    Ti du nhc lnh tanhp:>> 5*2*4

    MATLAB s tnh v hin kt qu :ans= 40ansl bin mc nh ca MATLAB dng cha d liu hay kt qu tnh ton nungi dng khng t tn.

    S dng du =ta c th khai bo mt bin, ng thi gn gi tr cho bin . Cc binc phn bit vi nhau bi tn bin.

    >> a=5; b=2; h=4;

    >> S=a*b % din tch yS = 10>> V= S*h % th tchV = 40

    a, b, h, S, Vl cc bin do ngi dng t tn (user variable).

    V d :Tn bin hp l : a; b; A; A1; A2; chieu_cao; TT; TT_1; TT_2Tn bin khng hp l : 1B; 2B; G(s); G'; G*, chieu cao; chieu-caoCc tnbin 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 (s3,14159), i hay j (s o n v), inf (s ), NaN hay nan (s bt nh 0/0).- Chiu di ti a (hay s k t ti a) ca tn bin c th kim tra bng lnh :>> namelengthmax

    ans =63

    a = 5 mb = 2 mh = 4 m

    Quy tc t tn bin:+ Tn bin phi bt u bng k t ch. K tip c th l ch, s v du _+ Khng c dngkhong trng v cc du ( ),' ,*,-,&,@ ,+ C s phn bit ch hoa v ch thng.

    h

    ba

  • 8/3/2019 MatlaBcoban F10

    4/82

    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 munMATLAB 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 bngkhong trng. Nucui lnh no cdu phy th MATLAB hin th kt qu, cndu chm phy th khng hin th kt qu.

    v d trn, nu nhp lnh :

    >> S=a*b; V=S*hth 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 lnhva g, bn c th nhn phm mi tn , tip tc nhn phm ny, n s gi tip lnhtrc . 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, gipbn d dng chnh sa ni dung dng lnh.

    Xem ni dung ca Workspace:

    Cch 1: Vo ca s Workspace Browser xem danh sch lit k.

    Cch 2: Dng lnhwho 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 arrayV 1x1 8 double arraya 1x1 8 double array

    ans 1x1 8 double arrayb 1x1 8 double arrayh 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: Nhplnh >>save ' ng dn\ tnfile.mat '

    V d: >>save ' C:\ MATLAB 7\ Work \ mydata1.mat 'Nu bn khng nhpng dn th mc nh l lu vo th mc hin hnh.

    Ti ni dung ca mt tp tin d liuvo li Workspace :- Cch 1: Vo menu File > Import Data > MATLAB Data File (*.mat) > chn tn tp

    tin > n nt Open.

    - Cch 2: Nhplnh >>load ' ng dn\ tnfile.mat '- Cch 3: Vo ca s Current Directory, nhpp chut vo tn tp tin cn m.

  • 8/3/2019 MatlaBcoban F10

    5/82

    MATLAB CAN BAN & NG DUNG -5-

    Thao tc trn cc bin c trong Workspace :

    Xem li gi tr ca bin: G tn bin ti du nhc lnh.

    >> tnbin>> tnbin_1, tnbin_2, ..., tnbin_n % gia cc tn bin c du phy

    Chnh sa gi tr c ca bin : G lnh gn mi.V d, thay i gi tr chiu cao h (ang l 4) thnh 6 v tnh li th tch :

    >> h=6

    h= 6

    >>V=S*h

    V=60

    Xo sch ni dung ang c trn mn hnh Command window (nhng khng xobin) va 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 :

    >> clearCc 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: >> cdKhi mi khi ng MATLAB7, th mc hin hnh mc nh l 'C:\MATLAB7\work'.

    To th mc mi : >> mkdir('ngdn', 'tn th mcmi')

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

  • 8/3/2019 MatlaBcoban F10

    6/82

    Bin Son: NGUYN TH HNG - 6-

    CHNG 2

    M-FILETrong 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. Ngidng 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 tica s Command window,bnc th sonv lu tt c cc cu lnh cn thit gii bi ton vo mt Script file. Sau bn ch cng tn file thc thiton b chng trnh.

    1) M ca s Editor :

    Cch 1: Trong command window g lnh editCch 2: Vo menu File >New >M-File

    Cch 3: Nhp chut vo icon (icon u tintrn thanh toolbar)

    2) Son tho

    Cu trc tng qut ca mt Scrift file :

    tnbin = ;tnbin = input('li nhc');

    KHI CC CU GIITHCH CHNG TRNH

    K hiu m u : %

    KHI CC CU LNHNHP D LIU

    Lnh gn, lnh input,...

    KHI CC CU LNH X LCc lnh x l

    Cc biu thc tnh ton

    THEO TRNH T

    THUT TON

    CHNG TRNH DNGLM G, AI VIT, U,

    KHI NO ?

    vung soan thao

  • 8/3/2019 MatlaBcoban F10

    7/82

    MATLAB CAN BAN & NG DUNG -7-

    K hiu % c th dng bt c ch no trong chng trnh to cu ghi ch, giithch. 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 =

    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 gnvo bin a.

    V d 1:Son thotp tin vd1.m vi ni dung nh sau :

    3) Lu: Vo menu File > Save > t tn tp tin > nhp nt save.

    Tp tin Scrift file c phn m rng l ".m", v c lu vo th mc hin hnh.Nu khng c s la chn khc th thmc hin hnh c mc nh l thmcwork ca MATLAB. Tn tp tin phi bt du bng k t ch, khng c khongtrng 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 githc hin theo cch 1 hay cch 2 th MATLAB cng u xutkt qu tnh ton ti ca s Command Window.

    5) Mmt 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, nhpp chut vo tn M-file cn m.Cch 3: Ti Command window, g lnh edit ('ng dn\tn file')

    % Chuong trinh tinh the tich hinh hop% DHSPKT, 10/2004% Nguoi viet: Nguyen Van A% -----------------------------------------------

    a = input('Nhap chieu dai a:');b = input('Nhap chieu rong b:');h = input('Nhap chieu cao h:');

    S=a*b; % Dien tich day

    V=S*h % The tich

    KHIGII THCH

    KHI X L

    D LIU

    KHI NHPD LIU

  • 8/3/2019 MatlaBcoban F10

    8/82

    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 gitr 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 file2) Son tho:

    Cu trc chunca 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 hmta c th thay chngbng cc tn bin c th.

    Tham s vo (cng gi l tham tr, hay i s) l cc bin trong hm m snhn 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 duphy. Nu ch c 1 tham s ra th khng cn dng du ngoc vung [ ].

    3) Lu: nhcch lu ca Scrift file. Khi lu hm, MATLAB s ly tn hm lmtn file, ngi lp trnh khng nn sa li tn ny trnh ln ln khi gi thchin 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) % tham bin V c th i tn tu , v d i l TT.TT = 40

  • 8/3/2019 MatlaBcoban F10

    9/82

  • 8/3/2019 MatlaBcoban F10

    10/82

    Bin Son: NGUYN TH HNG - 10-

    c im ca hm :

    Cc hm ch thng tin vi MATLAB thng qua cc bintruyn vo cho n v ccbin ra m n to thnh, cc bin trung gian bn trong hm th khng tng tc vi mitrng MATLAB.

    Khi MATLAB thc hin ln u cc file hm, n s m file v dch cc dng lnhca file ra mt dng m lu trong b nh nhm mc ch tng tc thc hin cc ligi hm tip theo. Nu sau khng c s thay i g trong M file, qu trnh dch s khngxy ra ln th hai. Nu trong hm c cha li gi hm M-file khc th cc hm cngc dch vo trong b nh. Bng lnh clear functionta 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 mitrng MATLAB (s dng base workspace), mi quan h duy nht gia cc bin tronghm vi mi trng bn ngoi l cc bin vo v ra ca hm . Nu bn thn cc bin cahmb 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 ngaysau khi hm thc thi xong nhim v, v vy khng th s dng thng tin ca ln gi trccho ln gi sau.

    Cc hm c th s dng chung cc bin vi hm khc hay vi mi trngMATLAB 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 sdng n.

    Mt M-file c th cha nhiu hm. Hm chnh (main function) trong M-file nyphi c t tn trng vi tn ca M-file. Cc hm khc c khai bothng qua cu lnhfunction c vit sau hm u tin. Cc hm con (local function) ch c s dng bi

    hm chnh, tcl 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 mtcch ring r, to thun li cho viclp mt file hm duy nht gii bi ton phc tp.

    V d 5 : To file hm tinh_gia_tien.m c ni dung sau

    function gia = tinh_gia_tien(L,d)

    % CTr tinh gia tien khoi thep hinh tru

    % khi biet chieu dai L (mm),duong kinh d (mm)

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

    gama=7800; % khoi luong rieng (kg/m^3)

    gia_don_vi= 10000; % (dong/kg)

    TT= tt_hinhtru(L,d) % (mm^3)

    TT=(1e-9)* TT % (m^3)

    gia= gia_don_vi*gama*TT; % dong

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

    % Local function (ham con)

    function V = tt_hinhtru(L,d)

    V=L*pi*d^2/4; % the tich (mm^3)

  • 8/3/2019 MatlaBcoban F10

    11/82

    MATLAB CAN BAN & NG DUNG -11-

    2.3. Bin cc b v bin ton cc

    a) Bin cc b

    Bin cc b ch c phm vi s dng trong mt hm. Cc bin cc b khng lu gitrong Workspace. Ti Command windowta 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 toncc c lu gi trong Workspace ca MATLAB v hin th ti ca s Workspace

    browser. Ti Command windowta 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 mtScript-file

    thnh mtFunction-filen gin khng c cc tham s vo, ra. V d, t Scrift-file vd1.mta to file hm vd1B.mc ni dung nh sau:

    function vd1B()

    a = input('Nhap chieu dai a:');

    b = input('Nhap chieu rong b:');

    h = input('Nhap chieu cao h:');

    S=a*b % dien tich day

    V=S*h % the tich

    Khi githc 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 cpc 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.

  • 8/3/2019 MatlaBcoban F10

    12/82

    Bin Son: NGUYN TH HNG - 12-

    CHNG 3

    CC KIU D LIU V PHP TNHMATLAB 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 thaca 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 % hoc >> c=1e6

    c=

    1.0000e+006

    >>d = -4e-3

    d=-0.0040

    1)Cc php tnh s hc

    Trong MATLAB, cc php tnh s hc c mc u tin ging nh trong tnh tonthng thng. Nu trong cu lnh c cc php tnh cng mc u tin th th t thc hin lt tri qua phi. Khi cn thay i mc u tin ta dng thm du ngoc n ( ).

    PHP TNH K HIU MC U TIN V D

    Ly tha ^ 1 3^2 ; a^(1/2)Nhn * 2 3*5 ; a*bChia / 2 2/4 ; a/bChia tri \ 2 2\4 (ngha l 4/2) ; a\bCng + 3 2+4 ; a+bTr - 3 2-4 ; a-b

  • 8/3/2019 MatlaBcoban F10

    13/82

    MATLAB CAN BAN & NG DUNG -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 trnhbc haic dng :

    2

    1,2

    b b b 4acx

    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 cas 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 lformat short. Ty theo yu cu ta c th nh dng li cc con s khi hin th. Vic nhdng ny khng nh hng n chnh xc tnh ton v MATLAB vn lu gi cc bintrong b nh vi gi tr thc s ca n.

    Lnh s dng Dng hin th V d: hin th s : >> piformat bank 2 ch s thp phn 3.14

    format 4 ch s thp phn 3.1416

    format short 4 ch s thp phn 3.1416

    format short e 4 ch s thp phnvidu chm ng

    3.1416e+00 (= 3.1416*10^0)

    format long 14 ch s thp phn 3.14159265358979

    format rat dng t s 355/113

    c gii thchchi tit v lnh format, bn g lnh: help format

  • 8/3/2019 MatlaBcoban F10

    14/82

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

    sqrt(x) Cn bc hai ca x, tng ng lnh x^(1/2)

    exp(x) Hm m cs e ca x (= e x )V d: exp(0)= e0 =1; exp(1)= e1 =2.7182

    log(x) Logarit cs e ca x (= lnx)

    log10(x) Logarit thp phn ca x

    abs(x) - Tm gi tr tuyt i ca xnu x l s thc- Tm mun ca x nu x l s phc

    round(x) Lm trn x ti s nguyn gn nht

    rem(x,y) Tm phn d ca x /y , c du ly theo x

    mod(x,y) Tm phn d ca x /y, c du ly theo ysign(x) Hm ly du ca x (hm signum); tr v 1 nu

    x>0; tr v -1 nu x

  • 8/3/2019 MatlaBcoban F10

    15/82

    MATLAB CAN BAN & NG DUNG -15-

    3.2 S PHC

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

    aphn thc; b phn o; i ton t o ( i= 1 )

    2)Dng mun-pha : z = | z | (cos + i sin )

    2 2| z | a b : mun

    = arctg (b/a) : gc pha

    3)Dng cc : iz | z | e

    3.3.2 Th hin trong MATLAB

    Trong Matlab cc k t i v j dng k hiu ton t oNu i hoc j c s dng cho cc gi tr khc th ta phi nh ngha li nh sau:

    i=sqrt(-1) hoc j = sqrt(-1)

    V d: >> z = 3 - 5i % hoc >> z = 3 - i*5

    z =3.0000 - 5.0000i

    >> z=5*exp(4i) % tc l z=5e4i

    z=

    -3.2682 - 3.7840iCc php tnh s hc trn s phc c dng tng t nhtrong s thc.

    Mt s hm tnh thnh phn ca s phc :

    TN HM CHC NNG

    z = complex(a,b) To s phc z =a+ib

    real (z) Tnh phn thc ca z

    imag(z) Tnh phn o ca z

    abs(z) Tnh mun |z|

    angle(z) Tnh gc , vi -atan2(imag(z),real(z)) Tnh gc , vi -

    conj(z) To s phc lin hp ca z

    V d: >> 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=z1z2= 2.0000 + 3.0000i

  • 8/3/2019 MatlaBcoban F10

    16/82

    Bin Son: NGUYN TH HNG - 16-

    3.3 CHUI

    Trong MATLAB, chui l dy k t t trong cp du nhy n ' '.Mi k t ca chui chim 2 byte trong b nh.

    >>s = '46' % s l bin chui, cha 2 k t 4 v 6, chim 4 byte

    >>str = 'the tich hinh hop' % str l bin chui, cha 17 phn t, chim 34 byte>>a=46 % a l bin s thc, chim 8 byte b nh

    >>c=46+32i % c l bin s phc, chim 16 byte b nh

    Cc hm x l chuithng dng :

    TN HM CHC NNG

    upper i ra k t hoa

    lower i ra k t thng

    str2num i chui ra s

    num2str i s ra chuiischar(s); isstr(s) Hm tr v 1 (True) nu s l chui

    strcat (s1, s2,...) Ni cc chui thnh hng, t ng ngt bt khongtrng cui chui nu c.

    strvcat (s1,s2,...) Ghp cc chui thnh ct (ma trn k t), t ngthm khong trng, b qua chui rng

    str2mat (s1,s2,...) Ghp cc chui thnh ct (ma trn k t), t ngthm khong trng, chui rng cng tnh l 1 ct.

    disp(s) Hin th ni dung ca bin s ra mn hnh

    fprintf a d liu c nh dng ra file hoc mn hnh

    strcmp(s1,s2) So snh hai chui, true nu s1 ging s2

    strncmp(s1,s2,N) True nu N k t u ca s1, s2 ging nhau

    eval('chui') X l chui nhmt lnh MATLAB

    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 binKt 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.3fth 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

  • 8/3/2019 MatlaBcoban F10

    17/82

    MATLAB CAN BAN & NG DUNG -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 mmX 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 banChung 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 haihng 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 = 5Chieu cao h = 2The tich :

    TT = 157.0796

  • 8/3/2019 MatlaBcoban F10

    18/82

    Bin Son: NGUYN TH HNG - 18-

    3.4 VCT

    Trong MATLAB, cc thut ng vctv 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 chmphy.

    V d :

    >> a = [1; 3; 4]

    a =134

    khai bo mt vct hng (mng hng) ta nhp cc phn t nm trong du ngocvung [ ], phn cch nhau bi khong trng hoc du phy.

    V d :>> b = [2 3 4 7] % hoc >>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 bobng 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 vectx

    Nu x=1 th c th khai bo n gin:x=x1: x2 hoc x=[x1: x2]

    V d:

    >> x =[0:10] % Vectxbiu din 11 s t nhin t 0 n 10.

    x =0 1 2 3 4 5 6 7 8 9 10

    >> k=15 ; v=[k:k:1000*k] % Vect v biu din 1000 s l bi s ca k

    Mt s hm vvct (mng) :

    HM CHC NNG

    length(a) Tm s phn t ca vct a

    size(a) Tm kch thc vct, c dng (1x n) hoc (n x 1)

    a(i) Tm phn t th i ca vct a (i=1,2,3,)

    a(i : j) Tm cc phn t t th i ti thj ca vcta

    norm(a) Tnh chun Euclid ca vcta ( = ||a|| = cn bc haica tng bnh phng ccphn tca a)

    sum(a) Tng cc phn t

    prod(a) Tch cc phn t

  • 8/3/2019 MatlaBcoban F10

    19/82

    MATLAB CAN BAN & NG DUNG -19-

    min(a) Phn t b nhtca vect a

    max(a) Phn t ln nhtca vect a

    mean(a) Trung bnh cng ca cc phn t

    V d: a) Cho n=50. Tm tng n s chnu tinb) Cho n=50. Tm tng n s l u tinb) 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 .^ c=a.^2 c= [(a1^2);(a2^2); ...; (an^2)]

    Nhn * hoc .* c=a*2 c= [(a1*2);(a2*2); ...; (an*2)]

    Chia / hoc . \ c=a/2 c= [(a1/2);(a2/2); ...; (an/2)]Chia tri .\ c=a.\2 c= [(2/a1);(2/a2); ...; (2/an)]

    Cng + c=a+2 c= [(a1+2);(a2+2); ...; (an+2)]

    Tr - c=a-2 c= [(a1-2);(a2-2); ...; (an-2)]

    Cc php tnh gia hai vc t:

    PHP TNH K HIU V D NGHA

    Ly tha .^ c=a.^b c= [(a1^b1);(a2^b2); ...; (an^bn)]

    Tch c hng .* c=a.*b c= [(a1*b1);(a2*b2); ...; (an*bn)]

    Chiaphi ./ c=a./b c= [(a1/b1);(a2/b2); ...; (an/bn)]

    Chia tri .\ c=a.\b c= [(a1\b1);(a2\b2); ...; (an\bn)]

    Cng hai vect + c=a+b c= [(a1+b1);(a2+b2); ...; (an+bn)]

    Tr hai vct - c=a-b c= [(a1-b1);(a2-b2); ...; (an-bn)]

    Chuyn v (ct thnhhng hay ngc li) ' a'

    a=[a1; a2 ; ...;an] th a'=[a1 a2 ... an]

    a=[a1 a2 ... an] th a'=[a1; a2 ;...;an]

    Tch v hng '* c=a'*b c= (a1*b1)+(a2*b2)+ ... + (an*bn)

  • 8/3/2019 MatlaBcoban F10

    20/82

    Bin Son: NGUYN TH HNG - 20-

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

    >> b=[-1;3;-6] ; % b l vectct

    >> c=a.*b % Tch c hng Kt qu l mt vc t.c =

    -36

    -30

    >> d=a'*b % Tch v hng Kt qu l mt s v hng.

    d = -27

    Gc gia 2 vect ct a v b

    - Biu din trong ton hc :Ta .b

    arccosa . b

    trong : aT l vectchuyn 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 thng c bit

    - C th to mt vct hng tuyn tnh bng cch dng lnh:linspace(gi tr u, gi tr cui, s phn t)

    Nu ta khng nhp s phn t th mc nh l 100 phn t.

    V d:

    >> x = linspace (0, 20,11)

    x =0 2 4 6 8 10 12 14 16 18 20

    - C th tomt 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 50phn t.

    V d:

    >> w = logspace(1,2,5)

    w =10.0000 17.7828 31.6228 56.2341 100.0000

  • 8/3/2019 MatlaBcoban F10

    21/82

    MATLAB CAN BAN & NG DUNG -21-

    3.5 MA TRN

    Ma trn c dngtng qut :

    x

    11 12 1

    21 22 2

    1 2

    n

    n

    m m mn m n

    a a a

    a a a

    a a a

    A

    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 (,) . Cchng phn cch nhau bi du chm phy (;).

    V d 1:

    >> A = [1 2 3 ; 4 5 6 ; 7 8 9] % A l ma trn vung cp 3

    Cng c th nhp vo MATLAB theo tng hng :>> A= [ 1 2 3

    4 5 6

    7 8 9 ]

    C hai cch nhp trn u c MATLAB tr v kt qu l :

    A =1 2 3

    4 5 67 8 9

    3.5.1 Ccphp tnh trn ma trn

    Cc php tnh cng, tr, nhn, lu tha, chia phi, chia tri gia ma trn v mt s vhng 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 tngs 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 cvi 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./Bhoc A.\B thc hin chia phi hoc tri tng ng tngs hng.

    Php nhn A*Bc hiu l php nhn ma trn nh trong ton hc, ch thc hin cvi cc ma trn tng thch (s ct ca A bng s hng ca B).

    Php chia phi A/Btng 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 khima 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 trnA bt k. Cn php lu tha A^2 tng ng viA*A, ch cngha khi A l ma trn vung.

  • 8/3/2019 MatlaBcoban F10

    22/82

    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; % hm syms khai bo cc bin ch

    >> A=[a1 a2; a3 a4] , B=[b1 b2; b3 b4]

    A = B=[ a1, a2] [ b1, b2]

    [ a3, a4] [ b3, b4]

    >> 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 % ging php nhn ma trn trong ton hc

    C1=

    [ a1*b1+a2*b3, a1*b2+a2*b4]

    [ a3*b1+a4*b3, a3*b2+a4*b4]

    >>C2=A.*B % php chm nhn, thc hin nhn tng phn t tng ng

    C2=

    [ a1*b1, a2*b2]

    [ a3*b3, a4*b4]

    >> A./B % php chm chia phi

    ans =

    [ a1/b1, a2/b2]

    [ a3/b3, a4/b4]

    >> A.\B % php chm chia trians =

    [ b1/a1, b2/a2]

    [ b3/a3, b4/a4]

    >> D=A\B % php chia tri

    D=

    [ -(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)]

  • 8/3/2019 MatlaBcoban F10

    23/82

    MATLAB CAN BAN & NG DUNG -23-

    3.5.2 Cc hm tm kch thc, thnh phn ca ma trn :

    TN HM CHC NNG

    size (A) Tm kch thc ma trn A

    size (A,1) Tm s hng ca ma trn A

    size (A,2) Tm s ct ca ma trn A

    rank(A) Tm s ct hoc s hng c lp tuyn tnh.Vi ma trn vung s tm hng(cp) ca ma trn.

    A(1,:) Tm hng th nht

    A(:,2) Tm ct th hai

    max(A) To vect hng cha cc phn t ln nht ca mi ct.

    min(A) To vect hng cha cc phn t b nht ca mi ct.

    numel(A) Tm tng s phn t ca ma trn A

    A(1,2) Tm phn t hng th 1, ct 2 A(1,2)=6 Thay phn t hng th 1 ct 2 bng 6

    V d 2: Cho 2 ma trn :

    1 2 3 0 2 4

    X 4 5 6 ; Y 6 5 1

    7 8 9 3 9 7

    (a) To vect a chacc phn t hng hai ca ma trn X.(b) To vectb cha haiphn t cui hng hai ca ma trn X.

    (c) To vectc chacc phn t ct ba ca ma trn Y.(d) To vecthng d chacc phn t hng hai ca X v ct baca Y.(e) To vect ct e cha cc phn t hng hai ca X v ct ba ca Y.

    Gii.

    >> X=[1 2 3;4 5 6;7 8 9]; Y=[0 2 4;6 5 1;3 9 7];

    >> a= X(2, :)

    a= 4 5 6

    >> b= a(2: 3) % b l vect cha 2 phn t cui ca vect a

    b= 5 6

    >> c= Y(:, 3)c= 4

    17

    >> d= [X(2, :) , Y(:, 3)']

    d= 4 5 6 4 1 7

    >> e= [X(2, :)' ; Y(:, 3)] % hoc e=d'

    e= 4564

  • 8/3/2019 MatlaBcoban F10

    24/82

  • 8/3/2019 MatlaBcoban F10

    25/82

    MATLAB CAN BAN & NG DUNG -25-

    V d 5. Tmgi 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 gil gi tr ring v vect ct x gi l vect ring ca ma trn A. Tng ng vi mi gi trring l mt vect ring x.

    Trong Matlab, cc gi tr ring cth tm bng cch dng lnh eig(A). tm ngthi c gi tr ring v vct ring ca A c th dng lnh [X,D]=eig(A). Cc phn t trnng cho chnh ca ma trn cho D l cc , cn cc ct ca ma trn X l cc vct ringlm 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 -1.1168 0

    0 0 -0.0000

    V d 6. Gii h phng trnhtuyn tnhcho dng ma trn:

    1

    2

    3

    1 3 1 x 32 1 4 x 1

    4 2 1 x 1

    ;

    A.x = b 1b

    x A .bA

    Chng trnh MATLAB:

    >>A=[1 -3 1 ; 2 1 -4 ; 4 -2 1]

    >>b=[3; -1; 1]

    >>x=inv(A)* b % cng c th dng php chia tri : x=A\bKt qu :

    x =-0.2821

    -1.1538-0.1795

  • 8/3/2019 MatlaBcoban F10

    26/82

    Bin Son: NGUYN TH HNG - 26-

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

    1 2 3 4

    1 2 3 4

    1 2 3 4

    1 2 3 4

    2x 2x 3x x 4

    4x 3x x 2x 6

    8x 5x 3x 4x 12

    3x 3x 2x 2x 6

    Tnh ton trong MATLAB :

    >>A=[2 2 -3 1; 4 3 -1 2; 8 5 -3 4; 3 32 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.33330.3333

    -0.33331.6667

    V d 8: Gii h 4 phng trnh 3 n :

    1 2 3

    1 2 3

    1 2

    1 2 3

    x 2x 3x 366

    4x 5x 6x 804

    7x 8x 351

    2x 5x 8x 514

    Trng hp gii h phng trnh c s phng trnh khc vi s n cn tm(khng phi h Cramer) th ma trn A khng vung nn khng dng c hm inv(A). Btbuc phi dng php chia tri x=A\b .

    >> A=[1 2 1;4 5 6; 7 3 0; 2 5 8]

    A =1 2 3

    4 5 67 8 0

    2 5 8

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

    >> x=A\bx =

    -14.1925203.8830-43.4226

  • 8/3/2019 MatlaBcoban F10

    27/82

    MATLAB CAN BAN & NG DUNG -27-

    3.6 A THC

    Cho a thc bc n :n n 1

    n n 1 1 0p a x a x a x a

    Trong MATLAB, a thc c biu din nhmt vecthng vi cc phn t l cch 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.

    >> n n 1 1 0p a a ... a a

    V d, nhp a thc: p = x4 + 3x3x25x + 1

    >> p = [1 3 -1 -5 1]

    p = 1 3 -1 -5 1

    Cc php tnh vi a thc:

    HM NGHA

    conv(p1,p2) Nhn hai a thc

    [k,d]=deconv (p1,p2) Chia hai a thc ( k= kt qu; d =phn d)

    k=polyder(p) Tm o hm ca a thc p

    k=polyder(p,q) Tm o hm ca a thc tch (p*q)

    [n,d]=polyder(num,den) Tm o hm (dng n/d) ca phn thc (num/den)

    roots(p) Tm nghim a thc p

    p=poly(r) Lp a thc p t vect r cha cc nghim.

    polyval(p,x) Tnh gi tr ca a thc ti x (x c th l mng)[r,p,k]= residue(num,den) Tm cc thnh phn ti gin ca phn thc[num,den]=residue(r,p,k) Chuyn cc thnh phn ti gin thnh 1 phn thcprintsys(num,den,'s') in phn thc c dng t s 2 a thc theo s[z,p,k]=tf2zp(num,den) Tm cc zero z, cc p, li k ca phn thc

    V d 1:

    >>p = [1 3 -1 -5 1] ; r =roots(p)r =

    -2.5764-1.7475

    1.12680.1971

    >> p= poly(r) % Ti to a thc p t vect nghim rp =

    1 3 -1 -5 1

    >> q=[1 2] % q=x+2

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

    w =1 5 5 -7 -9 2

  • 8/3/2019 MatlaBcoban F10

    28/82

    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= (x4 - 3x3 - x2 - 5x - 1)(x-2)(4x-1)

    w2=4 21 25 -23 -43 -1 2

    Hai a thc cng bc c th cng tr theo php cng tr thng thng. MATLABkhng c hm cng tr cc a thc khc bc. Trng hp ny ta c th to chng trnhring dng hoc p dng cch n gin sau y :

    V d cn cng hai a thc

    p = x4 + 3x3x25x + 1

    q =x+2

    Ta nhp vo MATLAB:

    >> p=[1 3 -1 -5 1];

    >> q=[0 0 0 1 2]; tong = p + q % hoc >> q= [1 2] ; tong = p + [0 0 0 q]tong =

    1 3 -1 -4 3

    V d 2: Tm cc thnh phn ti gin ca phn thc2

    2s 1G(s)

    (s 2)(s 5s 4)

    >>num= [2 1];

    >>den= conv( [1 2],[1 5 4] ) ;

    >>[r,p,k]=residue(num,den)

    Kt qu:r =

    -1.16671.5000

    -0.3333

    p =-4.0000

    -2.0000-1.0000

    k =[]

    Trng hp nyG(s) ch c cc cc ring bit p(1), p(2), p(3).(ni cch khc l mu s ca G(s) ch c nghim n )

    Do c th phn tch :

    r(1) r(2) r(n) 1.1667 1.5 0.3333G(s) ... k(s)

    s p(1) s p(2) s p(n) s 4 s 2 s 1

    trong k(s) l a thc theo s, tng ng vi vect k.

    V d: k=[1;3] th k(s)= s+3 ; k=3 th k(s)=3 ; k=[] th k(s)=0 .

  • 8/3/2019 MatlaBcoban F10

    29/82

    MATLAB CAN BAN & NG DUNG -29-

    V d 3: cho nh Laplace3 2

    2

    2s s 3s 5Y(s)

    s(s 1)

    Hy phn tch Y(s) thnh tng cc thnh phn ti gin.

    >> num=[2 1 3 5];

    >>den=conv([1 0],conv([1 1],[1 1]));>> printsys(num,den,'s')

    num/den =2 s^3 + s^2 + 3 s + 5------------------------s^3 + 2 s^2 + s

    >> [r,p,k]=residue(num,den)r =

    -8-15

    p =-1-10

    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 nghimbi p(1) = p(2) = -1 )

    Do Y(s) c th phn tch thnh tng :

    2 2

    r(1) r(2) r(3) 2 3 3Y(s) k 2s p(1) s p(3) (s 1) s[s p(1)] (s 1)

    V d 4: Biu din phn thc sau di dng zero - cc (zero-pole-gain):2

    4 3 2

    4s 16s 12G(s)

    s 12s 44s 48s

    >> num=[4 16 12]>> den=[1 12 44 48 0]>> [z,p,k]=tf2zp(num,den)

    z =

    -3-1p =

    0-6.0000-4.0000-2.0000

    k =4

    Do :

    1 2

    1 2 3

    K(s z )(s z ) 4(s 3)(s 1)G(s)(s p )(s p )(s p ) (s 6)(s 4)(s 2)

  • 8/3/2019 MatlaBcoban F10

    30/82

    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 kintrong cc vng lp haytrong cc cu lnh iu kin. Cc biu thc logic trong MATLAB c thnh lp trn c scc ton t quan h v ton t logic. Ton t quan h l cc k hiu th hin s so snh,ton t logic l cc k hiu dng lin kt cc biu thc logic.

    TON T QUAN H NGHA

    < nh hn

    ln hn

    >= ln hn hoc bng

    == bng

    ~= khc

    TON T LOGIC NGHA

    & v

    | hoc

    ~ khng

    Biu thc logic cho kt qu chn tr l ng (true) hoc sai (false). TrongMATLAB, biu thc ng s c gi tr l 1, biu thc sai c gi tr l 0.

    V d:12.5>12 l biu thc logic, c gi tr l 1.

    6~=6 l biu thc logic, c gi tr l 0.

    b==6 c gi tr l 1 nu b=6, c gi tr l 0 nu b khc 6.

    (12.5>12)& (5>6) c gi tr l 0.

    MATLAB cng cung cp cc hm c chc nng kim tra, so snh v tr v kt qulogic l 1 (true) hoc 0 (false). Cc hm thng dng nht l:

    HM NGHA

    ischar(s) True nu s l chui k t

    isstr(s) True nu s l chui k t

    isnumeric(x) True nu x l s (con s, mng s,...)

    isempty(x) True nu x (chui, mng, ma trn,...) l rng

    strcmp(s1,s2) True nu 2 chui s1, s2 ging nhau

    isglobal(x) True nu x l bin ton cc

  • 8/3/2019 MatlaBcoban F10

    31/82

    MATLAB CAN BAN & NG DUNG -31-

    4.2 Cc cu lnh iu kin

    1) Cu trc if end

    if

    Khi cc lnh thc hin nu iu kin l ngend

    2) Cu trc if elseend

    if

    Khi cc lnh thc hin nu iu kin l ng

    elseKhi cc lnh thc hin nu iu kin l sai

    end

    3) Cu trc if elseifelseend

    if

    Khi cc lnh thc hin nu iu kin 1 ng

    elseif

    Khi cc lnh thc hin nu iu kin 2 ng

    elseif

    Khi cc lnh thc hin nu iu kin 3 ngelse

    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 camt hc sinh. Nu im st 1 n 4 th xut ra dng nhn "loi yu", nu im s l 5hoc 6 th xut ra dng nhn "loi trung bnh", nu im sl 7 hoc 8 th xut dng nhn"loi kh", nu im sl 9 hoc 10 th xut dng nhn "loi gii". Nu im snm 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

  • 8/3/2019 MatlaBcoban F10

    32/82

    Bin Son: NGUYN TH HNG - 32-

    4) Cu trc switch-case

    switch

    case gi tr th 1

    khi lnh 1case {gi tr th 2, gi tr th 3,...}

    khi lnh 2

    otherwise

    khi lnh 3end

    iu kin trong cu trc switch-case phi c gi tr dng s nguyn hoc dngchui. lnh cases so snh gi tr ca iu kin vi cc gi tr th thc hin khi lnhtng 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 tnggiai tha 1!+2! +3!+...+n!')

    n = input ('Nhap gia tri n:');

    if n==0, tong=1;

    elsetong=0; % gia tri khoi dau

    for k=1:n

    tong= tong+prod(1:k);

    endend

    disp(['Tong can tim la:',num2str(tong)]);

  • 8/3/2019 MatlaBcoban F10

    33/82

    MATLAB CAN BAN & NG DUNG -33-

    V d 2:

    % chng trnh gii tm nghim a thc bc n

    % Cc h s nhp theo dng vcthng. 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 ra v tnh tng n schn u tin

    % S=2+4+...+2*n bng vng lp for

    n=input('nhap gia tri n: ');

    S=0;for i=1:n

    S=S+2*i;

    fprintf('%2d la so chan thu:%3d\n',2*i,i)

    end

    fprintf('Tong %2d so chan dau tien la:%3d\n',n,S)

    4.3.2 Vng lp while

    while

    Khi cc cu lnh thc hin nu iu kin cn ngend

    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 bngvng lp while (thay v for) :

    % chng trnh in ra v tnh tng n s chnu tin

    % S=2+4+...+2*n bng vng lp while

    n = input ('Nhap gia tri n: ');

    while n

  • 8/3/2019 MatlaBcoban F10

    34/82

    Bin Son: NGUYN TH HNG - 34-

    4.4 Cc lnh to s gin on

    Lnh continue

    Trong vng lp for hay while, khi gi continuengay lp tc chu trnh tnhchuyn 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 breakmnh hn lnh continue, n lm ngng ngay lp tc vng lpang 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, khiy 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)

    endend

    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, triu 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 AA = 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

  • 8/3/2019 MatlaBcoban F10

    35/82

    MATLAB CAN BAN & NG DUNG -35-

    CHNG 5

    HO VI MATLABPhn I. HA 2D

    5.1 V TH BNG HM PLOTHm plotv 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 ngvi th hm s lin tc(ng cong trn v lin tc).

    5.1.1. V cn bnLnh plot(x,y) :v th y theo x.

    V d: V th cc hm sau:

    y1= x2+3x + 5 trong khong [0,10]

    y2= sin(x) trong khong [0,3 ]

    Thc hin trong MATLAB:

    >> x=[0: 0.01: 10]; % to mng xc gi trt 0 n 10 vi gia s 0,01>> y1=x.^2+3*x+5; % to mng y (= tnh cc gi tr tng ng ca y)>> plot(x,y1) % v th y1 theo x

    >> x=[0: 0.01: 3*pi];

    >> y2=sin(x);>> plot(x,y2)

    5.1.2. V c khai bo mu, kiu ntv nh duim d liu

    C php lnh: plot(x,y,S)

    trong tham s S l chui k t tu chn khai bo muv, kiu nt v/hoc k hiu nh du ti cc im d liu. Nu khng dng tham s S th mc nhl mu xanh dng (blue), nt lin (solid), khng c k hiu nh du .

    a) Mu (color)b = blue m = magentag = green y = yellowr = red k = blackc = cyan w = white

    b) Kiu nt (linestyle) v k hiu nh du (marker)

    Linestyle Marker

    - solid x x-mark v triangle (down)

    : dotted + plus ^ triangle (up)

    -. dashdot * star < triangle (left)

    -- dashed s square > triangle (right)

    . point o circle p pentagramd diamond h hexagram

  • 8/3/2019 MatlaBcoban F10

    36/82

    Bin Son: NGUYN TH HNG - 36-

    V d:V th hm s

    y1 = 2t 3t1 3e 2e % trong khong [0,10], chn mu blue, nt linty2 1 2e sin(2t / 6) %%trong khong[0,6], chn mu , nt gch chm

    t =[0: 0.001: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 th2. xlabel('nhn trc x') % to nhn cho trc x

    3. ylabel('nhn trc y') % to nhn cho trc y

    4. text(x,y,'nhn') % to nhn ti v tr c to (x,y)

    5. grid hoc grid on % hin cc li to .

    6. hold hoc hold on % gi nguyn th v tip trn cng h trc to .

    7. legend('chthch1', 'chthch2',...) % to ch thch khi v nhiu th .

    V d :>> x=[0:0.1:2*pi];>> y1=sin(x);

    >> plot(x,y1,'k');>> hold on>> y2=cos(x);

    >> plot(x,y2,'b--');>> title('Do thi sin(x) va cos(x)')>> xlabel('truc x')>> ylabel('truc y')

    >> legend('sin(x)','cos(x)')>> grid

    v hai hay nhiu th trn cng mt h trc to ta c th dng lnh hold onnh trn hoc dng lnh plotvi c php tng qut :

    plot(x1,y1,S1,x2,y2,S2,)

    trong x1,y1,S1 ng vi th th nht; x2,y2,S2 ng vi th th hai,

    v d trn, thay v dng lnh hold onta c th v kt hp hai th y1 v y2bngmt lnh plotduy nht nh sau:

    >> plot(x,y1,'k',x,y2,'b--')

    1 2 3 4 5 6 7-1

    0

    -0.8-0.6

    -0.4-0.2

    0

    0.20.4

    0.6

    0.81

    Do thi sin(x) va cos(x)

    truc x

    truc

    y

    sin(x)

    cos(x)

  • 8/3/2019 MatlaBcoban F10

    37/82

    MATLAB CAN BAN & NG DUNG -37-

    5.2 H TRC TO (axis), CA S V (figure), TH CON (subplot)

    Lnh axisl cng c dng qun l hnh dng v thang chia ca c hai trc ngv ngang. Lnh ny c nhiu tu chn, bit mt cch y v n, bn c th g lnhhelp axis hay doc axis. Mt s cch thng dng ca lnh axis l:

    LNH NGHA

    axis([xmin xmax ymin ymax])Thit lp cc gi tr min, max ca h trc 2D

    axis([xmin,xmax,ymin,ymax])

    axis([xmi xma ymi yma zmi zma]) Thit lp cc gi tr min,max ca h trc 3D

    axis square Ly di hai trcbng nhau (to vng baovung, so vi mc nh l ch nht)

    axis equal Lythang chia ging nhau cho c hai trc

    axis off Tt b ch nn trc, nhn, li,...

    axis on Ngc li vi axis off

    Nu mun v nhiu th trn cc figure(ca s v) khc nhau, ta to figure mibng lnh figurehoc chn menu file > new > figuretrong ca s figure ang v. Mi itng ha to mi nh figure, axis, line,... c MATLAB t ng gn cho mt shiu 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 nguyndng, 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 figuretm handleca figure hin hnh), gca ( Get handle to current axistm handle ca h trc hin hnh),findobj(gcf, 'Type','Line') (tm handle ca cc ng thtrong figure hin hnh).

    Mt khc, mt ca s figure c th cha nhiu hn mt h trc. Lnhsubplot(m,n,p)chia figure thnh mt ma trn (m x n) vng ho con gi l subplot , vchn p l subplot hin hnh. Cc subplot c nh s ln lt t tri qua phi, t trnxung 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 subplot1 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)')

  • 8/3/2019 MatlaBcoban F10

    38/82

    Bin Son: NGUYN TH HNG - 38-

    Kt qu :

    5.3 V TH BNG HM EZPLOTHm ezplotdng v th ca hm s cho bi biu thc ch.

    LNH NGHA

    ezplot(y) V th hm y=f(x) , mc nh l x [-2 ,2 ]

    ezplot(y, [a,b]) V th hm y=f(x) trong khong x [a,b]

    ezplot(f) V th f(x,y) = 0 , mc nh l x v y [-2 , 2 ]

    ezplot(f, [a,b]) V th f(x,y) = 0 vi x v y [a,b]

    ezplot(f,[xmin,xmax,ymin,ymax]) V th f(x,y) = 0vi x [xmin,xmax] ; y [ymin,ymax]

    ezplot(x,y) V th hm tham s x=x(t); y=y(t) vi t [-2 , 2 ]

    ezplot(x,y, [tmin,tmax]) v th x=x(t); y=y(t) vi t [tmin, tmax]

    Hm s cnv 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 hmV 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)

  • 8/3/2019 MatlaBcoban F10

    39/82

    MATLAB CAN BAN & NG DUNG -39-

    Khi v bng hm ezplot th tiu th s c to t ng (khng cn dng lnhtitle). 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 calnh ezplotdo nu mun thit t theo ring, bn phi iu chnh thng qua handle v

    lnh setnh 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 chdng c cch ny)ezplot(y) % v thh=findobj(gcf,'Type','Line') % tm handle cang thset(h, 'Color','mu','Linestyle','kiunt',) % thit t li mu, kiu nt,

    Cng c th kt hp hai lnh trn thnh mt lnh :set(findobj(gcf,'Type','Line'),'Color','mu','Linestyle','kiunt',)

    V d: >> set(findobj(gcf,'Type','Line'),'Color','r','Linestyle','--')

    >> set(findobj(gcf,'Type','Line'),'Color','k','Marker','*')

    1)V th hm y=y(x) hay y=y(t) trong khong mc nh

    V d: V th hm s

    2

    x 1y

    x 3x 3

    % nhp hm theo cch 1

    >> y= '(x+1)/(x^2+3*x-3)'>> ezplot(y)>> grid

    Khong mc nh m Matlabt 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 s2t 3ty 1 3e 2e

    trong khong t [0, 10]

    % nhp hm theo cch 2syms t

    y=1- 3*exp(-2*t) +2*exp(-3*t)ezplot(y,[0,10])

    axis([0,10, 0, 1.05])grid

  • 8/3/2019 MatlaBcoban F10

    40/82

    Bin Son: NGUYN TH HNG - 40-

  • 8/3/2019 MatlaBcoban F10

    41/82

    MATLAB CAN BAN & NG DUNG -41-

    V th hm sty 1 2e 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 2 2x y 1

    >> f= 'x^2+ y^2 - 1'>> ezplot(f)>> axis square ; grid

    Khong mc nh m Matlabt 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 : 2 2x y 1Vi 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 2 cos t

    y 2sin t

    >> x= '2*cos(t)';>> y= '2*sin(t)';>> ezplot(x,y) ; gridMatlab mc nh l t [-2 , 2 ]

    6)V th hm x=x(t); y=y(t) trong khong ty chn ca t

  • 8/3/2019 MatlaBcoban F10

    42/82

    Bin Son: NGUYN TH HNG - 42-

    V d: V th hm s

    x 9 cos t cos 9t

    y 9 sin t sin 9t

    ttrroonngg kkhhoonngg tt [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 loglogtng t nh plot ngoi tr thang chia l logarit cho c hai trcx, y.

    Hm semilogx tng t nh plot ngoi tr thang chia ca trc x l logaritcn thang chia ca trc y l tuyn tnh

    Hm semilogy tng t nh plot ngoi tr thang chia ca trc y l logaritcn 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 giihnbi ng cong y, cc ng thng x=xmin, x=xmax v trc honh.

    Hm plotyyv 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 vectgi tr v b l mtvectlogic 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, stemto th dng bar(dng thanh ng hocngang), stair (dng bc thang), stem (dng hnh que)

    Hm rose(v)v th trong h to cccho cc gc trong vect v. Cchm 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 haimngdliu l vectgc quay theta v vectbn knh rho.

  • 8/3/2019 MatlaBcoban F10

    43/82

    MATLAB CAN BAN & NG DUNG -43-

    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 vickhai 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) trongkhong 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 trcc phn t ma trn vo cc im (X,Y,Z) trong khng gian 3D v to nn mt mt cong cdng li.

    V d 1: V th hm z=sinr/r vi 2 2r x y

    [X,Y]= meshgrid(-8: 0.5:8);% To li d liu X,Y. meshgrid to nn ma trn X gm cc hng ging nhau,% ma trn Y gm cc ct ging nhau. Y l ma trnchuyn v ca X.

    R=sqrt(X.^2+Y.^2)+eps;

    Z=sin(R)./R ; % tnh ma trn Z

    mesh(X,Y,Z)

  • 8/3/2019 MatlaBcoban F10

    44/82

    Bin Son: NGUYN TH HNG - 44-

    th b mt ca cng mtma trn Z trng ging nh thli trc , ch khc l khnggian gia cc ng li cin y bng mu. th loi ny

    c v bng hm surf, n c ttc 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 cuaxis equal

    title('Surf plot of sphere function' ) % to tiu th

    V d 3:mesh (peaks)title('Mesh plot of peaks function' )

    % th ca hm peaksc ng vin, th hin r nng hoc caoca hnh.

  • 8/3/2019 MatlaBcoban F10

    45/82

    MATLAB CAN BAN & NG DUNG -45-

    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 phpkhai 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 hiuchi 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 khngcho 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)tngt nh hm plot(x,y)ngoi tr ct ca y c v nh mt diring bit trong khng gian 3D.

    Hm contourfs v mt th ng vin kn, khng gian gia cc ng vin clp y bng mu.

    Hm clabeltng thm cao cho th ng vin.

    Hm fill3 v mt a gic u trong khng gian 3 chiu. C php tng qut ca n lfill3(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 nhfill3(x1,y1,z1,c1,x2,y2,z2,c2,...).

    Hm bar3 v bar3hl phin bn 3D ca bar v barh.

    Hm pie3l 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 hiuchnh mu sc, gc quan st, t l th,...

    Bc 1: Nhp hm cn v, v d :

    >>Z= peaks(20);

    Bc 2: M ca s ho figure

    >>figure(1)

    Bc 3: V th vi handle h

    >>h=surf(Z)

    Bc 4: Thit lp mu sc, sng

    >>colormap hot % chn bng mu

    >>shading interp % kiu bng

    >>set(h, 'EdgeColor','k') % chn mu cc mtli l k=black

    >>light('Position',[-2,2,20]) % v tr ngun sng>>set(h,'FaceColor',[0.7 0.7 0], 'backFaceLighting','lit')

  • 8/3/2019 MatlaBcoban F10

    46/82

  • 8/3/2019 MatlaBcoban F10

    47/82

    MATLAB CAN BAN & NG DUNG -47-

    CHNG 6

    BIU THC CH

    6.1 KHI NIM BIU THC CH(SYMBOLIC EXPRESSION)

    V d: Cho hm s

    2y x 12x 4

    Tnh o hmdy

    dx, tnh gii hn ca y khi x 0

    Gii:

    dy2x 12

    dx

    2x 0lim(x 12x 4) 4

    Hm y c cho dng trn gi l hm ch, v phi ca y c gi l biu thc ch,cc php tnh o hm hay gii hn nhtrn 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 bobin ch.B2-Nhp hm chB3- 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 nhiubin ch cng lc :

    syms bin_1 bin_2 . . . bin_n+ Dng hm sym khaibo 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 2y x 12x 4

    Cch 1:

    >>syms x % hoc >> x = sym('x')

    >>y = x^2+12*x+4

    Cch 2:

    >>y = sym('x^2+12*x+4')

  • 8/3/2019 MatlaBcoban F10

    48/82

    Bin Son: NGUYN TH HNG - 48-

    Cc hm x l hm ch: cha trong thmc toolbox\symbolic

    Mt s hm gii tch thng dng:

    TN HM CHC NNG

    diff Tnh o hmint Tnh tch phn

    limit Tnh gii hn

    dsolve Gii [h] phng trnh vi phn

    solve Gii [h] phng trnh dng a thc

    numden Xc nh t s v mu s ca hm hu t

    poly2sym To a thc t vcthng cha cc h s

    sym2poly Tm vcthng cha cc h s ca a thc

    symsum(f,a,b) Tnh tng ca hm f i t a n b

    finverse Tm hm ngc

    taylor Khai trin chui Taylor

    eval X l biu thc ch nh mt cu lnh MATLAB

    ezplot V th mt biu thc ch v in nhn, tiu

    Cc php bin i :

    TN HM CHC NNG

    laplace Bin i Laplace

    ilaplace Bin i Laplace ngc

    fourier Bin i Fourier

    ifourier Bin i Fourier ngc

    ztrans Bin i Z

    iztrans Bin i Z ngc

    nh dng v n gin ho cc biu thc :

    TN HM CHC NNG

    collect Rt gn biu thc, gom cc s hng theo nhm

    expand Khai trin biu thc

    factor t tha s chung, a a thc v dng tch cc tha s

    pretty Hin thbiu thc theo cch vit trong ton hc

    simple Ti gin ho biu thc

    simplify 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

  • 8/3/2019 MatlaBcoban F10

    49/82

    MATLAB CAN BAN & NG DUNG -49-

    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 ; % hoc >> y=sym('x^2+2*x+3');

    >> Dy=diff(y) % o hm bc nht

    Dy = 2*x+2

    >> D2y=diff(y, 2) % o hm bc hai

    D2y = 2

    >> b= limit(y/x,x,inf,'left') % tm gii hn tri

    b = inf

    >> c=int(y,1,3) % tch phn xc nh

    c = 68/3>> r = solve(y) % tm nghim

    r =

    [ -1+i*2^(1/2)]

    [ -1-i*2^(1/2)]

    Ch :Cng c th tm nghim ca phng trnh trn bng nhiu cch khc. V ddng lnh:

    >> r=solve('x^2+2*x+3=0')

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

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

    >> syms t

    >> g=sin(3*t)

    g = sin(3*t)

    >> G=laplace(g)

    G = 3/(s^2+9)

    V d 3: Tm nh Laplace G(s) ca hm g(t)=cos

    2

    t. Tm cc h s (vcthng) ca a thct 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) % tm nh Laplace G(s)

    G = 2/s/(s^2+4)*(1+1/2*s^2)

    >> G=simplify(G) % rt gn biu thc

    G= (2+s^2)/s/(s 2+4)

    >> [n,d]=numden(G) % xc nh a thc t s v mu s dng symbolic

    n = 2+s^2

  • 8/3/2019 MatlaBcoban F10

    50/82

    Bin Son: NGUYN TH HNG - 50-

    d = s*(s^2+4)

    >> p=sym2poly(n) % xc nh athct sdng vect

    p = 1 0 2

    >> q=sym2poly(d) % xc nh a thcmu sdng vect

    q = 1 0 4 0

    >> s=1; G1= eval(G) % >> G1= polyval(p,1)/polyval(q,1)

    G1 = 0.6000

    >> s=-5j ; G2= eval(G) % >>G2= polyval(p,-5j)/polyval(q,-5j)

    G2 = 0 + 0.2190i

    V d 4: Tm hm thi gian y(t) khi bit nh Laplace Y(s) :

    4Y(s)

    s(s 3)(s 4)

    Gii:>> syms s % khai bo s l bin symbolic

    >> Y=4/(s*(s+3)*(s+4)) ; % nhp biu thc ca Y(s)

    >> y=ilaplace(Y) % bin i Laplace ngc

    y =

    -4/3*exp(-3*t)+exp(-4*t)+1/3 % t4t3 ee3

    4

    3

    1y

    V d 5: Tm nghim ca phng trnh vi phn :(a) y 2y 0 (b) y 2 y t vi iu kin u: 1)0(y

    Gii: Dng lnhdsolve 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 hiuDy biu dino hm bcnht dy/dt , dng k hiuD2y biu dino hm bc hai d2y / dt2, dng k hiuD3ybiu dino hm bc ba d3y / dt3 , ...

    a/ Tm nghim ca phng trnh thun nht:

    >> y =dsolve('Dy + 2*y = 0') % hoc >> f='Dy+2*y=0' ; y=dsolve(f)

    y =C1*exp(-2*t)

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

    e4

    5

    4

    1

    t2

    1

    y >> pretty(x)

  • 8/3/2019 MatlaBcoban F10

    51/82

    MATLAB CAN BAN & NG DUNG -51-

    11/2 t - 1/4 + 5/4 -------

    2exp(t)

    V d 6 : Gii phng trnh bc hai dng biu thc ch :

    >> r=solve('a*x^2+b*x+c=0')

    r =

    1/2/a*(-b+(b^2-4*a*c)^(1/2))

    1/2/a*(-b-(b^2-4*a*c)^(1/2))

    V d 7 : Gii h phng trnh tuyn tnh sau y dng biu thc ch:

    1 2 3 4

    1 2 3 4

    1 2 3 4

    1 2 3 4

    2x 2x 3x x 4

    4x 3x x 2x 6

    8x 5x 3x 4x 12

    3x 3x 2x 2x 6

    Gii : Dng lnh solve. C php tng qut:

    solve('eqn1','eqn2',...,'eqnN')

    solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')

    solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN')

    trong eqn1, eqn2,... l cc phng trnh c nhpdng 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 32 2] ; % to ma trn

    >>b=[4;6;12; 6];

    >>x=inv(A)*bx = 0.3333

  • 8/3/2019 MatlaBcoban F10

    52/82

    Bin Son: NGUYN TH HNG - 52-

    0.3333

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

    n

    k 1

    2k ? ;20

    k 1

    2k ?

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

    Kt qu: y = (n+1)^2-n-1

    >> y=factor(y) % rt gn kt qu bng cch t tha s chung

    Kt qu: y = n*(n+1)>> y2= symsum (sym('2*k'),1,20) % hoc >> n=20; y2 = eval(y)

    Kt qu: y2=420

    Nhn xt: Bi ton cngc th gii bng chng trnh vng lp v d 3 trang 33 v v dtnh tng bng hm sum trn trang 19.

    V d 9: Tm tng hu hn :

    2

    1

    n

    k

    n(2n 1)(2n 1)(2n 1)

    3

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

    y =

    11/3*n+8/3-4*(n+1)^2+4/3*(n+1)^3

    >> y=factor(y)

    y =1/3*n*(2*n-1)*(2*n+1)

    >>pretty(y)

    1/3 n (2 n - 1) (2 n + 1)

    V d 10: Tm hm ngc ca hm f(x) :

    >>y= finverse (sym('exp(x)')) % => y = log(x)

    >>syms a x; y= finverse(a^x) % => y= log(x)/log(a)

    >>y= finverse(sym('sin(x)')) % => y= asin(x)

    >>y= finverse(sym('sqrt(x)')) % => y= x^2

    >>y= finverse(sym('1/tan(x)')) % => y= atan(1/x)

  • 8/3/2019 MatlaBcoban F10

    53/82

    MATLAB CAN BAN & NG DUNG -53-

    CHNG 7

    NG DUNG MATLAB TRONG IEU KHIEN T ONG

    7.1 MO TA PHAN T VA HE THONG TUYEN TNH7.1.1 Mo ta phan t lien tuc

    Cc phn t v h thng tuyn tnh bt bin (LTI linear time-invariant System) cth m t trong Matlab bng cc lnh : tf, zpk,ss.

    1)Phn t cm t ton bngm hnh hm truyn t :m m 1

    m m 1 0n n 1

    n n 1 0

    b s b s ... bY(s)G(s)

    U(s) a s a s ... a

    c th m t trong Matlab bng 2 cch :

    Cch 1 : Dng lnhtf 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 sDEN = [ 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]) % do t s l bo=5 nn c th nhp [5] hay 5 u c.

    Transfer function:5-------------

    s^2 + 6 s + 8

    Cch 2 : Dng lnh s = tf('s')khai bo m hnh hm truynv bin s, sau nhpbiu thc ton ca hm truyn.

    V d 7-2:>>s = tf('s') ; sys2 = 5*(s+1)/((s+4)*(s+3)^2)

    Transfer function:5 s + 5

    --------------------------s^3 + 10 s^2 + 33 s + 36

    >> Kp=5; Ki=0.1; Kd= 3;

    >> s = tf('s') ; Gpid=Kp+Ki/s+Kd*s

    Transfer function:

    3 s^2 + 5 s + 0.1------------------

    s

  • 8/3/2019 MatlaBcoban F10

    54/82

    Bin Son: NGUYN TH HNG - 54-

    2)Phnt cm t ton bngm hnh zero-cc :1 2

    1 2

    m

    n

    (s z )(s z ) ...(s z )G(s) K

    (s p )(s p ) ...(s p )

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

    SYS = zpk(Z,P,K)

    Trong :

    Z = [z1 z2 zm] % vct cc zero (nghim ca t s)

    P = [p1 p2 pn] % vct cc cc (pole, nghim ca mu s)

    K = bm / an % h s khuch i (gain, li)

    Nu t s hm truyn khng c nghim th ly Z=[ ] (ma trn rng)

    V d 7-3:

    >> sys3 = zpk ( [ ], [-2 -4] , 5 )

    Zero/pole/gain:

    5-----------

    (s+2) (s+4)

    Nu bit hm truyn t, ta c th tm cc zero v cc nh sau:

    z= zero(SYS) % Tm vect z cha cc zero ca h SYS

    [z,K]= zero(SYS) % Tm vect z v h s khuch i K ca h SYS

    p= pole(SYS) % Tm vect p cha cc cc ca h SYS

    V d 7-4:

    >>z= zero(sys2) % sys2 m t v d 7-2

    z=-1

    >>p=pole(sys2)

    p=-4-2-2

    3)Phn t cm t ton bngm hnh trng thi:DuCxy

    BuAxx

    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)

  • 8/3/2019 MatlaBcoban F10

    55/82

    MATLAB CAN BAN & NG DUNG -55-

    a =x1 x2

    x1 -2 -4x2 2 0

    b =

    ux1 1x2 0

    c =x1 x2

    y 0.5 1d =

    uy 0

    Continuous-time model.

    4)Phn t c tr: Cng cm t bng cc lnh tf, zpk, ss nhng c thm tham s'inputdelay' hoc 'outputdelay' khai bo thi gian tr.

    V d7.6: M t phn t tr c hm truyn G(s) = e-0,2s *4/(s+50)

    >> G_delay = tf(4,[1 50],'inputdelay',0.2)

    Transfer function:4

    exp(-0.2*s) * ---------s + 50

    5)Chuyn i gia cc dng m hnhCc dng m hnh c th chuyn i qua li bng cc lnh ss, tf, zpk :SYSS= ss(SYS); SYST=tf(SYS); SYSZ=zpk(SYS)

    trong :SYS : m hnhbt kSYSS : m hnh ssSYST : m hnh tfSYSZ : m hnh zpk

    V d 7-7 :

    >> G3 = tf(sys3) % chuyn sys3 c m hnh zpk v d 7-3 v dng hm truyn

    Transfer function:

    5---------------s^2 + 6 s + 8

    >> G4 = tf(sys4) % chuyn sys4 c m hnh ss v d 7-5 v dng hm truyn

    Transfer function:0.5s+2

    ----------------

    s^2 + 2s + 8

    zpk model

    ss model

    tf model

  • 8/3/2019 MatlaBcoban F10

    56/82

  • 8/3/2019 MatlaBcoban F10

    57/82

  • 8/3/2019 MatlaBcoban F10

    58/82

    Bin Son: NGUYN TH HNG - 58-

    Lnh parallelch tnh c hm truyn tng ng ca 2 phn t ghp song song, cnton 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 lnhfeedback

    - Phn hi m:

    u --->O---->[ SYS1 ]----+---> y

    -| | y = SYSK * u

    +-----[ SYS2 ]

  • 8/3/2019 MatlaBcoban F10

    59/82

    MATLAB CAN BAN & NG DUNG -59-

    2) M t cc h con SYSi trong Matlab bng cch dng cc lnhtf, ss, zpk nu phn trc.

    3) Dng lnhappend 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, h5 li l phn hi m, do s hng u trong hng l 2, hai s hng k trong hng l 1v5, cc s 0 c thm vo to Q l ma trn ch nht.

    Q= [1 0 0 0 0

    2 1 -5 0 0

    3 2 -6 0 0

    4 2 -6 3 -7

    5 3 0 0 0

    6 3 0 0 0

    7 4 0 0 0 ];

    input=1; % v ng vo ca h thng l ng vo ca khi 1

    output=4; % v ng ra ca h thng l ng ra ca khi 4

    5) Dng lnhconnect 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 trnA,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 sh 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 lnhdlinmod thay cho lnhlinmod

    [A,B,C,D] = dlinmod (model_filename,T );

    V d: Tm hm truyn t ca h thng c s khi nhhnh v :

    x y1

    s 1

    s

    1

    G1 G2 G3 G4

    G5

    BA

    1

    s 2

    s 8

    2s

    10

  • 8/3/2019 MatlaBcoban F10

    60/82

    Bin Son: NGUYN TH HNG - 60-

    Gii:

    Cch 1: Trc tin ta cn bin i s khi v dng tng ng xut hin ccdng kt ni c bn, sau mi p dng c cc hm kt ni, tng t nh tnh ton i

    s s khi trong l thuyt iu khin t ng.

    Chng trnh Matlab:

    g1=20;

    g2=tf(1,[1 1]);

    g3=tf(1,[1 2]);

    g4=tf(1,[1 0]);

    g5=tf([1 8],[2 0]); % hoc >> s=tf('s'); g5=2*(s+1);

    gtd1=feedback(g2,g5*g3,1); % mch hi tip dng

    gtd2=feedback(g1*gtd1,1); % mch hi tip m n vgtd2=minreal(gtd2); % ti gin ho hm truyn

    SYS=feedback(gtd2*g3*g4,1); % mch hi tip m n v

    SYS=minreal(SYS)

    Kt qu :

    Transfer function:

    10-----------------------------

    s^3 + 13 s^2 + 21.5 s + 6Cch 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);

    x y

    s

    1

    G1 G2 G3 G4

    G5

    2

    1

    s

    G3

    2

    1

    s

    1

    1

    s

    s 8

    2s

    10

  • 8/3/2019 MatlaBcoban F10

    61/82

  • 8/3/2019 MatlaBcoban F10

    62/82

  • 8/3/2019 MatlaBcoban F10

    63/82

  • 8/3/2019 MatlaBcoban F10

    64/82

    Bin Son: NGUYN TH HNG - 64-

    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 typta c th khai bo loi tn hiu: sng sin ('sin'), sng vung ('square'),hoc dy xung nhn ('pulse'). Tn hiu do gensigto ra c bin chun l 1n v. Chuk ca tn hiu c khai bo nh tham s tau. Tfl khong thi gian tc ng v Ts l thigian ly mu (chu k lymu). Vctthi gian t c Matlab t ng chn hoc tnh theoTf v Ts.

    Hnh sau y minh ho p ng ca hai khu PT1, PT2 khi b kch thch bi tn hiuvo sng vung chu k 3s, thi gian tc ng 10s, ly mu mi 0,01s do gensig to nn:

    >> sysPT1=tf(1,[4 1]); sysPT2=tf(100,[1 3 100]);

    >> [u,t]=gensig('square',3,10,0.01); % to tn hiu vo sng vung

    >> [y1,t]=lsim(sysPT1,u,t);

    >> [y2,t]=lsim(sysPT2,u,t);

    >> plot(t,y1,t,y2,t,u)

    y1

    y2u

  • 8/3/2019 MatlaBcoban F10

    65/82

    MATLAB CAN BAN & NG DUNG -65-

    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 NGHA

    nyquist(SYS) Vbiu Nyquist ca h SYS

    nyquist(SYS1,SYS2,...) V biu Nyquist ca nhiu h thng trn cng h trc

    nyquist([k1;k2;...;kN],[DEN])

    Vbiu Nyquist ca h SYS c hm truyn dngG(s)=k/DEN vi N gi tr khc nhau ca k

    nyquist(SYS,w)V biu Nyquist ng vi vcttn s w nh trc.

    Nhp vectw theo c php wu: gia s : wcui

    [Re,Im]= nyquist(SYS,w)Tnh phn thc, phn o ca p ng tn s (= tnh gi tr

    Re v Im ti cc im nm trn ng Nyquist).

    V d: Xt h thng kn hi tip m c hm truyn t vng h tng ng l:

    3 3 2

    K KG(s)

    s 3s 3s 1s 1

    T hm truyn t ta thy h h n nh v cc nghim ca phng trnh c tnh ul 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 hmnyquist kho stnh hng ca tham s Knh sau:

    Dng lnh

    >> nyquist([4;8;10],[1 3 3 1])

    ta thu c ba biu Nyquist nh hnh di y, tng ng vi K=4 , K=8 , v K=10.

    G(s)R(s) Y(s)

  • 8/3/2019 MatlaBcoban F10

    66/82

    Bin Son: NGUYN TH HNG - 66-

    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 sc chn thchhpta thu c th phng to d

    quan st nhng vng ln cn caimti hn (-1; j0). Ta thy:- Vi K< 8 th ng Nyquist h h

    khng bao im (-1; j0) nn h knn nh,

    - Vi K=8 th ng Nyquist h hi qua im (-1; j0) nn h kn gii hn n nh.

    - Vi K> 8 th ng Nyquist h hbao im (-1; j0) nn h kn khngn 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 hthng h, c bit l biu Bode ca h h. V d: d tr bin , d tr pha, tn sct bin, tn s ct pha.

    LNH NGHA

    bode(SYS) V biu Bode ca h SYS

    bode(SYS,{WMIN,WMAX})V biu Bode ca h SYStrongphm vi tn sch nh

    bode(SYS1,SYS2,...) V biu Bode ca nhiu h thng chung trnmt h trc

    [MAG,PHASE] = bode(SYS,W)[MAG,PHASE,W] = bode(SYS)

    Tnh gi tr bin v pha ca h thng. W lvect cc im tn s v nhp theo c php

    wu: gia s : wcui

    margin(SYS) V biu Bode v hin th gi tr d tr bin ,d tr pha,... ngay trn biu

    [Gm,Pm,Wgm,Wpm]= margin(SYS) Tnh ton d tr bin , d tr pha, tn s ctbin, tn s ct pha

    Gi tr d tr bin Gm do hm margin tnh ra l gi tr t nhin (khng n v) , chuyn i sang gi tr dB (deciBel) ta dng cng thc Gm_dB= 20*log10(Gm).

    Vi h ri rc , hm bodes p dng thut ton bin i z = ej T nh x vng trnn v thnh trc tn s thc ( trong T l thi gian ly mu). Do hm truyn tn s cah ri rc c tnh tun hon vi chu k 2 /T nn vi h ri rc, hmbodech tnh p ng

    cho nhng im tn s nh hn tn s ti hn /T.

  • 8/3/2019 MatlaBcoban F10

    67/82

    MATLAB CAN BAN & NG DUNG -67-

    7.5 Quy ao nghiem

    Qu o nghim(hay biu nghim) l tp hpcc nghim ca phng trnh ctnh, 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 nhl mt hm ca h s khuch i K. N khng nhng cho bit h thng cn nh hay khng, m cn cho bit v h s gim chn hay t s tt dn dao ng.

    Cc lnh thng dng v v kho st qu o nghim :

    LNH NGHA

    rlocus(SYS) V qu o nghim

    root =rlocus(SYS,K) Tnh v xut dy gi tr nghim ng vi K cho trc.

    [root,K]=rlocus (SYS) Tnh v xut dy gi tr K v dy nghim tng ng.

    rlocfind Chn K bng cch nhn chut trn biu nghim.

    sgrid To cc ng li ca gim chn v tn s ring npzmap(SYS) Tnh v v v tr cc cc v zero ca h thng

    [P,Z]=pzmap(SYS) Tnh v xut cc vectP, Z cha gi tr cc im cc v zero.

    to tin ch cho ngi dng, Matlab h trcng c SISO Design Tool. y lcng c thit k h SISO theo phng php qu o nghim kt hp vi biu Bode. pdng cho h nu phn trc ta cng d dng xc nh c tr s K h gii hn nnh. 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 thnhp gi tr khuch i K vo C(s) hoc dngchut di chuyn cc nm vung trn biu qu o nghim (tng ng vi vic thay itr s khuch i k), ta d dng tm c gi tr K=8 h bin gii n nh vi d trn nh G.M. 0 dB. khuch i cng tng, d tr n nh cng m, tc l h cngmt n nh.

  • 8/3/2019 MatlaBcoban F10

    68/82

    Bin Son: NGUYN TH HNG - 68-

    7.6 Giao dien LTIViewer

    Giao din ho LTIViewer c kch hot bng lnh ltiview. Vi giao dinLTIViewerbnc thcng mt lc kho st c tnh ng hc ca nhiu h thng tuyntnh 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 nnbnc th d dng nhn thy c mi lin hgia cc dng c tnh ng hc, v d p ng xung l o hm ca p ngbc thang,nh cng hng trn biu Bode c bin cng cao th vt l trn p ng bcthang cng cao, s lin h gia biu Bode v biu Nyquist,

    Mt s cch thng dng ca lnh ltiview :

    LNH NGHA

    ltiview(PLOTTYPE, SYS)

    V cc biu ch nh bi tham s PLOTTYPE. PLOTTYPE c th l 'step', 'impulse', 'nyquist',

    bode',hoc t hp {'step'; 'impulse'; 'nyquist';bode',}

    ltiview(SYS1,SYS2,,SYSN) V biu step ca nhiu h thng

    ltiview(PLOTTYPE,SYS1,SYS2,,SYSN)V ccbiu ch nh bi PLOTTYPE canhiu h thng

    V d:

    >> G=tf(10,[1 2 10])

    Transfer function:10

    --------------s^2 + 2 s + 10

    >> ltiview({'step';'impulse';'nyquist';'bode'},G)

    T menu edit hoc tpopup-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 thhoc tt hin th cc thngscht lngtrn cc th,

  • 8/3/2019 MatlaBcoban F10

    69/82

    MATLAB CAN BAN & NG DUNG -69-

    BI TP THC HNHChng 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 mcmi nmtrong th mc workca 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. Luni 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 trcc bin chiu rng, chiu di, chiu cao tu . Thc hin li ccphp tnh trn. ( Lu : C th thay i bng lnh gn ca s Command Windowhoc 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 cci s ca hm. Cc gi tr hm tr v l:

    a. Th tch ca hnh hp ch nhtb. Din tch mty v th tch hnh hp ch nht

    5)S dng SCRIFT FILE v SCRIFT FILE vit cc chngtrnh tnh khi lng ca mtchi 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 2ax bx c 0

    a. Thc hin php gn t Command window a=1; b=-8; c=15. Tnh nghim caphng 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.

  • 8/3/2019 MatlaBcoban F10

    70/82

    Bin Son: NGUYN TH HNG - 70-

    Chng 3

    1)S dng cc hm ton hc cbn c trong ti liu thc hin cc php tnh sau :

    (a) 625 ; 9 ;

    3

    100 (b) e 0 ; e ; e 1 ; e

    (c) ( 1/2)e i5

    (d) 30i(3 2i)

    (e) ax vi a=8.10-4 v x=3/4

    (f) 0/0 ; 1/0 ; 1/

    (g) 2 105 .2 . 3 . ln5. lg2

    2)Cho bin x c gn gi tr tu t bn phm (x c th l mt s hoc vect).Vit scriftfile tnh gi tr ca cc hm s sau:

    x x

    1

    e ef (x)

    2; 2f (x) cosh(x)

    x x

    1

    e eg (x)

    2; 2g (x) sinh(x)

    Chy chng trnh. Nhn xt kt qu v gii thch ?

    3)Vit chng trnh tnh gi tr ca cc biu thc sau :2 9t t3 4h(t) 1 e e

    7 7

    11t

    21 7 7

    y(t) 1 e sinh t cosh t7 2 2

    Chy chng trnh vi bin t c gn gi tr tu (t c th l mt s hoc vect).

    Nhn xt kt qu v gii thch ?

    4)Cho hai s phc :

    1

    i452

    z 3 2i

    z 3e

    Hy thc hin trong MATLAB cc php ton sau y vi hai s phc trn.

    (a) 1 2z z

    (b) 1 2z z

    (c) 1 2z *z

    (d) 1 2z / z

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

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

    (i)2 3

    sin(30 )cos(45 )5

    (j)3 (30 )sin

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

    (k)3

    cos 2

    4 2sin 2

    (l)3 / 2

    2 sin( 30 ) e

    1 cos 2

  • 8/3/2019 MatlaBcoban F10

    71/82

    MATLAB CAN BAN & NG DUNG -71-

    5)Cho hai vect u, v nh sau:

    u = [ 2 4 6 8] ;

    1

    3v

    5

    7

    (a) Tm phn tln nht v phn t b nht ca vectu.

    (b) Tm phn tln nht v phn t b nht trong mi phn t ca c hai vect.(c) Tm trung bnh cng ca cc phn t trong vectu.(d) Tnh tng v tch cc phn t ca vectu.(e) Tnh tch v hng v gc hp bi hai vectu v v.

    (f) Vit chng trnh cho php ngi dng nhp vo hai vectct u, v bt k vtr 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 lbi 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. (S: 10100)

    (b) Cho n = 100. Tnh tng n s l u tin. (S: 104 )(c) Cho n=20. Tnh tng n s t nhin u tin chia ht cho 12. (S: 2520)

    (d) Cho n=20. Tnh tng n s chnh phng u tin. (S: 2870)

    (d) Tnh tng S = 8! + 9! +10! (S: 4032*103)

    (e) Tnh tng S = 1/3! + 1/4! + 1/5! (S: 0.2167)

    (f) Tnh tng T 1 3 5 ... 97 99 100 (S: 1717)

    (g) Tnh tng T 1 4 7 ... 100+ 8! (S: 41545)

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

    8)Cho cc ma trn sau:

    1 2A

    1 2;

    7 2B

    1 0;

    1 2i 5 2iC

    3 i 1 3i

    Hy thc hin cc php ton:

    (a) A .*B ; B./A

    (b) A.^B ; B.\A

    (c) A*B*C ; A*B.*C

    (d) Tnh nh thc ca A, B, C.

  • 8/3/2019 MatlaBcoban F10

    72/82

    Bin Son: NGUYN TH HNG - 72-

    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 vectct 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 ccphn 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:4 3 2P(x) x 3x x 5x 1

    2Q(x) 3x 5x 4

    (a) Tnh tng haia thc trn.

    (b) Nhn hai a thc trn.(c) Tm nghim ca 2 a thc trn.(d) Tnh gi tr P(1) ; Q(0).

    (e) Tnh o hm bc 1, bc 2 ca P(x) v Q(x).

    12) Phn tch cc nh Laplace sau y thnh tng cc phn thc ti gin:

    (a)3 2

    10G(s)

    s 15s 68s 96(c)

    2

    120s 10H(s)

    s(s 13s 30)

    (b)3 2

    10s 30H(s)

    s(s 15s 68s 96)

    (d)2

    20G(s)

    (s 2)(s 4s 13)

  • 8/3/2019 MatlaBcoban F10

    73/82

    MATLAB CAN BAN & NG DUNG -73-

    Chng 4

    1) Vit li cc chng trnh v d c trong ti liu v cch s dng cc cu trc if-elseif-else-end, switch-case, vng lp for, vng lp while, ...

    2) Vit chng trnh tnh nghim ca phng trnh bc hai 0cbxax2 vi a, b, cnhp t bn phm. Cc trng hpphng trnh c hai nghim thc, nghim kp, hainghim 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 lu tin, vi n c nhp t bn phm. Tnhtng cc s in. Chng trnh phi cnh bo nu ngi dng nhp gi trn 0.

    5) Vit chng trnh in ra mn hnh n s t nhin u tin chia ht cho a , vi n v ac 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 t