You are on page 1of 53

HC VIN CN BU CHNH VIN THNG

MN: MATLAB V NG DNG

GV: Trn Quang Thun


Khoa K thut in t 2
Thng 08/2013

Ni dung mn hc
Chng 1. Gii thiu v Matlab
1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink
Chng 2. Cu trc d liu
2.1 Gii thiu chung
2.2 Ma trn v vector
2.3 Mng
2.4 Mt s kiu d liu khc

Ni dung mn hc
Chng 3. Mt s cng c nng cao
3.1 Gii thiu chung
3.2 Toolbox
3.3 Giao din ngi dng GUI
Chng 4. ng dng
4.1 ng dng trong ton hc
4.2 ng dng trong x l tn hiu
4.3 ng dng trong iu khin
4.4. ng dng trong truyn thng

Ti liu tham kho


[1] La Vn Hin, Nhp mn Matlab, NXB. H QG TP.
HCM, 2003
[2] Nguyn Phng Quang, Matlab & Simulink dnh cho
k s iu khin t ng, NXB KHKT, 2004
[3] Phm Hng Lin, Matlab v ng dng trong vin
thng, NXB HQG TPHCM, 2006
[4] Nguyn Vit m, H thng vin thng v ng dng
Matlab, NXB Bu in, 2007
[5] The MathWorks (1999 2001 2004), Learning
Matlab (student version), The MathWorks Inc., USA
Website: www.mathworks.com

Chng 1. Gii thiu v Matlab


1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink

Matlab vit tt t "MATrix LABoratory"


L mi trng tnh ton s v lp trnh, c thit k
bi cng ty MathWorks.
Cho php tnh ton s vi ma trn, v th hm s
hay biu d liu,
Thc hin cc thut ton,
To cc giao din ngi dng,
Lin kt vi nhng chng trnh vit bng ngn ng
lp trnh khc nh C, C++, Java, Fortran.
Cho php m phng tnh ton, thc nghim nhiu m
hnh trong thc t v k thut (Toolbox),
Cho php m phng nhiu lnh vc v thit k da m
hnh cho cc h thng ng v h thng nhng (Simulink).

Lch s pht trin


Matlab c Cleve Moler pht minh vo cui thp
nin 1970, ngi m sau l ch nhim khoa my
tnh ti i hc New Mexico.
MATLAB lc u c vit bi ngn ng Fortran, cho
n 1980 vn c dng ni b ca i hc
Stanford.
Nm 1983, Jack Little, mt ngi hc MIT v
Stanford, vit li MATLAB bng ngn ng C v
c xy dng thm cc th vin phc v cho thit
k h thng iu khin, h thng hp cng c (tool
box), m phng... Jack xy dng MATLAB tr thnh
m hnh ngn ng lp trnh trn c s ma trn.

Steve Bangert l ngi vit trnh thng dch cho


MATLAB. Sau ny, Jack Little kt hp vi Moler v
Steve Bangert quyt nh a MATLAB thnh d
n thng mi - cng ty The MathWorks ra i
(1984).
Phin bn u tin MATLAB 1.0 ra i nm 1984
vit bng C cho MS-DOS PC c pht hnh u
tin ti IEEE Conference on Design and Control
(Hi ngh IEEE v thit k v iu khin) ti Las
Vegas, Nevada.

Nm 1986, MATLAB 2 ra i trong h tr UNIX.


Nm 1987, MATLAB 3 pht hnh.
Nm 1990 Simulink 1.0 c pht hnh gi chung
vi MATLAB.
Nm 1992 MATLAB 4 thm vo h tr 2-D v 3-D
ha mu v cc ma trn truy tm. Nm ny cng cho
pht hnh phin bn MATLAB Student Edition
(MATLAB n bn cho hc sinh).
Nm 1993 MATLAB cho MS Windows ra i. ng
thi cng ty ny c trang web l
www.mathworks.com

Nm 1995 MATLAB cho Linux ra i. Trnh dch


