matlabcoban f10
Post on 07-Apr-2018
237 Views
Preview:
TRANSCRIPT
-
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
top related