MATLAB c kh nng chuyn dch t ngn ng
MATLAB sang ngn ng C.
Nm 1996 MATLAB 5 bao gm thm cc kiu d
liu, hnh nh ha, b truy sa li (debugger), v
b to giao din GUI.
Nm 2000 MATLAB 6 cho i mi mi trng lm
vic MATLAB, thm LAPACK v FFTW (Fastest
Fourier Transform in the West - "bin i Fourier
nhanh ").
Nm 2002 MATLAB 6.5 pht hnh ci thin tc
tnh ton, s dng phng php dch JIT (Just
in Time) v ti h tr MAC.

Nm 2004 MATLAB 7 pht hnh, c kh nng


chnh xc n v kiu nguyn, h tr hm lng
nhau, cng c v im, v c mi trng phn tch
s liu tng tc.
n thng 12, 2008, phin bn 7.7 c pht hnh
vi SP3 ci thin Simulink cng vi hn 75 sn
phm khc.
Nm 2009 cho ra i 2 phin bn 7.8 (R2009a) v
7.9 (R2009b).
Nm 2010 phin bn 7.10 (R2010a) cng c
pht hnh.

Nm 2011 cho ra i 3 phin bn 7.11.1


(R2009bSP1), 7.12 (R2011a) v 7.13 (R2011b).
Thng 3 nm 2012 cho ra i phin bn 7.14
(R2012a).
Thng 9 nm 2012 MATLAB 8 (R2012b) ln u tin
c pht hnh vi giao din Toolstrip, MALTAB Apps v
thit k li h thng vn bn.
Ngy 7/3/2013, MATLAB 8.1 (R2013a) vi New unit
testing framework.

License MATLAB 8.1


Gm 79 sn phm, trong :
MATLAB 8.1 - win32 win64
Simulink 8.1 - win32 win64
Communications System Toolbox 5.4 - win32 win64
Computer Vision System Toolbox 5.2 - win32 win64
Control System Toolbox 9.5 - win32 win64
DSP System Toolbox 8.4 - win32 win64
Embedded Coder 6.4 - win32 win64
Filter Design HDL Coder 2.9.3 - win32 win64
Fuzzy Logic Toolbox 2.2.17 - win32 win64
Image Processing Toolbox 8.2 - win32 win64
Instrument Control Toolbox 3.3 - win32 win64

License MATLAB 8.1


Neural Network Toolbox 8.0.1 - win32 win64
Optimization Toolbox 6.3 - win32 win64
Parallel Computing Toolbox 6.2 - win32 win64
RF Toolbox 2.12 - win32 win64
Robust Control Toolbox 4.3 - win32 win64
Signal Processing Toolbox 6.19 - win32 win64
SimElectronics 2.3 - win32 win64
Simulink PLC Coder 1.5 - win32 win64
Symbolic Math Toolbox 5.10 - win32 win64
Wavelet Toolbox 4.11 - win32 win64

System Requirements
Microsoft Windows XP, Vista, 7 or 8
1 GHz or faster processor
2 GB RAM
10 GB free hard disk space

ng dng Matlab

Ton
in
in t: cng sut,
iu khin: ti u, m, nron, gii thut di truyn,...
Vin thng: X l s tn hiu, iu ch, m ho knh
truyn, nh gi cht lng h thng,
C kh
Kinh t: ti u
Ti chnh

File extensions
MATLAB
.fig: MATLAB figure
.m: MATLAB code (function, script, or class)
.mat: MATLAB data (binary file for storing variables)
.mex... (.mexw32, .mexw64, .mexglx, ...): MATLAB
executable MEX-files[41] (platform specific, e.g. ".mexmac"
for the Mac, ".mexglx" for Linux, etc.)
.p: MATLAB content-obscured .m file (P-code)
.mlappinstall: MATLAB packaged App Installer

File extensions
Simulink
.mdl: Simulink Model
.mdlp: Simulink Protected Model
.slx: Simulink Model (SLX format)
.slxp: Simulink Protected Model (SLX format)
Simscape
.ssc: Simscape Model
MuPAD
.mn: MuPAD Notebook
.mu: MuPAD Code
.xvc, .xvz: MuPAD Graphics

Chng 1. Gii thiu v Matlab


1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink

Cc hm, tn, thut ng thng dng


Abs
Angle
Ans
Atan
Axis
Bode
Class
Clear
Clc
Clg
Conj

tr tuyt i, bin s phc


gc pha
tr li
arctang
chia thang trc ta
v biu Bode
hin th loi m hnh
xa khng gian lm vic
xa ca s lnh
xa mn hnh ha
php nhn

Cc hm, tn, thut ng thng dng


Corroef
h s tng quan
Cos
cosin
Cosh
hypebol cosin
Ctrb
ma trn iu khin c
Ctrbf
ma trn dng bc thang iu khin c
C2d
chuyn m hnh lin tc sang ri rc
Damp tnh ton tn s t nhin v h s tt dn
Dcgain
tnh h s khuch i tn s thp
Deconv
php chia
Det
tnh nh thc ma trn

Cc hm, tn, thut ng thng dng


Diag
Dsort
D2c
D2d
Eig
Esort
Exit
Exp
Expm
Eye

ma trn ng cho
sp xp cc cc ri rc sang lin tc
chuyn m hnh ri rc sang lin tc
t li chu k ly mu
gi tr ring, vector ring
sp xp cc cc lin tc theo phn thc
kt thc chng trnh
hm m c s e
hm m ma trn
ma trn n v

Cc hm, tn, thut ng thng dng


Filter
b lc trc tip
Format long ly 14 ch s thp phn
Format long e
ly 14 ch s thp phn vit theo e
Format sort
ly 4 ch s thp phn
Format sort e
ly 4 ch s thp phn vit theo e
Freqs
p ng tn s nh Laplace
Frez
p ng tn s nh z
Frd chuyn sang m hnh d liu p ng tn s
Gram
tnh hm iu khin c v quan st c
Grid
v ng

Cc hm, tn, thut ng thng dng


Hold
i
Imag
Inf
Inv
j
Length
Linspace
Log
Loglog

lu gi th trn mn hnh
n v o
phn o
v cng
nghch o
n v o
chiu di vector
vector khng gian tuyn tnh
logarithm t nhin
biu x-y logarithm- logarithm

Cc hm, tn, thut ng thng dng


Logm
logarithm ma trn
Logspace vector khng gian logarithm
Log10 logarithm c s 10
Lqe: thit k b c lng ton phng tuyn tnh
Lqr: thit k b iu chnh ton phng tuyn tnh
Max
gi tr cc i
Mean
gi tr trung bnh
Median
gi tr trung gian
Min
gi tr cc tiu
Nyquist
v p ng tn s Nyquist (biu Nyquist)

Cc hm, tn, thut ng thng dng


Obsv
Ocsvf
Ones
Ord2
Pi
Plot
Polar
Polyfit
Polyval
Polyvalm

ma trn quan st c
dng bc thang quan st c
hng s
to m hnh bc 2
hng s pi = 3,1415926.
biu x-y tuyn tnh
biu cc
rp ng cong a thc
nh lng a thc
nh lng a thc ma trn

Cc hm, tn, thut ng thng dng


Prod
tch ca cc phn t
Quit
kt thc chng trnh
Rank
tnh hng ma trn
Real
phn thc
Rem
s d, h s
Residue
khai trin phn s
Rlocus
v qu o nghim s (qu tch nghim)
Roots tch cc nghim a thc
Sign
hm du
Sin
hm sin

Cc hm, tn, thut ng thng dng


Sinh
hm hyperbol sin
Size
kch thc mng, tn hiu vo, tn hiu ra
Sqrt
cn bc 2
Sqrtm cn bc 2 ma trn
Ss
to m hnh khng gian trng thi
Ssdata
ly d liu khng gian trng thi
Std
lch tiu chun
Step
p ng hm bc n v (p ng nc)
Sum
tnh tng
Tan
hm tang

Cc hm, tn, thut ng thng dng


Text
vn bn nh v
Tf
to hm truyn
Ftdata
ly d liu hm truyn
Title
t tn biu
Trace
vt ca ma trn
Who
lit k cc bin hin c trong b nh
Xlabel t tn cho trc x
ylabel t tn cho trc y
Zeros
khng
Zpk
to m hnh h s khuch i cc zero
Zpkdata
ly d liu m hnh h s khuch i cc zero

Chng 1. Gii thiu v Matlab


1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink

MATLAB
L mt ngn ng ma trn bc cao vi cc cu lnh
iu khin, cc hm, cu trc d liu, cu trc
vo/ra,
L mt ngn ng cho php lp trnh t n gin n
phc tp
L mt ngn ng cho php lp trnh nhanh, rt mm
do v t sai st
Cho php lp trnh trong ca s lnh (Command
Window), Scripts hoc cc Function (c lu dng
m-file)

MN HNH MATLAB

Lp trnh trong Matlab


Cc php ton trong Matlab
Nhm lnh cu trc v vng lp
Vng For
Vng While
Lnh If
Nargout, nargin
Input
Disp
Menu

Chng 1. Gii thiu v Matlab


1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink

Cc hm ha
Figure
Image
Polar
Po12cart
Plot
Semilog
Stem
Loglog
Subplot
Fplot

Cc hm ha 3 chiu
Fill3
Plot3
Comet3
Contour3
Mesh, meshz

Chng 1. Gii thiu v Matlab


1.1 Gii thiu chung
1.2 Cc lnh c bn trong Matlab
1.3 Lp trnh trong Matlab
1.4 ha trong Matlab
1.5 Simulink

Simulink
Cho php m hnh ha, m phng v kho st cc h
thng ng hc.
Chi tit s c trnh by trong chng 4.

Chng 2. Cu trc d liu


2.1 Gii thiu chung
2.2 Ma trn v vector
2.3 Mng
2.4 Mt s kiu d liu khc

Gii thiu
Matlab xem cc i tng nh mt ma trn (cn gi
l mng) kch thc m x n.
Mt ch s c xem nh mt ma trn 1 x 1.
Ma trn 1 x n c gi l vector hng.
Ma trn m x 1 c gi l vector ct.

Vn bn
Input(Nhap chuoi: ,s)
Age(Nhap so: )
Disp(Xuat chuoi)
Disp(rand(n)) % xut 1 ma trn ngu nhin nxn
Fprintf(ky tu thuong %ky tu chuyen doi\dinh dang, doi so
1, doi so 2,)
K t chuyn i:
nh dng:

Sprintf

d, u, c, s, e, f, g
\n, \r, \t, \b

Vn bn (tt)
>> myname=input('Nhap ho ten:','s')
Nhap ho ten:Tran Quang Thuan
myname =
Tran Quang Thuan
>> age=input('Nhap tuoi:')
Nhap tuoi:37
age =
37

Vn bn (tt)
>> str='My name Thuan
str =
My name Thuan
>> fprintf('My sentence is: %s\n',str)
My sentence is: My name Thuan

Vector
>> 0:0.1:0.5 % to vector first:step:last
ans =
0 0.1000 0.2000 0.3000 0.4000 0.5000
>> x=[-1 cos(0) 2] % x l mt vector hng
x=
-1 1 2
>> y=[0 2*sin(pi/2) -2]
% y l mt vector hng
y=
0 2 -2
>> length(x)
% chiu di vector x
ans =
3

Vector (tt)
>> y
% chuyn vector hng y thnh vector ct
ans =
0
2
-2
>> z=x+y
% cng 2 vector hng cng kch thc
z=
-1 3 0
>> x(2)=4
% thay i gi tr thnh phn th 2 ca x
x=
-1 4 2
>> x(2)
ans =
4
>> x+y'
??? Error using ==> plus
Matrix dimensions must agree.
>> x*y
??? Error using ==> mtimes
Inner matrix dimensions must agree.
>> x*y
ans =
4
>> x.*y
ans =
0 8 -4

Vector (tt)

>> x(2)
% hin th gi tr thnh phn th 2 ca x
ans =
4
>> x+y
% khng th cng vector hng v vector ct
??? Error using ==> plus
Matrix dimensions must agree.
>> x*y % khng th nhn 2 vector hng
??? Error using ==> mtimes
Inner matrix dimensions must agree.
>> x*y
% nhn vector hng vi vector ct
ans =
4
>> x.*y
ans =
0 8 -4

Vector (tt)
>> x.*y
% nhn tng thnh phn tng ng
ans =
0 8 -4
>> x./y
ans =
% chia tng thnh phn tng ng
-Inf 2 -1

Ma trn
>> x=[1;2] % to vector ct
x=
1
2
>> y=[3 4] % to vector hng
y=
3 4
>> A=[x y'] % to ma trn t cc ma trn nh hn
A=
1 3
2 4

Ma trn (tt)
>> I=eye(2) % to ma trn n v 2 x 2
I=
1 0
0 1
>> B=diag(x) % to ma trn ng cho
B=
1 0
0 2
>> C=A-B
C=
0 3
2 2

Ma trn (tt)
>> A*B
ans =
1 6
2 8
>> A.*B
ans =
1 0
0 8
>> A./B
ans =
1 Inf
Inf 2

% tch 2 ma trn

% tch tng phn tng ng 2 ma trn

% chia tng phn tng ng 2 ma trn

Ma trn (tt)
>> det(A)
% nh thc ma trn A
ans =
-2
>> D=A
% ma trn chuyn v AT
D=
1 2
3 4
>> E=inv(A) % ma trn nghch o
E=
-2.0000 1.5000
1.0000 -0.5000

Ma trn (tt)
>> n=rank(A)
% hng (s chiu) ca ma trn A
n=
2
>> zeros(2,3)
% ma trn 2 x 3 all zero
ans =
0 0 0
0 0 0
>> ones(3,2) % ma trn 3 x 2 all 1
ans =
1 1
1 1
1 1

Ma trn (tt)
BT 1:
Cho x=[4 1 9 0]
a) Cng 2 vo mi thnh phn
b) Tr 3 vo cc thnh phn c v tr l
c) Bnh phng cho mi thnh phn ri tr 4
d) Cn bc 2 cho mi thnh phn
x1 2 x2 x3 2
BT 2:

Dng Matlab gii h phng trnh


2 x1 x2 4 x3 1
sau v th li nghim:
3x 4 x x 0
2
3
1
BT 3:
Cho A l ma trn ngu nhin 3x3, B l vector ngu nhin 3x1. Tm x
tha biu thc Ax=B. Sau kim tra xem Ax-B c phi l vector ton
zero hay khng?
BT 4:
Vit chng trnh Matlab (file .m) cho php nhp 2 ma trn A, B v
tnh A:B.

You might also like