You are on page 1of 279

1

Bi ging Tin hc chuyn ngnh


Ging vin: Hong Xun Dng
1
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
2
TI LIU THAM KHO
1. Bi ging tin hc chuyn ngnh
Ging vin: Hong Xun Dng
2. Matlab & Simulink dnh cho k s iu khin t ng
Nguyn Phng Quang
3. An Introduction to Matlab
University of DUNDEE
4. Electronics and circuit analysis using Matlab
John O.Attia
5. Matrix analysis of circuits using Matlab
James G.Gottling
6. Matlab tools for Control system analysis and design
Duane C.Hanelman, Benjamin C.Kuo
2
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
3
1. MATLAB L G ?
Matlab (Matrix Laboratory) l mt cng c phn
mm ca The Mathworks Ins, ban u phc v ch
yu vic m t k thut bng ton hc vi cc phn
t c bn l ma trn
Cc d liu ri rc (discret) (trong cc lnh vc in,
in t, vt l ht nhn, iu khin t ng, ngnh
ton nh thng k, k ton,, gien sinh hc, kh hu,
thi tit) c th lu di dng ma trn
D liu lin tc nh m thanh, hnh nh, dng in,
in p, tn s, p sut, chuyn i thnh cc tn
hiu s c x l bng cc hm ton hc ca
Matlab
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
4
2. U IM CA MATLAB
Matlab cung cp mt cng c tnh ton v lp trnh bc
cao d s dng, hiu qu v thn thin. Simulink gip
ngi dng d dng thc hin cc bi ton m hnh
ha, m phng trn my tnh
Matlab c tnh m, cc hm v cc toolbox khng
ngng c b sung theo s pht trin ca khoa hc
bi chnh The Mathworks Ins v c ngi s dng trn
ton th gii
C cng c tr gip phong ph trc tuyn, trn mng
hay cc ti liu dng pdf
3
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
5
3. SC MNH CA MATLAB ?
- Mi trng pht trin: gm cc cng c v tin nghi
gip vit chng trnh, s dng cc hm Matlab v cc
file
- Th vin cc hm ton hc ca Matlab: Cc hm s
cp: tng, sin, tnh s phc cc hm phc tp:
Bessel, nghch o ma trn, tnh tr ring, bin i
Fourier nhanh, wavelet
- Ngn ng Matlab: Cc lnh cao cp x l ma trn, lnh
r nhnh, vng lp, xut nhp, cu trc d liu, lp
trnh hng i tng
- X l ha: Hin th d liu dng ha 2D, 3D,
hot hnh, x l nh v c GUI
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
6
3. SC MNH CA MATLAB (tt)
- Th vin API ca Matlab: Cho php lin kt cc chng
trnh C v Fortran Cc ngn ng khc c th gi cc
hm dll c to bi Matlab.
- Cc hp cng c (Toolbox): Tp hp cc hm Matlab
c vit sn gii quyt cc vn thuc cc
chuyn ngnh khc nhau. Cc toolbox khin cho Matlab
c th ng dng vo nhiu lnh vc khc nhau: in
t, iu khin t ng, K thut in, Vin thng, C
kh, ng lc
4
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
7
4. AI C TH HC V S DNG MATLAB ?
Cc nh chuyn mn, cn b nghin cu ging dy
Cc sinh vin theo hc cc trng i hc v trung hc
chuyn nghip
Cc k s, cn b k thut

Bi ging Tin hc chuyn ngnh


Ging vin: Hong Xun Dng
8
CHNG 1: CC KHI NIM C BN
CHNG 2: MA TRN V CC PHP TON MA TRN
CHNG 3: LP TRNH TRONG MATLAB
CHNG 4: X L CC HM TON HC
CHNG 5: HA MATLAB
CHNG 6: SIMULINK V NG DNG
CHNG 7: GUI V NG DNG
5
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
9

CHNG 1:
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
10
I. HOT NG CA MATLAB
II. BIN V CC THAO TC CA CC BIN
III. S LC V HA TRONG MATLAB
IV. M THANH TRONG MATLAB
6
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
11
I. HOT NG CA MATLAB:
Khi chy Matlab, mt mn hnh nn xut hin:
Ca s lnh
Ca s th mc hin hnh
Ca s khng gian lm vic
Ca s lch s lnh
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
12
I. HOT NG CA MATLAB:
Ca s lnh (Command window):
Vi du nhc >> dng chy cc lnh, vit chng
trnh, chy chng trnh.
Ca s Lch s lnh (Command history)
Lit k tt c cc lnh s dng trc km theo
thi gian lm vic
Ca s th mc hin ti (Current Directory)
Cho bit th mc hin ti ang lm vic. Mc nh khi
ci t l MATLAB701\work (version 7.01)
Ca s khng gian lm vic (workspace)
Cho bit cc bin c s dng trong chng trnh
7
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
13
I. HOT NG CA MATLAB:
1. Cc php ton n gin:
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
14
I. HOT NG CA MATLAB:
2. Mt s lnh h thng:
Lnh ngha
clc xa ca s lnh
clf xa ca s ha
help xem phn tr gip mt s lnh
pause ngng tm thi chng trnh
echo on/off Tt m hin th cc lnh trong M-files
edit gi chng trnh son tho
type c ni dung file .m
input nhp d liu t bn phm
quit, exit thot Matlab
Ctrl+c dng chng trnh
demo Gi chng trnh demo
8
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
15
II. BIN V CC THAO TC CA CC BIN
1. Bin trong Matlab:
Tn bin c th di 31 k t, bt u l ch
Matlab phn bit ch thng v ch hoa
S dng du = nh ngha bin
Tn bin c th trng vi tn hm c sn, khi hm
khng cn s dng c cho n khi bin c xa
V d:
>> x=1
x=1
>> ten_truong='Dai hoc DL Cong Nghe Sai Gon'
ten_truong = Dai hoc DL Cong Nghe Sai Gon
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
16
II. BIN V CC THAO TC CA CC BIN
1. Bin trong Matlab (tt)
Mt s hm lin quan n bin:
Lnh ngha
clear xa tt c cc bin
who hin th danh sch cc bin trong worksapce
whos
hin th cc bin cng kch thc ca chng, c
phi s phc ?
save Lu cc bin trong workspace ra file
load Ti cc bin vo trong workspace t file
clear name1, name2, xa bin c tn c khai bo
exist (item) Kim tra s tn ti ca i tng item
9
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
17
II. BIN V CC THAO TC CA CC BIN
2. ln ca bin:
Xc nh ln hay chiu di ca bin vector cng nh
ma trn thng qua mt s hm:
Hm ngha
size(A)
Tr v 1 vector cha kch thc A,
gm s hng v s ct ca A
[m n]=size(A) gi tr tr v cha trong m v n
size(A,p)
p=1 tr v s hng
p=2 tr v s ct
length(A)
Tr v chiu di ca A, gi tr ln
nht ca hng v ct
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
18
II. BIN V CC THAO TC CA CC BIN
2. ln ca bin (tt)
V d:
>> A=[1 2 3; 4 5 6]
A= 1 2 3
4 5 6
>> [m n]=size(A)
m = 2
n = 3
>> length(A)
ans = 3
>> size(A,1)
ans = 2
10
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
19
II. BIN V CC THAO TC CA CC BIN
3. Mt s bin c nh ngha trc:
Mt s bin c Matlab s dng ch cc hng s hay
k hiu, nn trnh dng chng:
>> 1/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans = Inf
>> 0/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans = NaN
>> eps
ans = 2.2204e-016
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
20
II. BIN V CC THAO TC CA CC BIN
3. Mt s bin c nh ngha trc (tt)
K hiu ngha
= Gn gi tr cho bin
+ - * / ^ Cc php tnh
; Nhp gi tr, du cch khi nhp nhiu tr trn mt dng
eps Cp chnh xc tng i khi dng du phy ng
pi s = 3,14159265
i j Ton t o
inf v cng
NaN khng phi s (0/0 hay inf/inf)
, Du cch khi xut nhiu gi tr trn mt dng
ans p s mi nht
11
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
21
II. BIN V CC THAO TC CA CC BIN
4. S phc:
Cc hm c bit ca s phc:
real(x) phn thc ca x
imag(x) phn o ca x
conj(x) lin hp phc ca x
abs(x) ln, tr tuyt i ca x
angle(x) gc pha ca s phc
complex(a,b) to s phc t phn thc v o
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
22
V d:
>> a=1+3i
a = 1.0000 + 3.0000i
>> b=2-4i
b = 2.0000 - 4.0000i
>> a+b
ans = 3.0000 - 1.0000i
>> abs(a)
ans = 3.1623
>> real(b)
ans = 2
>> imag(b)
ans = -4
>> complex(2,2)
ans = 2.0000 + 2.0000i
12
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
23
II. BIN V CC THAO TC CA CC BIN
5. Mt s hm ton:
Hm ngha
sqrt(x) Cn bc 2
exp(x) Hm m c s e
abs(x) Gi tr tuyt i
sum(v) Tng cc phn t vector
prod(v) Tch cc phn t vector
min(v) Phn t vector b nht
max(v) Phn t vector ln nht
mean(v) Gi tr trung bnh cng
sign(x) Hm du (=1 nu x>0; = -1 nu x<0; = 0 nu x=0)
rem(x,y) S d php chia x/y
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
24
V d 1:
>> x=4;
>> sqrt(x)
ans = 2
>> exp(x)
ans = 54.5982
>> sign(x)
ans = 1
>> rem(x,3)
ans = 1
>> v=[1 2 3];
>> min_v=min(v)
min_v = 1
>> mean(v)
ans = 2
>> sum(v)
ans = 6
13
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
25
V d 2: Tm nghim ca phng trnh x
2
-3x+2=0
Trong command window:
>> a=1; b=-3; c=2;
>> x1=(-b+sqrt(b^2-4*a*c))/(2*a)
x1 =
2
>> x2=(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
1
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
26
III. S LC V HA TRONG MATLAB:
Cc lnh thng dng trong ha Matlab:
plot(x,y) v th theo ta x-y
plot(x,y,z) v th theo ta x-y-z
title a cc title vo trong hnh v
xlabel a cc nhn theo chiu x ca th
ylabel a cc nhn theo chiu y ca th
zlabel a cc nhn theo chiu z ca th
grid v li trn th
plot(y) v th theo y, b qua ch s theo x
plot(x,y,S) S dng qui nh mu, nt v
14
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
27
III. S LC V HA TRONG MATLAB:
Cc loi mu v Cc loi Marker (im)
y yellow . im
m magenta o ch o
-. du -.
c cyan x du x
r red + du +
g green # du #
b blue Cc loi nt v
w white - du -
k black : du :
-- du --
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
28
III. S LC V HA TRONG MATLAB:
V d 1: V hm sin2x, sinx
2
, (sinx)
2
>> hold on
>> x=linspace(0,10);
>> y1=sin(2*x);
>> y2=sin(x.^2);
>> y3=(sin(x)).^2;
>> plot(x,y1,'g'); % green
>> plot(x,y2,'m'); % magenta
>> plot(x,y3,'b'); % blue
15
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
29
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
30
III. S LC V HA TRONG MATLAB:
V d 2: V ng Helix trong khng gian 3D
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t);
>> title(Vi du ve plot3 trong Matlab);
16
CHNG 1: CC KHI NIM C BN
Ging vin: Hong Xun Dng
31
IV. M THANH TRONG MATLAB
sound(y) gi vector y ra loa, vector c sp xp
vi bin ln nht
sound(y,f) f di tn (Hz)
V d: m thanh vi lnh load
>> load train; % gi tr m thanh tu ha
>> sound(y); % c a vo tham s y
>> load chirp; % ting chim ku
>> sound(y);
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
32

CHNG 2:

20 10 4 1
10 6 3 1
4 3 2 1
1 1 1 1
1 16 14 4
12 6 7 9
8 10 11 5
13 3 2 16
17
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
33
I. MA TRN
II. CC MA TRN C BIT
III. CC PHP TON TRN MNG
IV. CC PHP TON MA TRN
V. GII H PHNG TRNH C LP TUYN TNH
VI. BI TP
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
34
I. MA TRN:
1. Vector-i lng v hng-Ma trn:
Ma trn l i tng ch yu ca Matlab
Cc phn t ca ma trn c xp theo hng v ct
i lng v hng (gi tr n) l ma trn c 1
hng v mt ct
Ma trn ch c 1 hng hoc mt ct c gi l vector
truy cp mt phn t ca ma trn, s dng ch s
hng v ct
18
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
35
I. MA TRN:
2. Mt s qui c v ma trn:
Tn ma trn phi bt u bng ch ci
Bn phi du bng l cc gi tr ma trn c vit theo
th t hng trong du ngoc vung
Du chm phy (;) phn cch hng. Cc gi tr trong
hng c phn cch bng du phy (,) hoc khong
trng. Du thp phn l du chm (.). Kt thc ma trn
l du (;)
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
36
I. MA TRN:
V d:
>> a=[1 2 3; 4 5 6; 7 8 9] % ma trn 3 hng 3 ct
a = 1 2 3
4 5 6
7 8 9
>> b=[1 2 3 4] % vector hng
b = 1 2 3 4
>> c=[1;2] % vector ct
c = 1
2
>> d=[1] % gi tr n
d = 1
>> a(2,3) % phn t hng 2 ct 3
ans = 6
19
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
37
I. MA TRN:
3. Khai bo vector v ma trn:
Khai bo ngha
[x1 x2; x3 x4] Nhp gi tr cho vector v ma trn
start:increment:destination Ton t (:)
linspace(start,dest,number) Khai bo tuyn tnh cho vector
randn(line,column) Ma trn nhn gi tr ngu nhin
logspace(start,dest,number) Khai bo logarithm cho vector
rand(line,column) Ma trn nhn gi tr ngu nhin 0->1
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
38
I. MA TRN:
3. Khai bo vector v ma trn (tt)
Kiu lit k trc tip:
Cc phn t c lit k trong du ngoc vung:
>> A=[3,5];
>> B=[1.7,3.2];
>> C=[-1 0 0 ; -1 1 0 ; 1 -1 0; 0 0 2]; Hoc:
>> C = [-1 0 0
-1 1 0
1 -1 0
0 0 2 ];
20
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
39
I. MA TRN:
3. Khai bo vector v ma trn (tt)
Kiu lit k trc tip (tt)
>> F = [1, 52, 45, 84, 94, 5, 65, 42, 85,
23, 52, 65, 21, 74];
nh ngha ma trn t ma trn khc:
>> B=[1 2 4];
>> S=[3 B]; % S=[3 1 2 4]
M rng ma trn:
>> S(5)=9;
>> S(8)=3; % S(6), S(7) nhn gi tr 0
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
40
I. MA TRN:
3. Khai bo vector v ma trn (tt)
Kiu lit k trc tip (tt)
Khai bo tuyn tnh:
>> x=linspace(2,20,10)
x = 2 4 6 8 10 12 14 16 18 20
>> logspace(1,2,5)
ans = 10.0000 17.7828 31.6228 56.2341 100.0000
>> y=linspace(1,10); % y=vector 100 phn t
21
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
41
I. MA TRN:
3. Khai bo vector v ma trn (tt)
T mt file d liu:
Mt file vn bn matran.dat c ni dung:
2 5 9 1
4 6 8 3
2 4 5 1
>> load c:\matran.dat
>> matran
matran=
2 5 9 1
4 6 8 3
2 4 5 1
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
42
I. MA TRN:
3. Khai bo vector v ma trn (tt)
S dng ton t (:)
Ti v tr du (:) trong ma trn, n i din cho tt c cc
hng hoc tt c cc ct
>> x=A(:,1); % a d liu ct 1 vo vector x
>> y=A(:,2); % a d liu ct 2 vo vector y
Du (:) s dng lm k hiu tng qut cho ma trn mi
>> H=1:5
H = 1 2 3 4 5
>> TIME=0.0:0.5:2.5;
TIME = 0.0 0.5 1.0 1.5 2.0 2.5
22
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
43
I. MA TRN:
3. Khai bo vector v ma trn (tt)
S dng ton t (:)
Du (:) dng chn cc ma trn con t ma trn khc
V d:
>> C=[-1 0 0
1 -1 0
1 -1 2
0 2 -1];
>> C_1=C(:,2:3);
>> C_2=C(3:4,1:2);
C_2= [ 1 -1
0 2];
C_1= [ 0 0
-1 0
-1 2
2 -1];
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
44
I. MA TRN:
3. Khai bo vector v ma trn (tt)
S dng ton t (:)
C(:) tng ng vector c mt ct, phn t ca ct
chnh l cc ct ca ma trn C
>> C = [ 1 4 7
2 5 8
3 6 9];
>> C(:)
ans =
1
2
3
4
5
6
7
8
9
23
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
45
I. MA TRN:
3. Khai bo vector v ma trn:
Trc tip t bn phm:
>> z=input(Nhap gia tri cho z:);
Nu khng c d liu, z l ma trn rng
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
46
I. MA TRN:
4. Hin th ma trn:
Kt qu tnh ton c th c nh dng bng lnh format.
long s chm c nh l 15 con s
long e s du chm ng 15 con s
short s chm c nh l 5 con s (mc nh)
short e s du chm ng 5 con s
V d:
>> pi
ans = 3.1416
>> format long
>> pi
ans = 3.14159265358979
24
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
47
I. MA TRN:
4. Hin th ma trn (tt)
disp Xut chui k t ra mn hnh
fprintf cho php xut ra theo nh dng. Vi c php:
>> fprintf(nh dng, ma trn);
Kiu loi Dng in ra K t ngha
%c Kiu k t \n Xung dng
%s Kiu chui \t tab
%d Kiu s nguyn thp phn \b Backspace
%f Kiu s du chm tnh \r Carriage return
%e Kiu s du chm ng \f From feed
%x Kiu s Hex %% %
%bx Kiu chm tnh trong Hex 64 bits '' or \'' '
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
48
I. MA TRN:
4. Hin th ma trn (tt)
V d 1:
>> disp('Hello')
Hello
>> disp(pi)
3.1416
>> x=[1 2 3 4];
>> disp(x)
1 2 3 4
>> temp=78;
>> fprintf(Nhit l: \n %6.1f F,temp);
Nhit l:
78.0 F
25
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
49
I. MA TRN:
4. Hin th ma trn (tt)
V d 2:
>> temp=78;
>> st='do F';
>> fprintf('Nhiet do la %4.1f %s\n',temp,st)
Nhiet do la 78.0 do F
>> fprintf('Nhiet do la %4.1f\b %s\n',temp,st)
Nhiet do la 78. do F
>> fprintf('Nhiet do la %4.1f\t %s\n',temp,st)
Nhiet do la 78.0 do F
>> fprintf('It''s Friday.\n')
It's Friday.
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
50
II. CC MA TRN C BIT:
Matlab c mt s hm to ma trn c bit
1. Ma trn ma phng (magic(n))
Ma phng bc n l ma trn vung cp n
Bao gm cc s nguyn t 1 n n
2
Cc phn t sp xp sao cho tng cc phn t trn
mt hng, mt ct, ng cho l bng nhau
V d:
>> magic(4)
ans=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
26
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
51
II. CC MA TRN C BIT:
2. Ma trn zero:
Hm zeros(m,n) l ma trn c kch thc m x n cha
ton s 0
Nu tham s ch c mt ma trn vung
V d:
>> zeros(3,4)
ans=
0 0 0 0
0 0 0 0
0 0 0 0
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
52
II. CC MA TRN C BIT:
3. Ma trn ones:
Hm ones(m, n) l ma trn c kch thc m x n cha
ton s 1
Nu tham s ch c mt ma trn vung
V d:
>> ones(3,4)
ans=
1 1 1 1
1 1 1 1
1 1 1 1
27
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
53
II. CC MA TRN C BIT:
4. Ma trn ng cho c bit (Identity Matrix):
Ma trn c cc phn t trn ng cho bng 1
Cc phn t cn li bng 0
V d:
>> eye(4)
ans=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
54
II. CC MA TRN C BIT:
5. Ma trn ng cho m rng eye(m,n):
Ma trn kch thc mxn c cc phn t ch s hng =
ch s ct th bng 1
Cc phn t cn li bng 0
V d:
>> eye(4,5)
ans=
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
28
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
55
II. CC MA TRN C BIT:
6. Ma trn Pascal (pascal(n)):
Ma trn cha cc gi tr ca tam gic pascal
V d:
>> pascal(4)
ans=
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
56
II. CC MA TRN C BIT:
7. Cc ma trn c bit khc:
compan
gallery
hadamard
hankel
hilb
invhilb
kron
rosser
toeplitz
vander
wilkinson
29
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
57
III. CC PHP TON TRN MNG:
1. Tnh ton vi mng:
Lu : s phn t 2 mng a v b phi bng nhau
K hiu ngha Biu thc
a + b
a - b
a .* b
a ./ b
a .\ b
a .^ b
Cng tng phn t mng
Tr tng phn t mng
Nhn tng phn t mng
Chia tng phn t a cho b
Chia tng phn t b cho a
Ly tha tng phn t
[a1+b1 a2+b2 an+bn]
[a1-b1 a2-b2 an-bn]
[a1*b1 a2*b2 an*bn]
[a1/b1 a2/b2 an/bn]
[b1/a1 b2/a2 bn/an]
[a1^b1 a2^b2 an^bn]
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
58
III. CC PHP TON TRN MNG:
V d:
>> A=[4 8 15]; B=[2 2 3];
>> A + B
ans = 6 10 18
>> A - B
ans = 2 6 12
>> A .* B
ans = 8 16 45
>> A ./ B
ans = 2 4 5
>> A .\ B
ans = 0.5000 0.2500 0.2000
>> A .^ B
ans = 16 64 3375
30
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
59
III. CC PHP TON TRN MNG:
2. Th t u tin ca cc ton t:
u tin Ton t
1
2
3
4
Ngoc n
Ly tha
Nhn & chia t tri qua phi
Cng & tr t tri qua phi
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
60
IV. CC PHP TON MA TRN:
Mt s hm x l ma trn c bn:
Hm ngha
matrix. Chuyn v ma trn
matrix Chuyn v ma trn c phn phc lin hp
inv(matrix) o ma trn
rank(matrix) Xc nh hng ca ma trn
det(matrix) Tnh nh thc ma trn
eig(matrix) Tnh cc gi tr ring ca ma trn
31
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
61
IV. CC PHP TON MA TRN:
1. Ma trn chuyn v:
Ma trn chuyn v ca A k hiu l A
T
Cc phn t hng ca A tr thnh phn t ct ca A
T
V d:
>> A=[1 2 3; 4 5 6]
A =
1 2 3
4 5 6
>> A
ans =
1 4
2 5
3 6
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
62
IV. CC PHP TON MA TRN:
2. Nhn ma trn:
C=A.*B nhn v hng
C=A*B nhn ma trn vi: C
ij
= A
ik
B
kj
S ct ca ma trn A phi bng s hng ca ma trn B
V d:
>> A=[1 2 3; 4 5 6]; B=[3 4 5; 6 7 8];
>> C=A.*B
C= 3 8 15
24 35 48
>> B = B;
>> C = A*B
C= 26 44
62 107
32
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
63
IV. CC PHP TON MA TRN:
3. Php quay:
C php: rot90(matrix) hay rot90(matrix,num);
Cc phn t ca A c quay 90
o
theo ngc chiu
kim ng h
Dng tham s num xc nh s ln quay
V d:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B = rot90(A)
B= 3 6 9
2 5 8
1 4 7
>> C = rot90(A,2)
C=
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
64
IV. CC PHP TON MA TRN:
4. Php o ma trn:
fliplr(A) o cc phn t A t tri sang phi
flipud(A) o cc phn t A t trn xung di
V d:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B = fliplr(A)
B= 3 2 1
6 5 4
9 8 7
>> C = flipud(B)
C= 9 8 7
6 5 4
3 2 1
33
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
65
IV. CC PHP TON MA TRN:
5. Reshape:
Cho php nh dng li ma trn vi s hng v s ct
khc vi ma trn gc
S phn t ca ma trn gc v ma trn mi phi bng
nhau
Hm c 3 tham s l ma trn gc, s hng v s ct
V d:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B=reshape(A,1,9)
B=
1 4 7 2 5 8 3 6 9
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
66
IV. CC PHP TON MA TRN:
6. Trch cc phn t t ma trn:
Hm ngha
diag(A) Ly ng cho chnh lu vo mt vector ct
diag(A,k)
Chn ng cho da vo k
k=0 ng cho chnh
k>0 ng cho th k trn ng cho chnh
k<0 ng cho th k di ng cho chnh
A=diag(V)
Nu V l vector th A l ma trn vung c V l
ng cho chnh. Cc phn t khc bng 0
34
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
67
IV. CC PHP TON MA TRN:
6. Trch cc phn t t ma trn (tt)
V d:
>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12]; V=[1:3];
>> diag(A)
ans = 1
6
11
>> diag(A,-1)
ans = 5
10
>> A=diag(V)
A = 1 0 0
0 2 0
0 0 3
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
68
IV. CC PHP TON MA TRN:
6. Trch cc phn t t ma trn (tt)
Hm ngha
B=triu(A)
Sinh ra ma trn B cng c, cha cc phn t A
nm ng cho chnh v trn ng cho
chnh. V tr khc bng 0
triu(A,k) Phn t A nm trn v pha trn ng cho th k
tril(A)
Sinh ra ma trn cng c, cha cc phn t A nm
ng cho chnh v di ng cho chnh. V
tr khc bng 0
tril(A,k)
Phn t A nm ngay trn v pha di ng cho
th k. Cc v tr khc bng 0
35
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
69
IV. CC PHP TON MA TRN:
6. Trch cc phn t t ma trn (tt)
V d:
>> A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
>> B = triu(A)
B= 1 2 3 4
0 6 7 8
0 0 11 12
>> C = triu(A,-1)
C= 1 2 3 4
5 6 7 8
0 10 11 12
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
70
IV. CC PHP TON MA TRN:
6. Trch cc phn t t ma trn (tt)
V d:
>> B = tril(A)
B= 1 0 0 0
5 6 0 0
9 10 11 0
>> C = tril(A,-1)
C= 0 0 0 0
5 0 0 0
9 10 0 0
36
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
71
V. GII H PHNG TRNH C LP TUYN TNH:
Xt h:
x1 2x2 + x3 = 2
2x1 + x2 4x3 = -1
3x1 4x2 x3 = 0
Gii:
20
0 4 3
1 1 2
2 2 1
3 ; 16
1 0 3
4 1 2
1 2 1
2
28
1 4 0
4 1 1
1 2 2
1 ; 8
1 4 3
4 1 2
1 2 1
=

= = =
=



= =

=
D D
D D
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
72
V. GII H PHNG TRNH C LP TUYN TNH:
Nghim ca h l
x1 = D1/D = 3.5
x2 = D2/D = 2
x3 = D3/D =2.5
Trong Matlab:
>> A=[1 -2 1; 2 1 -4; 3 -4 -1];
>> b=[2;-1;0];
>> x=inv(A)*b
x =
3.5000
2.0000
2.5000
37
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
73
V. GII H PHNG TRNH C LP TUYN TNH:
Bi tp:
x1 + x2 + x3 + x4 = 0
x2 + x3 + x4 + x5 = 0
x1 + 2x2 + 3x3 = 2
x2 + 2x3 + 3x4 = -2
x3 + 2x4 + 3x5 = 2
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
74
VI. BI TP:
1) Hy cho bit kt qu ca tng dng lnh sau:
>> A = [1:3;4:6]
>> B = [A A;A A]
>> C = B(1:2,3:4)
>> D = C+2
>> E = C.*D
>> F = C*2 - 1
2) Hy cho bit kt qu ca tng dng lnh sau:
>> A = pascal(4)
>> diag(A)
>> diag(A,-1)
>> C=diag(diag(A,1))
>> D=diag(diag(A))
38
CHNG 2: MA TRN V CC PHP TON MA TRN
Ging vin: Hong Xun Dng
75
VI. BI TP:
3) Hy cho bit kt qu ca tng dng lnh sau:
>> A = pascal(3)
>> B = rot90(A,3)
>> C = fliplr(flipud(B))
>> D = flipud(fliplr(C))
>> C + D
>> (A(:))
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
76

CHNG 3:
39
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
77
I. PHN T C BN
II. HM TON HC
III. CC DNG FILE
IV. BIU THC QUAN H V LOGIC
V. CU TRC IU KHIN
VI. BI TP
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
78
I. PHN T C BN
1. Gii hn ca cc gi tr tnh ton trong Matlab
i vi phn ln my tnh, khong gi tr cho php t
10
-308
n 10
308
.
Nu c gi tr trn s m trn, n c biu din bi
inf (s v hn)
Nu trn m di, n c biu din l 0
Chia cho 0 l ton t khng hp l, kt qu l inf.
Matlab s cnh bo v s dng gi tr inf tnh tip.
40
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
79
I. PHN T C BN
2. Bin string:
Chui k t c t gia 2 du nhy n
Chui k t l mt mng nhiu k t. K t c lu
di dng m ASCII.
>> name= Trng i hc DL Cng Ngh Si Gn
C th truy xut n tng phn t chui
>> fprintf (Trng ti l %s\n, name(8:35));
Kt hp cc string to string mi
>> text1=Ti hc ti; text=[text1 name];
Nhp string t bn phm:
>> str= input(Nhap vao mot chuoi,s);
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
80
I. PHN T C BN
2. Bin string:
Cc lnh vi bin string:
Hm ngha
char To mng k t t mng s
double i chui sang m ASCII
num2str i s sang chui
str2mat i chui sang ma trn
mat2str i ma trn sang chui
str2num i chui sang s
int2str i s nguyn sang chui
41
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
81
II. HM TON HC
1. Hm ton hc c bn
Hm ngha
round Lm trn v s nguyn gn nht
fix Lm trn v 0
log(x) ln(x)
pow2(x) Ly tha c s 2
log10(x) log thp phn
nextpow2(N) Tm p: 2
p
=N
floor Lm trn nh hn
ceil Lm trn ln hn
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
82
II. HM TON HC
1. Hm ton hc c bn
V d:
>> a=[-1.9 -0.2 3.4 5.6 7 2.4 +3.6i];
>> fix(a)
-1.0000 0 3.0000 5.0000 7.0000 2.0000 0+3.0000i
>> ceil(a)
-1.0000 0 4.0000 6.0000 7.0000 3.0000 0+4.0000i
>> floor(a)
-2.0000 -1.0000 3.0000 5.0000 7.0000 2.0000 0+3.0000i
>> round(a)
-2.0000 0 3.0000 6.0000 7.0000 2.0000 0+4.0000i
42
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
83
II. HM TON HC
2. Hm lng gic c bn:
i radian sang v ngc li:
angle_degrees=angle_radians*(180/pi)
angle_radians=angle_degrees*(pi/180)
Hm ngha
sin(x) sin ca x khi x c n v radian
cos(x) cos ca x khi x c n v radian
tan(x) tan ca x khi x c n v radian
atan(x) khi x [-/2,/2]
asin(x) [-/2,/2] khi x [-1,1]
acos(x) [0,] khi x [-1,1]
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
84
III. CC DNG FILE
1. Script file (m file):
Cc chng trnh, th tc bao gm cc dng lnh theo
mt th t no do ngi s dng vit ra c lu
trong cc file *.m. c gi l script file
Dng trnh son tho edit ca Matlab vit hm
Lu di dng ASCII
C th chy ging cc lnh, th tc ca Matlab
43
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
85
V d: tp tin canhhoa.m c ni dung nh sau:
Trong command window:
>> help canhhoa
M-file script tao ra 4 hinh canh hoa
% M-file script tao ra 4 hinh canh hoa
theta=-pi:0.01:pi;
rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(theta).^2;
rho(4,:)=5*cos(3.5*theta).^3;
for i=1:4
polar(theta,rho(i,:))
pause
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
86
>> echo on
>> canhhoa
theta=-pi:0.01:pi
rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(theta).^2;
rho(4,:)=5*cos(3.5*theta).^3;
for i=1:4
polar(theta,rho(i,:))
pause
polar(theta,rho(i,:))
pause
polar(theta,rho(i,:))
pause
polar(theta,rho(i,:))
pause
44
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
87
III. CC DNG FILE
2. Hm v to hm trong Matlab:
Ging nh script file. Cu trc tng qut ca hm:
C th ch l mt nhm dng lnh hay nhn vo cc
i s v tr v kt qu
C th gi hm t cc hm, script khc
Cc bin trong hm l cc bin cc b
function [y1,y2,]=function_name (a,b,c)
% help text in the usage of the function
%.......
:
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
88
Qui tc vit hm M-files:
1) Bt u bng t function, sau ln lt cc tham s u
ra, du bng, tn hm v cc tham s u vo
2) Mt s dng sau tn hm bt u bng du % l cc dng
ch thch v cch dng hm, n c b qua khi chy.
c hin th khi lnh help yu cu hm
3) Matlab c th chp nhn nhiu tham s ng vo v tham
s ng ra
4) Nu hm tr v nhiu hn mt gi tr, cc gi tr c tr
v nh mt vector
5) Nu hm nhn nhiu tham s ng vo, cc tham s s
c lit k trong du ngoc n
6) Kt thc hm l pht biu end
45
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
89
III. CC DNG FILE
2. Hm v to hm trong Matlab (tt)
V d 1:
Thc hin hm luythua.m nh sau:
Trong command window:
>> luythua(2,3)
ans = 8
>> c=luythua(4,2)
c = 16
function y=luythua(a,b)
% Ham tinh a^b
y=a^b;
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
90
III. CC DNG FILE
2. Hm v to hm trong Matlab (tt)
V d 2:
gii phng trnh bc 2: ax
2
+bx+c=0. Thc hin hm
tnh nghim nh sau, lu vi tn quadroot.m
function [x1,x2]=quadroot(a,b,c)
% Hm tnh nghim ca phng trnh bc 2
radical=sqrt(b^2-4*a*c);
x1=(-b+radical)/(2*a);
x2=(-b-radical)/(2*a);
46
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
91
III. CC DNG FILE
2. Hm v to hm trong Matlab (tt)
Chng trnh c tn ptbac2.m c ni dung nh sau:
disp('Chuong trinh giai phuong trinh bac 2: ax^2+bx+c=0');
a=input('Nhap a: ');
b=input('Nhap b: ');
c=input('Nhap c: ');
[x1,x2]=quadroot(a,b,c); % gi hm quadroot
disp('Nghiem cua phuong trinh: ');
fprintf('x1=%f\n',x1);
fprintf('x2=%f\n',x2);
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
92
III. CC DNG FILE
2. Hm v to hm trong Matlab (tt)
Trong Command window:
>> [a,b]=quadroot(1,-3,2)
a = 2
b = 1
>> ptbac2
Chuong trinh giai phuong trinh bac 2: ax^2+bx+c=0
Nhap a: 1
Nhap b: -3
Nhap c: 2
Nghiem cua phuong trinh:
x1=2.000000
x2=1.000000
47
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
93
III. CC DNG FILE
3. File d liu:
Matlab phn bit 2 loi d liu khc nhau:
Mat-files: thch hp cho d liu chng trnh Matlab.
Phn m rng l .mat
>> save <tn file> <tn ma trn>;
>> load <tn file>;
ASCII files: cho d liu c chia s vi cc chng
trnh khc. Phn m rng l .dat
>> save <tn file>.dat <tn ma trn> /ascii;
>> load <tn file>.dat;
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
94
IV. BIU THC QUAN H V LOGIC
1. Cc php ton quan h:
Php so snh 2 ma trn l so snh tng phn t. Kt qu
sinh ra ma trn {0,1} cng c. Nu php so snh ng,
cc phn t =1, ngc li th cc phn t bng 0
Ton t ngha
< Nh hn
<= Nh hn hoc bng
> Ln hn
~= Khng bng
>= Ln hn hoc bng
== Bng
48
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
95
IV. BIU THC QUAN H V LOGIC
1. Cc php ton quan h (tt)
V d:
>> a=[3 4 3; 4 5 6];
>> b=[1 2 3; 7 8 6];
>> a==b
ans = 0 0 1
0 0 1
>> a>b
ans = 1 1 0
0 0 0
>> a>=b
ans = 1 1 1
0 0 1
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
96
IV. BIU THC QUAN H V LOGIC
2. Cc php ton logic:
Th t cc ton t trong biu thc logic t cao n
thp l not, and, or. Tuy nhin c th dng ngoc n
thay i
Trong Matlab, tt c cc gi tr khc khng u coi nh
ng (true), cn gi tr 0 c coi nh sai (false)
Ton t K hiu
not ~
and &
or |
49
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
97
IV. BIU THC QUAN H V LOGIC
2. Cc php ton logic (tt)
V d:
>> b=[1 1 0; 1 0 1]
>> a=[0 1 0; 0 0 1]
>> a&b
ans = 0 1 0
0 0 1
>> a|b
ans = 1 1 0
1 0 1
>> ~a
ans = 1 0 1
1 1 0
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
98
IV. BIU THC QUAN H V LOGIC
3. Cc hm quan h v logic:
Hm ngha
any(x)
Tr v vector hng c cc phn t =1 nu tn ti
phn t ct ca x khc 0, ngc li =0
all(x)
Tr v vector hng c cc phn t =1 nu tt c
phn t ct ca x khc 0, ngc li =0
exit(a)
= 1 nu a l bin, = 2 nu l file, = 0 nu a khng
tn ti
isnan(x)
Tr v ma trn cng c c cc phn t = 1 nu cc
phn t tng ng ca x l nan, ngc li = 0
find(x) Tr v vector cha ch s cc phn t ca x khc 0
50
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
99
IV. BIU THC QUAN H V LOGIC
3. Cc hm quan h v logic (tt)
Hm ngha
finite(x)
Tr v ma trn cng c c cc phn t = 1 nu
cc phn t tng ng ca x hu hn, = 0 nu
v hn hoc nan
isempty(x) = 1 nu x rng, ngc li = 0
isstr(x) = 1 nu x l mt chui, ngc li = 0
strcmp(y1,y2)
So snh 2 chui, =1 nu 2 chui ging ht
nhau, ngc li =0. Phn bit hoa-thng, du
cch, u dng
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
100
IV. BIU THC QUAN H V LOGIC
3. Cc hm quan h v logic (tt)
V d:
>> a=[0 1 2; 0 0 3];
>> any(a)
ans = 0 1 1
>> all(a)
ans = 0 0 1
>> find(a)
ans = 3
5
6
51
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
101
IV. BIU THC QUAN H V LOGIC
3. Cc hm quan h v logic (tt)
V d:
>> a=[nan 12 4 0; inf 3 8 nan]
a = NaN 12 4 0
Inf 3 8 NaN
>> isnan(a)
ans = 1 0 0 0
0 0 0 1
>> finite(a)
ans = 0 1 1 1
0 1 1 0
>> isempty(a)
ans = 0
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
102
IV. BIU THC QUAN H V LOGIC
3. Cc hm quan h v logic (tt)
V d:
>> text1='Lop HCDH';
>> text2='Lop';
>> text3='HCDH';
>> isstr(text1)
ans = 1
>> strcmp(text1,text2)
ans = 0
>> strcmp(text1,[text2 ' ' text3])
ans = 1
52
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
103
V. CU TRC IU KHIN
1. Lnh if else elseif:
C cc dng s dng
if biu thc logic
cc pht biu
end
hoc
if biu thc logic
cc pht biu 1
else
cc pht biu 2
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
104
V. CU TRC IU KHIN
1. Lnh if else elseif (tt)
hoc
if biu thc logic 1
cc pht biu 1
elseif biu thc logic 2
cc pht biu 2
end
53
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
105
V. CU TRC IU KHIN
1. Lnh if else elseif (tt)
V d 1:
if n>0
disp('la so duong')
elseif n==0
disp('la so 0')
else
disp('la so am')
end
if rem(a,2)==0
disp('la mot so chan')
b=a/2;
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
106
V. CU TRC IU KHIN
1. Lnh if else elseif (tt)
V d 2: Hm ngay_trong_thang.m
function y = ngay_trong_thang(th,nam)
if (th==4)|(th==6)|(th==9)|(th==11)
y=30
elseif (th==2)
if (rem(nam,4)~=0)
y=28
else
y=29
end
else
y=31
end
54
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
107
V. CU TRC IU KHIN
2. Lnh switch case:
Chn nhiu trng hp
switch biu thc (v hng hay chui)
case tr_1
Cc pht biu 1
case tr_2
Cc pht biu 2

otherwise
Cc pht biu khc
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
108
V. CU TRC IU KHIN
2. Lnh switch case (tt)
V d 1:
switch input_num
case -1
disp(negative one);
case 0
disp(zero);
case 1
disp(positive one);
otherwise
disp(other value);
end
55
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
109
V. CU TRC IU KHIN
2. Lnh switch case (tt)
V d 2:
switch var
case 1
disp(1);
case {2,3,4}
disp(2 or 3 or 4);
case 5
disp(5);
otherwise
disp(something else);
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
110
V. CU TRC IU KHIN
c. Lnh while:
while biu thc logic
cc pht biu
end
V d 1:
n=1;
while prod(1:n) < 1e100 % prod tnh tch cc phn
n=n+1; % t ct ca vect hay
end % ma trn
56
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
111
V. CU TRC IU KHIN
4. Lnh for:
for index=star:increment:end
cc biu thc
end
V d 1:
x(1)=1;
for i=2:6
x(i)=2*x(i-1);
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
112
V. CU TRC IU KHIN
4. Lnh for (tt)
V d 2: Chng trnh khi to gi tr cho ma trn A(mxn)
for i=1:m
for j=1:n
A(i,j)=i+j;
end
end
57
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
113
V. CU TRC IU KHIN
5. Gin on bng continue, break v return
Trong vng lp for hay while, gi continue th ngay lp
tc chu trnh chuyn sang bc lp k tip, mi lnh
cha thc hin ca vng lp hin ti s b b qua
Lnh break mnh hn, ngng vng lp ang tnh
Nu break s dng ngoi vng lp for v while, nhng
nm trong script file hoc function th s dng ti v tr
ca break
Lnh return s dng kt thc sm hm trc khi
gp lnh end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
114
V. CU TRC IU KHIN
5. Gin on bng continue, break v return (tt)
for m=3:1:7
for n=2:1:m-1
if mod(m, n) ~=0
continue;
end
fprintf('%2d khng l mt s nguyn t !\n',m)
break;
end
if n==m-1
fprintf('%2d l mt s nguyn t !\n',m)
end
end
58
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
115
V. CU TRC IU KHIN
5. Gin on bng continue, break v return (tt)
Kt qu:
!! 3 l mt s nguyn t !
4 khng l mt s nguyn t !
!! 5 l mt s nguyn t !
6 khng l mt s nguyn t !
!! 7 l mt s nguyn t !
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
116
VI. BI TP:
1. Hy cho bit kt qu khi chy on chng trnh sau:
2. Hy cho bit kt qu khi chy on chng trnh sau:
a = [1 2 3 4; 4 5 6 7; 7 8 9 10];
m=size(a,2);
for i = 1:m
disp(a(:,i));
end
a = [1 2 3; 4 5 6; 7 8 9];
[m n]=size(a);
for i = (1-m):(n-1)
disp(triu(tril(a,i),i))
end
59
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
117
VI. BI TP:
3. Hy cho bit kt qu khi chy on chng trnh sau:
4. Hy cho bit kt qu khi chy on chng trnh sau:
a = pascal(3);
row = size(a,1); col = size(a,2);
for i = (1-row):(col-1)
disp(tril(triu(a,i),i))
end
n=4; giaithua=1
for i=1:n
giaithua=giaithua*i;
fprintf('%d! = %d\n',i,giaithua);
end
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
118
VI. BI TP:
5. Hy cho bit kt qu khi chy on chng trnh sau:
6. Vit chng trnh cho hin th trn mn hnh dy s :
1 2 3 4 5 6 7 8 n
Vi n c nhp t bn phm
a = [1 2 3 4; 4 5 6 7; 7 8 9 10];
[m n]=size(a);
for i = 1:m
for j=1:n
fprintf('%d ', a(i,j))
end
end
60
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
119
VI. BI TP:
7. Vit on chng trnh tnh tng ca n s t nhin, vi
n c nhp t bn phm
8. Vit mt hm minmax.m vi tham s ng vo l mt
ma trn a, Kt qu tr v ca hm l gi tr phn t ln
nht v phn t nh nht trong ma trn
9. Vit mt hm findmax.m vi tham s ng vo l mt
ma trn a; Kt qu tr v ca hm l v tr ca phn t
ln nht (hng, ct) trong ma trn
10. Vit mt hm luythuabac3.m vi tham s vo l gi tr
n; Tr v gi tr tng ly tha bc 3 ca n phn t
1
3
+ 2
3
+ 3
3
+ .. + n
3
CHNG 3: LP TRNH TRONG MATLAB
Ging vin: Hong Xun Dng
120
VI. BI TP:
11. Vit mt hm tinhtong.m c:
Nhn vo gi tr n
Tr v gi tr tng cc tch 2 s lin tip t 1 n n
1*2 + 2*3 + 3*4 + .. + (n-1)*n
12. Tm gi tr ln nht ca n sao cho tng:
1
2
+ 2
2
+ + n
2
nhn gi tr nh hn 100.
13. M phng mt php tnh n gin cng, tr, nhn v
chia 2 s.
14. Hm tnh n!. S dng hm tnh x=7!/(3!*4!)
61
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
121

CHNG 4:
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
122
I. A THC
II. PHP NI SUY
III. HM CA HM
IV. X L HM DI DNG CHUI BIU THC
V. BI TP
62
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
123
I. A THC:
a thc c sp xp theo ly tha gim
Biu din di dng vector hng, cc phn t l cc h
s ca a thc
V d:
a thc 2x
3
- 8x + 7 c biu din bng vector p
p=[2 0 -8 7]
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
124
I. A THC:
Mt s hm x l a thc:
Hm Chc nng
conv Nhn a thc
polyfit Xp x bng a thc
poly Lp a thc t nghim
polyvalm Tnh ma trn a thc
roots Tm nghim a thc
deconv Chia a thc
polyder o hm a thc
polyval Tnh gi tr a thc
residue Tnh thng d, khai trin ring phn phn s
63
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
125
I. A THC:
1. Nghim ca a thc:
Nghim ca a thc bc 2
V d: Gii phng trnh bc 2: 5x
2
+6x+7=0
>> p = [5 6 7]
>> r = roots(p)
r = -0.6000 + 1.0198i
-0.6000 - 1.0198i
>> t = real(r)
t = -0.6000
-0.6000
>> a = imag(r)
a = 1.0198
-1.0198
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
126
I. A THC:
1. Nghim ca a thc:
a thc bc n
V d: Gii phng trnh bc 4: x
4
- 12x
3
+ 25x + 116 = 0
>> p = [1 -12 0 25 116]
>> r = roots(p)
r = 11.7473
2.7028
-1.2251 + 1.4672i
-1.2251 - 1.4672i
>> t = real(r)
>> a = imag(r)
>> pp = poly(r)
pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000
64
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
127
I. A THC:
2. Nhn 2 a thc:
V d: Cho 2 a thc: y = x
3
+2x
2
+3x+4
v z = x
3
+4x
2
+9x+16
>> p1 = [1 2 3 4]
p1 = 1 2 3 4
>> p2 = [1 4 9 16]
p2 = 1 4 9 16
>> p = conv(p1,p2)
p = 1 6 20 50 75 84 64
Nu nhn nhiu a thc th lp li nhiu ln lnh conv
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
128
I. A THC:
3. Cng a thc:
Hai a thc cng bc:
p = p1 + p2;
tng t cho tr a thc
p = p1 p2;
Hai a thc khc bc:
Thm cc h s 0 vo a thc c bc thp hn 2 a
thc c cng bc
65
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
129
I. A THC:
4. Chia a thc:
V d: Cho 2 a thc: y = x
3
+ 6x
2
+ 12x + 8
z = x
2
+ 1
>> y = [1 6 12 8];
>> z = [1 0 1];
>> p = deconv(y,z)
p = 1 6
>> [p,r] = deconv(y,z)
p = 1 6
r = 0 0 11 2 % y=(x
2
+ 1)(x + 6) + (11x + 2)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
130
I. A THC:
5. o hm:
V d: Cho a thc y = x
3
+ 6x
2
+ 12x + 8
>> y = [1 6 12 8]
y = 1 6 12 8
>> z = polyder(y);
z = 3 12 12 % z = 3x
2
+ 12x + 12
66
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
131
I. A THC:
6. V th:
V d: a thc y(x) = x
3
+ 4x
2
- 7x 10
Cho cc gi tr ca x, tnh cc gi tr ca y tng ng
>> x = linspace(-1,3);
>> p = [1 4 -7 -10];
>> y = polyval(p,x); % xc nh y ng vi cc gi tr x
>> plot(x,y)
>> xlabel(x)
>> ylabel(y = f(x) = x
3
+ 4x
2
- 7x 10);
>> title(V th);
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
132
67
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
133
I. A THC:
7. a thc hu t:
V d:
Cho phn thc:
Phn chia phn thc ra tng h s:
Nu chiu di hay bc ca Q(x) ln hn P(x) th k=0
( )
( )
( )
( )( )( ) 4 x 3 x 1 x
7 x 4 2
x Q
x P
+ + +
+
=
( )
( )
k
4 x
C
3 x
B
1 x
A
x Q
x P
+
+
+
+
+
+
=
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
134
I. A THC:
7. a thc hu t (tt)
Gii:
>> num=2*[4 7];
>> den=poly([-1 ; -3 ; -4]);
>> [res,poles,k]=residue(num,den)
res = -6.0000
5.0000
1.0000
poles= -4.0000
-3.0000
-1.0000
k = [ ] %
4 x
6
3 x
5
1 x
1
) x ( Q
) x ( P
+

+
+
+
=
68
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
135
I. A THC:
7. a thc hu t (tt)
Ngc li t res, poles, k c th tm li a thc P(x), Q(x)
>> [P,Q]=residue(res,poles,k)
P = 0 8 14
Q = 1 8 19 12
Bi tp: Tm cc h s ca cc hm sau
1. H(s)=10(s+2)/s(s+4)(s+5)
2. H(s)=4/(s+1)(s+2)
3. H(s)=10s/(s+1)(s+4)
4. H(s)=(s+1)/s(s+2)(s+3)
5. H(s)=10s
2
/(s+1)(s+5)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
136
II. PHP NI SUY:
1. Ni suy mt chiu:
Hm ni suy (interpolation) mt chiu thng dng nht:
Yi=interp1(X,Y,Xi)
Yi=interp1(Y,Xi)
Yi=interp1(X,Y,Xi,method)
Yi=interp1(X,Y,Xi,method,extrap)
Yi=interp1(X,Y,Xi,method,extrapval)
Y l tp d liu ng vi gi tr cho bi tp X
Yi l gi tr d liu c ni suy gi tr Xi
69
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
137
II. PHP NI SUY:
1. Ni suy mt chiu (tt)
method l phng php s dng khi ni suy:
nearest: ni suy cn gn nht
linear: ni suy tuyn tnh (mc nh)
spline, pchip, cubic, v5cubic: ni suy bc 3
extrap: dng khi ngoi suy, cc gi tr ngoi tm x, gi tr
tr v l extrapval
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
138
II. PHP NI SUY:
1. Ni suy mt chiu (tt)
V d:
>> hour=1:12;
>> temps=[5 8 9 15 25 29 31 30 22 25 27 24];
>> plot(hour,temps,hour,temps,'.')
>> h=linspace(1,12);
>> t =interp1(hour,temps,h,'linear');
>> t1=interp1(hour,temps,h,'cubic');
>> t2=interp1(hour,temps,h,'nearest');
>> hold on
>> plot(h,t,'g.')
>> plot(h,t1,'r.')
>> plot(h,t2,'k.')
70
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
139
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
140
II. PHP NI SUY:
2. Ni suy hai chiu:
Ni suy 2 chiu dng cho hm 2 bin z=f(x,y)
Hm ni suy hai chiu thng dng nht:
Zi=interp2(X,Y,Z,Xi,Yi)
Zi=interp2(Z,Xi,Yi)
Zi=interp2(Z,ntimes)
Zi=interp2(X,Y,Z,Xi,Yi,method)
Z l tp d liu ng vi gi tr cho bi tp X,Y
Zi l gi tr d liu c ni suy gi tr Xi,Yi
71
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
141
II. PHP NI SUY:
2. Ni suy hai chiu (tt)
V d: Cho mt tp d liu lng nhn vin:
>> years=1950:10:1990
>> service=10:10:30
>> wage=[ 150.697 199.592 187.625
179.323 195.072 250.287
203.212 179.092 322.767
226.505 153.706 426.730
249.633 120.281 598.243]
Ni suy xem mt nhn vin c 15 nm phc v lnh
lng bao nhiu vo nm 1975
>> w=interp2(service,years,wage,15,1975)
w= 190.6287
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
142
II. PHP NI SUY:
3. Ni suy nhiu chiu:
Vi=interp3(X,Y,Z,V,Xi,Yi,Zi)
Vi=interpn(X1,X2,X3,,V, Y1, Y2, Y3,)
72
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
143
III. HM CA HM:
Matlab biu din cc hm ton hc theo 2 cch: nh ngha
bng hm M v nh ngha bng inline
V d:
c th to file hamtruyen.m
hay nh ngha t dng lnh:
>> f=inline(10*(s+3)/(s*(s+5)*(s+10)));
c th to hm nhiu bin vi inline
>> f=inline(y*sin(x)+x*sin(y),x,y)
) 10 s )( 5 s ( s
) 3 s ( 10
y
+ +
+
=
function y=hamtruyen(s)
y=10*(s+3)/(s*(s+5)*(s+10))
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
144
III. HM CA HM:
Hm feval dng tnh gi tr ca mt hm theo bin:
V d:
>> f=inline(sin(x)+sin(y));
>> feval(f,90,45)
ans=1.7449
V d: hamtruyen.m
>> feval(@hamtruyen,3)
ans=10
function y=hamtruyen(x)
y=2*x^2-3*x+1;
73
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
145
III. HM CA HM:
Hm fplot dng v hm theo bin:
V d: hamtruyen.m
>> fplot(@hamtruyen,[0,2])
>> grid on
function y=hamtruyen(x)
y=2*x^2-3*x+1;
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
146
IV. X L HM DI DNG CHUI BIU THC:
Matlab khng ch tnh ton trn cc s c th m cn c
th thc hin tnh ton trn k hiu C th s dng mt
chui biu thc biu din hm
V d:
) ]' d , c ; b , a [ (' sym
d c
b a
M
)' x * 2 sin( ) 2 ^ x cos( ' ) x 2 sin( ) x cos(
)' x * 2 ( sqrt / 1 '
x 2
1
)' n ^ x * 2 /( 1 '
x 2
1
2
n

74
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
147
IV. X L HM DI DNG CHUI BIU THC:
Hm ngha
syms Khai bo bin
sym nh ngha hm
linsolve Gii h phng trnh
symsub Tr hm
symmul Nhn hm
symdiv Chia hm
symadd Cng hm
sympow Ly tha hm
diff o hm
int Tch phn
Hm ngha
symop To hm mi
symsum Tng hm
eval Tnh tr hm
numeric Tnh tr hm
subs Thay i gi tr bin
numden T+mu s hm
poly2sym Tm h s ca hm
sym2poly To hm t h s
compose Hm ca hm
finverse Tm hm ngc
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
148
IV. X L HM DI DNG CHUI BIU THC:
Hm ngha
ezplot V hm
factor Phn tch tp bc 1
simplify n gin hm
simple Ti gin hm
pretty Biu din trc quan
collect Khai trin hm
horner
expand Khai trin hm
taylor Khai trin taylor
solve Gii phng trnh
Hm ngha
dsolve Gii phng trnh vi phn
laplace Bin i laplace
ifourier Bin i fourier ngc
iztrans Bin i z ngc
bode V biu bode
freqs V p ng tn s
ztrans Bin i z
nyquist V biu Nyquist
ilaplace Bin i laplace ngc
fourier Bin i fourier
75
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
149
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm ca hm lng gic:
V d:
>> f=sym('cos(x)') % hay f='cos(x)'
f = cos(x)
>> y=diff(f)
y =-sin(x)
>> x=linspace(0,2*pi);
>> plot(x,eval(f),x,eval(y),'r')
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
150
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm mt a thc:
V d 1:
>> f = diff(x^3+3*x^2+5*x+2)
f = 3*x^2+6*x+5
>> x=linspace(-1,1);
>> y=polyval([3 6 5],x);
>> plot(x,y)
76
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
151
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm mt a thc:
V d 2:
>> D=['sin(x) ';'cos(x) ';'sinc(x)'];
>> x=linspace(-2*pi,2*pi);
>> clf
>> n=input(Chn hnh v: );
>> plot(x,eval(D(n,:)))
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
152
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm hm m:
V d:
>> diff(x^n,x) % o hm theo x, diff(x^n)
ans = x^n*n/x
>> diff(x^n,n)
ans = x^n*log(x)
77
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
153
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm a thc hu t:
V d:
>> diff(x/(1-x^2))
ans = 1/(1-x^2)+2*x^2/(1-x^2)^2
Rt gn biu thc:
>> simplify(sym(1/(1-x^2)+2*x^2/(1-x^2)^2))
ans = (1+x^2)/(-1+x^2)^2
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
154
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm mng:
V d:
>> syms x % nh ngha bin
>> A=[cos(x),sin(x);-sin(x),cos(x)]
A = [ cos(x), sin(x)]
[ -sin(x), cos(x)]
>> diff(A)
ans =
[ -sin(x), cos(x)]
[ -cos(x), -sin(x)]
78
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
155
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm v vi phn cp cao:
V d:
o hm cp 2
>> syms x
>> diff(sin(x),2)
ans = -sin(x)
o hm cp 3
>> diff(x^3,3)
ans = 6
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
156
IV. X L HM DI DNG CHUI BIU THC:
1. o hm v vi phn gn ng:
o hm v vi phn cp cao (tt)
V d:
o hm cp 2 theo a
>> syms x a;
>> f='a^2*x^3+x^2'
f = a^2*x^3+x^2
>> diff(f,a,2)
ans = 2*x^3
79
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
157
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn bt nh:
V d:
>> syms x x1 alpha u t;
>> int(1/(1+x^2)) % tch phn mc nh theo x
ans = atan(x)
>> int(1/(1+x^2),t) % tch phn theo t
ans = 1/(1+x^2)*t
>> int(sin(alpha*u),alpha)
ans = -1/u*cos(alpha*u)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
158
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn bt nh (tt)
>> int(sin(alpha*u),u)
ans = -1/alpha*cos(alpha*u)
Nu khi tnh tch phn hay nguyn hm ca mt lng qu
ln hay phc tp, i hi chim b nh ln th n khng
thc hin v tr v kt qu
>> int('log(x)/exp(x^2)')
ans = int(log(x)/exp(x^2),x)
>> int('sin(x)/x')
ans = sinint(x) % sinint(x) = int(sin(t)/t,t,0,x)
80
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
159
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn mng
V d:
>> syms x t;
>> A=[cos(x*t),sin(x*t);-sin(x*t),cos(x*t)];
>> int(A,t)
ans = [ 1/x*sin(x*t), -cos(x*t)/x]
[ cos(x*t)/x, 1/x*sin(x*t)]
>> int([exp(t),exp(alpha*t)])
ans = [exp(t), exp(alpha*t)/alpha]
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
160
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn xc nh
V d:
>> syms x x1 alpha t;
>> int(x1*log(1+x1),0,1) % tch phn t 0 1
ans = 1/4
>> int('sin(s+2*x)','s',pi/2,pi) % s cha khai bo
ans = 2*cos(x)^2-1-2*sin(x)*cos(x)
>> int(sin(x),0,t) % cn khng c trng
ans = -cos(t)+1 % vi i s ca hm
81
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
161
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn xc nh (tt)
V d:
Biu din bng th
>> t=linspace(0,4*pi);
>> y1=sin(t);
>> y2=1-cos(t);
>> plot(t,y1,t,y2,'r.')
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
162
IV. X L HM DI DNG CHUI BIU THC:
2. Tch phn:
Tch phn xc nh (tt)
Tng qut:
>> int('sin(s+2*x)','m','n')
ans = -1/2*cos(s+2*n)+1/2*cos(s+2*m)
82
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
163
IV. X L HM DI DNG CHUI BIU THC:
3. Ma trn:
nh thc:
V d:
>> M=sym('[a,b;c,d]')
M = [ a, b]
[ c, d]
>> determ(M) % nh thc
ans = a*d-b*c
Hay:
>> M='[a,b;c,d]'
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
164
IV. X L HM DI DNG CHUI BIU THC:
3. Ma trn:
nh thc (tt)
Gii h phng trnh
>> A=[1 -2 1;2 1 -4;3 -4 -1];
>> b=[2;-1;0]
>> x=linsolve(A,b)
x = [ 7/2]
[ 2]
[ 5/2]
% x = linsolve(A,b) tng ng vi x = sym(A)\sym(b)
83
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
165
IV. X L HM DI DNG CHUI BIU THC:
3. Ma trn:
Tnh ton vi ma trn:
V d:
>> G=sym('[cos(t),sin(t);-sin(t),cos(t)]')
G = [ cos(t), sin(t)]
[ -sin(t), cos(t)]
Cng mi phn t G cho t
>> symadd(G,'t')
ans =
[ cos(t)+t, sin(t)+t]
[ -sin(t)+t, cos(t)+t]
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
166
Tr mi phn t G cho t
>> symsub(G,'t')
Nhn mi phn t G cho t
>> symmul(G,'t')
Chia mi phn t G cho t
>> symdiv(G,'t')
Nhn 2 ma trn
>> symmul(G,G)
ans =
[ cos(t)^2-sin(t)^2, 2*cos(t)*sin(t)]
[ -2*cos(t)*sin(t), cos(t)^2-sin(t)^2]
84
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
167
Rt gn biu thc
>> simplify(ans)
ans =
[ 2*cos(t)^2-1, 2*cos(t)*sin(t)]
[ -2*cos(t)*sin(t), 2*cos(t)^2-1]
Hay:
>> simple(ans) % sau mt s bc rt gn
ans = [ cos(2*t), sin(2*t)]
[ -sin(2*t), cos(2*t)]
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
168
IV. X L HM DI DNG CHUI BIU THC:
4. a thc:
Tnh ton vi a thc:
V d:
>> f='2*x^2+3*x-5';g='x^2+x+7';
>> symadd(f,g) % Tnh biu thc f+g
ans = 3*x^2+4*x+2
>> symsub(f,g) % Tnh biu thc f-g
ans = x^2+2*x-12
>> symmul(f,g) % Tnh biu thc f*g
ans = (2*x^2+3*x-5)*(x^2+x+7)
85
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
169
IV. X L HM DI DNG CHUI BIU THC:
4. a thc:
Tnh ton vi a thc (tt)
>> symdiv(f,g) % Tnh biu thc f/g
ans = (2*x^2+3*x-5)/(x^2+x+7)
>> sympow(f,'3') % Tnh biu thc f^3
ans = (2*x^2+3*x-5)^3
>> sympow(f,'1/2') % Tnh biu thc f^1/2
ans = (2*x^2+3*x-5)^(1/2)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
170
IV. X L HM DI DNG CHUI BIU THC:
4. a thc:
Xy dng a thc t cc k hiu:
V d:
>> f=cos(x);g=sin(2*x);
>> symop(f,'/',g,'+',3)
ans = cos(x)/sin(2*x)+3
Kim tra li cc php ton a thc:
>> funtool
86
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
171
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
172
IV. X L HM DI DNG CHUI BIU THC:
5. Hm hu t:
Xc nh t s v mu s ca biu thc
V d:
>> f=sym('a*x^2/(b-x)');
>> [n,d]=numden(f)
n = -a*x^2
d = -b+x
>> f=sym('3/2*x^2+2/3*x-3/5');
>> [n,d]=numden(f)
n = 45*x^2+20*x-18
d = 30
87
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
173
IV. X L HM DI DNG CHUI BIU THC:
5. Hm hu t:
Tnh tng ca 2 a thc hu t:
V d:
>> f=sym('(x^2+3)/(2*x-1)');g=sym('3*x/(x-1)');
>> [n,d]=numden(f+g)
n = x^3+5*x^2-3
d = (2*x-1)*(x-1)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
174
IV. X L HM DI DNG CHUI BIU THC:
5. Hm hu t:
Ma trn:
V d:
>> k=sym('[3/2,(2*x+1)/3;4/x^2,(3*x+4)]')
k = [ 3/2, (2*x+1)/3]
[ 4/x^2, (3*x+4)]
>> [n,d]=numden(k)
n = [ 3, 2*x+1]
[ 4, 3*x+4]
d = [ 2, 3]
[ x^2, 1]
88
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
175
IV. X L HM DI DNG CHUI BIU THC:
6. Tm hm:
V d:
>> f=sym('1/(1+x^2)');g=sym('sin(x)');
>> h=sym('1/(1+u^2)');k=sym('sin(v)');
>> compose(f,g) % tnh f(g(x))
ans = 1/(1+sin(x)^2)
>> compose(g,f) % tnh g(f(x))
ans = sin(1/(x^2+1))
>> compose(h,k,'u','v') % tnh h(k(v))
ans = 1/(1+sin(v)^2)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
176
IV. X L HM DI DNG CHUI BIU THC:
7. Tm hm ngc:
V d:
>> finverse(sym('1/x'))
ans = 1/x
>> finverse(sym('exp(x)'))
ans = log(x)
>> finverse(sym('sin(x)'))
ans = asin(x)
>> finverse(sym('x^2')) % li
ans = x^(1/2)
89
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
177
IV. X L HM DI DNG CHUI BIU THC:
8. Chui:
C php: symsum(f,a,b) tnh tng hm f t a n b
Tng hu hn:
>> symsum(sym('x^2'),0,'x-1')
ans = 1/3*x^3-1/2*x^2+1/6*x %
>> factor(ans) % i li dng kt qu
ans = 1/6*x*(2*x-1)*(x-1)
% c th dng simple(ans)
x x x x
x
6
1
2
1
3
1
2 3
1
0
2
+ =

CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
178
IV. X L HM DI DNG CHUI BIU THC:
8. Chui (tt)
>> symsum(sym('(2*n-1)^2'),1,'n')
ans = 11/3*n+8/3-4*(n+1)^2+4/3*(n+1)^3
>> factor(ans)
ans = 1/3*n*(2*n-1)*(2*n+1) %
Khng tnh c cc tng hi t c iu kin
>> symsum(sym('x^k'),0,'n')
ans = sum(x^k,x = 0 .. n) %
( )
( )( )
3
1 2 1 2
1 2
2
1
+
=

n n n
n
n
1 x ,
x 1
1
x
n
0 k
k
<

=
90
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
179
IV. X L HM DI DNG CHUI BIU THC:
8. Chui:
Tng v hn:
>> symsum(sym('k'),0,inf)
ans = inf
Khi khng c iu kin hi t:
>> symsum(sym('x^k'),0,'inf')
ans = sum(x^k,x = 0 .. inf)
Tnh tng 1/(2*n-1)^2 vi n t 1..v cng
>> symsum(sym('1/(2*n-1)^2'),1,inf)
ans = 1/8*pi^2
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
180
IV. X L HM DI DNG CHUI BIU THC:
9. Thay i gi tr hm v bin:
Hm:
>> phi='(1+sqrt(5))/2'
phi = (1+sqrt(5))/2
>> numeric(phi) % i dng s
ans = 1.6180
Hoc dng hm tnh tr
>> eval(phi)
ans = 1.6180
91
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
181
IV. X L HM DI DNG CHUI BIU THC:
9. Thay i gi tr hm v bin:
Hm (tt)
>> syms x
>> f=2*x^2+x^3-3*x+5;
>> n=sym2poly(f) % tm cc h s a thc
n = 1 2 -3 5
% to li a thc t h s
>> p=poly2sym(n) % mc nh l x
p = 2*x^2+x^3-3*x+5
>> p=poly2sym(n,'s') % thay x bng s
p = s^3+2*s^2-3*s+5
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
182
IV. X L HM DI DNG CHUI BIU THC:
9. Thay i gi tr hm v bin:
Bin:
>> syms f g h x a b c
>> f=a*x^2+b*x+c;
Thay x bng s
>> subs(f,'s',x)
ans = a*s^2+b*s+c
Thay a bng alpha
>> subs(f,'alpha',a)
ans = alpha*x^2+b*x+c
92
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
183
IV. X L HM DI DNG CHUI BIU THC:
9. Thay i gi tr hm v bin:
Bin (tt)
>> g=3*x^2+5*x-4;
>> h=subs(g,'x','2')
h = 3*(2)^2+5*(2)-4
>> numeric(h)
ans = 18
>> isstr(h)
ans = 0 % h khng l chui
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
184
IV. X L HM DI DNG CHUI BIU THC:
10. V th theo biu thc:
V d:
>> ezplot('cos(x)') % v hm cos v t in nhn vo
>> ezplot('abs(cos(x))',[0 2*pi])
>> ezplot('sin(2*x)*cos(x)',[0 2*pi])
>> ezplot('-16*x^2+64*x+96,[0 6])
93
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
185
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
186
IV. X L HM DI DNG CHUI BIU THC:
11. nh dng v n gin biu thc:
Sp xp
>> int('sin(s+2*x)','s',pi/2,pi)
ans = 2*cos(x)^2-1-2*sin(x)*cos(x)
>> pretty(ans)
2
2 cos(x) - 1 - 2 sin(x) cos(x)
94
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
187
IV. X L HM DI DNG CHUI BIU THC:
11. nh dng v n gin biu thc:
Khai trin Taylor
>> syms x
>> f=taylor(log(x+1)/(x-5))
f=-1/5*x+3/50*x^2-41/750*x^3+293/7500*x^4-1207/37500*x^5
>> pretty(f)
2 41 3 293 4 1207 5
- 1/5 x + 3/50 x - --- x + ---- x - ----- x
750 7500 37500
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
188
IV. X L HM DI DNG CHUI BIU THC:
11. nh dng v n gin biu thc:
Khai trin hng ng thc
>> f=sym('x^2-1')
f = x^2-1
>> factor(f)
ans = (x-1)*(x+1)
>> collect(ans) % ly li biu thc f
ans = x^2-1
95
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
189
IV. X L HM DI DNG CHUI BIU THC:
11. nh dng v n gin biu thc:
Tng qut:
>> f=sym('(x^2-1)*(x-2)*(x-3)')
f = (x^2-1)*(x-2)*(x-3)
>> collect(f)
ans = x^4-5*x^3+5*x^2+5*x-6
>> horner(ans)
ans = -6+(5+(5+(x-5)*x)*x)*x
>> factor(ans)
ans = (x-1)*(x-2)*(x-3)*(x+1)
>> expand(f)
ans = x^4-5*x^3+5*x^2+5*x-6
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
190
IV. X L HM DI DNG CHUI BIU THC:
11. nh dng v n gin biu thc:
n gin biu thc
>> simplify(sym('log(2*x/y)'))
ans = log(2)+log(x/y)
>> simplify(sym('sin(x)^2+3*x+cos(x)^2-5'))
ans = -4+3*x
>> simplify(sym('(-a^2+1)/(1-a)'))
ans = a+1
>> f=sym('(1/x^3+6/x^2+12/x+8)^(1/3)');
>> simple(f)
ans = (2*x+1)/x
96
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
191
IV. X L HM DI DNG CHUI BIU THC:
12. Gii phng trnh bc n:
Gii phng trnh bc 2
>> solve('x^2+2*x-1')
ans = [ 2^(1/2)-1]
[ -1-2^(1/2)]
>> numeric(ans)
ans =
0.4142
-2.4142
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
192
IV. X L HM DI DNG CHUI BIU THC:
12. Gii phng trnh bc n:
Gii phng trnh bc 2 (tt)
>> [x,y]=solve('x^2+x*y+y=3','x^2-4*x+3=0')
x =
[ 1]
[ 3]
y =
[ 1]
[ -3/2]
97
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
193
IV. X L HM DI DNG CHUI BIU THC:
12. Gii phng trnh bc n:
Gii phng trnh bc 3
>> solve('x^3+2*x^2-4*x+1')
ans = [ 1]
[ -3/2+1/2*13^(1/2)]
[ -3/2 -1/2*13^(1/2)]
>> numeric(ans)
ans = 1.0000
0.3028
-3.3028
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
194
IV. X L HM DI DNG CHUI BIU THC:
12. Gii phng trnh bc n:
Gii phng trnh lng gic
>> solve('2*cos(x)+2')
ans = pi
>> solve('cos(x)=sin(x)')
ans = 1/4*pi
>> solve('exp(x)=tan(x)')
ans = 1.3063269404230792361743566584407
>> numeric(ans)
ans = 1.3063
98
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
195
IV. X L HM DI DNG CHUI BIU THC:
13. Gii h phng trnh bc nht tuyn tnh:
V d:
>> 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')
x1 = 1/3
x2 = 1/3
x3 = -1/3
x4 = 5/3
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
196
IV. X L HM DI DNG CHUI BIU THC:
14. Gii phng trnh vi phn:
Phng trnh vi phn cp 1
V d: gii phng trnh vi phn y=dy/dx=ytg(x)+cos(x)
>> dsolve('Dy=y*tan(x)+cos(x)','x')
ans = (1/4*sin(2*x)+1/2*x+C1)/cos(x) % C1 l k u
V d: gii phng trnh y=dy/dx=1+y^2 vi y(0)=1
>> dsolve('Dy=1+y^2','y(0)=1','x')
ans = tan(x+1/4*pi)
Hay:
>> dsolve('Dy-y^2-1=0','y(0)=1','x')
99
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
197
IV. X L HM DI DNG CHUI BIU THC:
14. Gii phng trnh vi phn:
Phng trnh vi phn cp 2
V d: gii y=cos(2x)-y vi y(0)=1 v y(0)=0
>> dsolve('D2y=cos(2*x)-y','Dy(0)=0','y(0)=1','x')
ans = 4/3*cos(x)-1/3*cos(2*x)
V d: gii y-2y-3y=0 vi y(0)=1 v y(1)=1
>> y= dsolve('D2y-2*Dy-3*y=0','y(0)=0','y(1)=1','x')
y =1/(exp(3)-exp(-1))*exp(3*x)-1/(exp(3)-exp(-1))*exp(-x)
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
198
IV. X L HM DI DNG CHUI BIU THC:
14. Gii phng trnh vi phn:
Phng trnh vi phn cp 2 (tt)
>> y=simple(y);
y = (exp(-x)-exp(3*x))/(exp(-1)-exp(3))
>> pretty(y)
exp(-x) - exp(3 x)
------------------
exp(-1) - exp(3)
>> ezplot(y,[-6 2])
100
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
199
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
200
IV. X L HM DI DNG CHUI BIU THC:
14. Gii phng trnh vi phn:
H phng trnh vi phn cp 1
V d: df/dx = 3f+4g vi f(0)=0
dg/dx = -4f+3g vi g(0)=0
>>[f,g] = dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0','g(0)=1','x')
f = exp(3*x)*sin(4*x)
g = exp(3*x)*cos(4*x)
101
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
201
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
Bin i Laplace:
>> syms t s x a w
>> laplace(sin(t))
ans = 1/(s^2+1)
>> ilaplace(1/(s^2+1)) % Bin i ngc
ans = sin(t)
>> laplace(12*exp(-3*x))
ans = 12/(s+3)
>> laplace(sym(1))
ans = 1/s
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
202
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
Bin i Laplace (tt)
>> laplace(sym(diff(x^2)))
ans = 2/s^2
>> laplace(cos(x*w),w,t)
ans = t/(t^2+x^2)
>> laplace(sin(w*x),t)
ans = w/(t^2+w^2)
>> laplace(x^sym(3/2),t)
ans = 3/4/t^(5/2)*pi^(1/2)
102
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
203
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
Bin i Laplace (tt)
V d: Tm nghim mt h thng bit hm truyn t:
>> ilaplace(1/((s+1)*(s^2+5*s+6))+(s+6)/(s^2+5*s+6))
ans = 1/2*exp(-t)-5/2*exp(-3*t)+3*exp(-2*t)
( )
( )( )
( )
( ) 6 s 5 s
6 s
6 s 5 s 1 s
1
S H
2 2
+ +
+
+
+ + +
=
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
204
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
Bin i Fourier:
>> syms t x
>> fourier(exp(-x^2),t)
ans = pi^(1/2)*exp(-1/4*t^2)
>> ifourier(pi^(1/2)*exp(-1/4*t^2)) % Bin i ngc
ans = 3991211251234741/2251799813685248/pi^(1/2)*exp(-x^2)
>> factor(3991211251234741/2251799813685248/pi^(1/2)*exp(-x^2))
ans = exp(-x^2)
>>simplify(3991211251234741/2251799813685248/pi^(1/2)*exp(-x^2))
ans = exp(-x^2)
103
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
205
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
Bin i z:
>> syms a n z
>> ztrans(a^n)
ans = z/a/(z/a-1)
>> simplify(ans)
ans = -z/(-z+a)
>> iztrans(z/(z-a)) % Bin i ngc
ans = a^n
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
206
IV. X L HM DI DNG CHUI BIU THC:
15. Cc php bin i:
V trong min tn s:
Cho h thng c hm s chuyn:
Nhp vo t v mu s:
>> num=[2 5 1];den=[1 2 3];
V gin bode
>> bode(num,den)
V p ng tn s
>> freqs(num,den)
V gin Nyquist
>> nyquist(num,den)
( )
3 s 2 s
1 s 5 s 2
S H
2
2
+ +
+ +
=
104
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
207
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
208
V. BI TP:
1) Tnh tr cc a thc sau vi x=1
2) Thc hin v th cho cc hm sau (khong v t chn)
f(x)=3x
2
+7x+4
g(x)=(x+1)/(x-2)+6x
h(x)=3x
3
+6x
2
+3x
( )( )
( )( ) ( )( )
( )
( )( )
( )( ) ( )( )
( )
( )( )( )( )
( )( )( )( ) 2 x 4 x 1 x 5 1 x 6 x 2 x 7 x 6 x 9
3 x 8 x 1 x 6 x 7 1 x 6 x 8
3 P
2 x 4 x
3 x 8 x 1 x 6 x 2
1 x 5
x 7 x 6 x 9 1 x
6 x 7 1 x 6 x 8
2 P
x 7 x 6 x 9
6 x 7 1 x 6 x 8
1 x 5
3 x 8 x 1 x
2 x 4 x 1 x 6 x 2
1 P
3 2 2 2 3
2 2
3
2 2
2
2 3
2
2 3
2
2
2
3 2
+ + +
+ + + +
=
+ +
+ +

+
+ +
+ +
=
+ +
+ +

+
+ +
+ +
=
105
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
209
3) Hy cho bit cc dng sau sai v tr no:
>> hamtruyen=inline('8*(s+a)/(s*(s+4)(s+3))')
>> fval(@hamtruyen,3,7)
>> plot(@hamtruyen,[4 8])
>> grid
4) Gii thch cc dng sau:
>> syms x
>> a=[sin(x);cos(x)]
>> y=diff(a);
>> x=linspace(0,2*pi);
>> plot(x,eval(y(1,1)), '-r',x,eval(y(2,1)), '.b');
>> gtext('cos(x)'); gtext('sin(x)'); title('Bai tap chuong 4');
CHNG 4: X L CC HM TON HC
Ging vin: Hong Xun Dng
210
5) Hy cho bit kt qu cc dng sau:
>> A=sym('[x^2-1,x+1,x-1,4]')
>> symadd(A,2)
>> symadd(A,'2')
>> symadd(A(1),A(2))
>> symmul(A(1),A(3))
>> compose(A(1),A(3))
>> compose(compose(A(1),A(2)),A(4))
>> sympow(A(4),'2')
>> symop(A(1),'+',A(2),'*',A(3),'-',A(4))
>> symmul(symmul(A(1),A(4)),symmul(A(2),A(3)))
>> sym2poly(symmul(A(2),A(1)))
>> symmul(A,A)
106
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
211

CHNG 5:
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
212
I. HA 2D
II. HA 3D
III. CC LOI HM C BIT
107
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
213
I. HA 2D:
Cc bc c bn s dng cc hm v:
1. Chun b d liu
x = 0:0.2:12;
y1 = bessel(1,x);
y2 = bessel(2,x);
y3 = bessel(3,x);
2. Chn ca s v v tr mt vng v trong ca s
figure(1)
subplot(2,2,1)
3. Gi cc hm v
h = plot(x,y1,x,y2,x,y3);
4. Chn nt v v mu sc
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
set(h,{'Color'},{'r';'g';'b'})
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
214
I. HA 2D:
5. Ci t thng s trc v li
axis([0 12 -0.5 1])
grid on
6. To cc ch thch v canh l cho hnh v
xlabel('Time')
ylabel('Amplitude')
legend(h,'First','Second','Third')
title('Bessel Functions')
[y,ix] = min(y1);
text(x(ix),y,'First Min \rightarrow',...
'HorizontalAlignment','right')
7. Xut hnh v
print -depsc -tiff -r200 myplot
108
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
215
I. HA 2D:
Cc hm v c bn:
Hm ngha
plot V 2D vi 2 trc x v y tuyn tnh
plot3 V 3D vi 3 trc x, y v z tuyn tnh
loglog V vi 2 trc x v y l logarithmic
semilogx V vi trc x l logarithmic v y tuyn tnh
semilogy V vi trc y l logarithmic v x tuyn tnh
plotyy V c 2 trc y
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
216
I. HA 2D:
1. Hm plot:
C php hm plot nh sau
plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)
hlines = plot('v6',...)
109
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
217
I. HA 2D:
1. Hm plot:
V d:
>> x=linspace(0,2*pi);
>> plot(x,sin(x),x,cos(x))
>> grid on
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
218
I. HA 2D:
1. Hm plot (tt)
Handle: Mi mt i tng trong mn hnh ho
u c nhn din bng mt con s, c gi l
handle ca i tng
Mt s hm lin quan n cc handle c bit:
0 handle i tng gc
gcf tr v handle cho figure hin hnh
gca tr v handle cho trc v hin hnh
gco tr v handle cho i tng hin hnh
gcbf tr v handle cho callback figure
gcbotr v handle cho callback object
110
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
219
I. HA 2D:
1. Hm plot (tt)
Handle (tt)
V d:
>> x=linspace(0,2*pi);
>> h=plot(x,sin(x),x,cos(x))
h = 103.0004
3.0016
>> gcf
ans = 1
>> gca
ans = 101.0009
>> set(h(1),'color','r')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
220
I. HA 2D:
1. Hm plot (tt)
Cc loi nt v c bit:
plot(x,y,linestyle_marker_color)
linestyle Kiu ng
'-' Solid line (default)
'--' Dashed line
':' Dotted line
'-.' Dash-dot line
'none' No line
111
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
221
marker ngha
'+' Plus sign
'o' Circle
'.' Point
'diamond' or 'd' Diamond
'^' Upward-pointing triangle
'v' Downward-pointing triangle
'>' Right-pointing triangle
'<' Left-pointing triangle
'pentagram' or 'p' Five-pointed star (pentagram)
'hexagram' or 'h' Six-pointed star (hexagram)
'none' No marker (default)
'*' Asterisk
'x' Cross
'square' or 's' Square
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
222
Gi tr RGB Color Mu
[1 1 0] y
m
c
r
g
b
w
k
yellow
[1 0 1] magenta
[1 0 0] red
[0 1 0] green
[0 1 1] cyan
[0 0 1] blue
[1 1 1] white
[0 0 0] black
112
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
223
I. HA 2D:
1. Hm plot (tt)
Cc loi nt v c bit (tt)
V d
>> t=0:pi/100:2*pi;
>> y1=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);
>> plot(t,y1,'-',t,y2,'--',t,y3,':')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
224
I. HA 2D:
1. Hm plot (tt)
V im - ng - cc k hiu:
V d 1:
>> x = 0:pi/15:4*pi;
>> y1 = exp(2*cos(x));
>> y2 = exp(2*sin(x));
>> plot(x,y1,'+r',x,y2,'-.ob')
113
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
225
I. HA 2D:
1. Hm plot (tt)
V im - ng - cc k hiu:
V d 2:
>> t = 0:pi/20:2*pi;
>> plot(t,sin(t),'-.r*')
>> hold on
>> plot(t,sin(t-pi/2),'--mo')
>> plot(t,sin(t-pi),':bs')
>> hold off
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
226
I. HA 2D:
1. Hm plot (tt)
Cc mu v kch thc nt v:
plot(x,y,'-mo',...
'LineWidth',0.5,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[.49 1 .63],...
'MarkerSize',6)
Trong :
- lineWidth l rng nt v (mc nh l 0.5)
- markerEdgrcolor l mu cnh marker
- markerfacecolor l mu t
- Markersize l kch thc nt v (mc nh l 6)
114
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
227
I. HA 2D:
1. Hm plot:
Cc mu v kch thc nt v (tt)
V d 1:
>> t = 0:pi/20:2*pi;
>> plot(t,sin(2*t),'-mo',... % nt v hnh trn
'LineWidth',2,...
'MarkerEdgeColor','k',... % mu cnh hnh trn
'MarkerFaceColor',[.49 1 .63],... % mu t cc hnh trn
'MarkerSize',12) % kch thc cc hnh trn
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
228
115
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
229
I. HA 2D:
1. Hm plot (tt)
Cc mu v kch thc nt v (tt)
V d 2:
>> x=(-pi:pi/2:pi);
>> y1=sin(x); y2=cos(x);
>> plot(x,y1,'--','linewidth',4)
>> hold on
>> plot(x,y2,'o','markersize',12)
>> grid on
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
230
I. HA 2D:
2. Cc hm gn nhn
Hm ngha
text Hin th 1 chui
title Ta
xlabel t nhn cho trc x
legend Ch thch trn hnh
ylabel t nhn cho trc y
zlabel t nhn cho trc z
gtext Hin th 1 chui s dng chut
116
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
231
I. HA 2D:
2. Cc hm gn nhn (tt)
a. text
C php:
text(x,y,'string')
text(x,y,z,'string')
text(...'PropertyName',PropertyValue...)
h = text(...)
Trong :
(x,y) to v tr string
PropertyName tn thuc tnh
PropertyValue gi tr thuc tnh
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
232
+ Cc thuc tnh ca text:
verticalalignment
{top|cap|middle|baseline|bottom}
Thuc tnh canh l theo chiu ng cho text theo v tr t
text
V d:
>> text(x,y,'string','Verticalalignment','top',...
117
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
233
+ Cc thuc tnh ca text:
horizontalalignment {left|center|right}
Thuc tnh canh l theo hng ngang cho text theo v tr
t text
V d:
>> text(x,y,'string','HorizontalAlignment','right',...
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
234
+ Cc thuc tnh ca text:
rotation scalar(degrees)
Xoay text i mt gc, mc nh l 0
Fontname
Kiu font ch ca text (mc nh Helvetica). C th kt
hp vi cc option nh dng:
\bf - bold font
\it - italics font
\sl - oblique font (rarely available)
\rm - normal font
V d:
>> text(11,380,'\itConcentration','Rotation',-55,...
'FontName','Tahoma')
118
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
235
+ Cc thuc tnh ca text:
Fontsize
Kch thc font ch (mc nh l 10)
V d:
>> text(11,380,'Concentration','Rotation',-55, 'fontsize',12)
string
Chui vn bn cn c hin th. C th s dng cc k
hiu trong bng sau to cc k t c bit:
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
236
119
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
237
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
238
+ Cc thuc tnh ca text:
string
V d:
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
>> text(pi,0,' \leftarrow sin(\pi)','FontSize',18)
120
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
239
I. HA 2D:
2. Cc hm gn nhn (tt)
b. tittle:
C php:
title('string')
title(fname)
title(...,'PropertyName',PropertyValue,...)
h = title(...)
V d:
>> x=linspace(0,2*pi);
>> plot(x,sin(x))
>> title('Do thi sin(x)', 'FontName',...
'SVNelvetica','Fontsize',15,'color','r')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
240
I. HA 2D:
2. Cc hm gn nhn (tt)
b. tittle (tt)
121
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
241
I. HA 2D:
2. Cc hm gn nhn (tt)
c. xlabel-ylabel-zlabel
C php:
xlabel('string')
xlabel(fname)
xlabel(...,'PropertyName',PropertyValue,...)
h = xlabel(...)
ylabel(...)
h = ylabel(...)
zlabel(...)
h = zlabel(...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
242
I. HA 2D:
2. Cc hm gn nhn (tt)
c. xlabel-ylabel-zlabel (tt)
V d:
>> xlabel('Truc x','Fontname','SVNhelvetica',...
'Fontsize',15,'color','g')
>> ylabel('Do thi y va z','Fontname','SVNhelvetica',...
'Fontsize',15,'color','b')
>> title('Do hoa 2D','Fontname','SVNhelvetica',
'Fontsize',15,'color','r')
122
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
243
I. HA 2D:
2. Cc hm gn nhn (tt)
d. legend: t ch thch cho hnh v
C php:
legend('string1','string2',...)
legend(h,'string1','string2',...)
legend(string_matrix)
legend(h,string_matrix)
legend(axes_handle,...)
legend('off')
legend(h,...)
legend(...,pos)
h = legend(...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
244
I. HA 2D:
2. Cc hm gn nhn (tt)
d. legend (tt)
V d:
>> t=0:pi/100:2*pi;
>> y1=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);
>> plot(t,y1,'-',t,y2,'--',t,y3,':')
>> legend('sin(t)','sin(t-0.25)','sin(t-0.5)',1)
123
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
245
I. HA 2D:
2. Cc hm gn nhn (tt)
e. gtext
t text theo v tr click chut trn mn hnh ha,
trong khng gian 2 chiu
C php:
gtext('string')
h = gtext('string')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
246
I. HA 2D:
2. Cc hm gn nhn (tt)
V d:
>> x=linspace(0,2*pi,30);
>> y=sin(x);z=cos(x);
>> plot(x,y,x,z)
>> grid
>> xlabel('Truc x','Fontname','SVNhelvetica','Fontsize',15,'color','g')
>> ylabel('Do thi y va z','Fontname','SVNhelvetica','Fontsize',15,'color','b')
>> title('Do hoa 2D','Fontname','SVNhelvetica','Fontsize',15,'color','r')
>> text(2.5,0.7,'Do thi sin(x)',...
'FontName','SVNelvetica','Fontsize',11,'color','b')
>> gtext('Do thi cos(x)','FontName','SVNelvetica','Fontsize',12,'color','g')
>> legend('sin(x)','cos(x)',-1) % ghi ch v hnh v
124
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
247
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
248
I. HA 2D:
3. Cc hm ci t:
Hm subplot(m,n,p):
Chia mn hnh ra lm m hng v n ct v hnh, vi:
m: l hng
n: l ct
p: l v tr cn v
>> x=linspace(-2*pi,2*pi);
>> subplot(2,2,1); plot(x,sin(x)); title('y=sin(x)')
>> subplot(2,2,2); plot(x,sinc(x)); title('y=sinc(x)')
>> subplot(2,2,3); plot(x,cos(x)); title('y=cos(x)')
>> subplot(2,2,4); plot(x,1-sin(x)); title('y=1-sin(x)')
>> subplot % tr v mc nh
125
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
249
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
250
I. HA 2D:
3. Cc hm ci t (tt)
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
Thay i nt v, vi:
LineWidth: ln nt v
LineStyle: Loi vit v lin tc hay gin on
V d:
>> x=linspace(-1,1);
>> h=plot(x,x.*x)
>> set(h,'LineWidth',5,'LineStyle','--')
126
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
251
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
252
I. HA 2D:
3. Cc hm ci t (tt)
Hm set(h,{'Color'},{'r';'g';'b'})
Thay i mu v (vi cc k t mu c cp trong
chng 1)
V d:
>> x=linspace(-1,1);
>> h=plot(x,x.*x)
>> set(h,'Color','r')
127
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
253
I. HA 2D:
3. Cc hm ci t (tt)
Hm axis([xmin xmax ymin ymax])
t li trc v
V d:
>> x=linspace(-1,1);
>> h=plot(x,x.*x)
>> axis([-2 2 -2 2])
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
254
I. HA 2D:
3. Cc hm ci t (tt)
V d:
>> x=0:0.2:12;
>> y1=bessel(1,x);
>> y2=bessel(2,x);
>> y3=bessel(3,x);
>> figure(1)
>> h=plot(x,y1,x,y2,x,y3);
>> set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
>> set(h,{'Color'},{'r';'g';'b'})
>> axis([0 12 -0.5 1])
>> grid on
128
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
255
% t nhn cho trc:
>> xlabel('Truc thoi gian','FontName','SVNelvetica','Fontsize',15,'color','g')
>> ylabel('Bien do','FontName','SVNelvetica','Fontsize',15,'color','b')
>> title('Ham bessel','FontName','SVNelvetica','Fontsize',15,'color','r')
>> legend(h,'bessel 1','bessel 2','bessel 3',-1)
% Ch thch hnh:
>> [y,ix]=min(y1); % tm min trong mng (tr v gi tr, ch s)
>> text(x(ix),y,'Nho nhat\rightarrow','HorizontalAlignment','right',...
'FontName','SVNelvetica','Fontsize',12,'color','m')
>> [yy,ixx]=max(y1); % tm max trong mng (tr v gi tr, ch s)
>> text(x(ixx),yy,'\leftarrowLon nhat','HorizontalAlignment','left',...
'FontName','SVNelvetica','Fontsize',12,'color','b')
>> ymean=mean(y1); % tm trung bnh trong mng (tr v gi tr)
>> text(.2,ymean,'\leftarrowTrung binh','HorizontalAlignment','left',...
'FontName','SVNelvetica','Fontsize',12,'color','b')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
256
129
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
257
I. HA 2D:
3. Cc hm ci t (tt)
t loi nt v mc nh :
V d:
>> x = 0:pi/10:2*pi;
>> y1 = sin(x); y2 = sin(x-pi/2); y3 = sin(x-pi);
% t 3 loi ng v
>> set(0,'DefaultAxesLineStyleOrder',{'-o',':s','--+'})
% t mu v l xm
>> set(0,'DefaultAxesColorOrder',[0.5,0.5,0.5])
% V 3 hnh
>> plot(x,y1,x,y2,x,y3)
% Tr v mc nh
>> set(0,'DefaultAxesLineStyleOrder','remove')
>> set(0,'DefaultAxesColorOrder','remove')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
258
130
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
259
I. HA 2D:
3. Cc hm ci t (tt)
t trc v:
C php:
semilogx(Y)
semilogx(X1,Y1,...)
semilogx(X1,Y1,LineSpec,...)
semilogx(...,'PropertyName',PropertyValue,...)
h = semilogx(...)
hlines = semilogx('v6',...)
semilogy(...)
h = semilogy(...)
hlines = semilogy('v6',...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
260
I. HA 2D:
3. Cc hm ci t (tt)
t trc v:
V d:
>> x=0:.1:10;
>> semilogx(1:100,'+')
>> hold on
>> semilogx(1:3:300,1:100,'--')
>> hold off
131
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
261
I. HA 2D:
4. Hm plotyy:
C php hm plotyy nh sau:
plotyy(X1,Y1,X2,Y2)
plotyy(X1,Y1,X2,Y2,'function')
plotyy(X1,Y1,X2,Y2,'function1','function2')
[AX,H1,H2] = plotyy(...) s tr v:
AX = handle ca trc
H1 = handle ca hnh 1
H2 = handle ca hnh 2
'function' c th l plot, semilogx, semilogy, loglog,
stem, hay bt k hm Matlab theo c php:
h = function(x,y)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
262
I. HA 2D:
4. Hm plotyy (tt)
V d 1:
>> t = 0:pi/20:2*pi;
>> y1=sin(t);
>> y2=cos(t);
>> plotyy(t,y1,t,y2,'plot','stem')
% stem l hm v d liu ri rc.
132
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
263
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
264
I. HA 2D:
4. Hm plotyy (tt)
V d 2:
>> x = 0:0.01:20;
>> y1 = 200*exp(-0.05*x).*sin(x);
>> y2 = 0.8*exp(-0.5*x).*sin(10*x);
>> [AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
>> set(get(AX(1),'Ylabel'),'String','Left Y-axis')
>> set(get(AX(2),'Ylabel'),'String','Right Y-axis')
>> title('Labeling plotyy')
>> set(H1,'LineStyle','--')
>> xlabel('Zero to 20 \musec.')
>> set(H2,'LineStyle',':')
133
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
265
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
266
I. HA 2D:
5. Hm plot3:
C php:
plot3(X1,Y1,Z1,...)
plot3(X1,Y1,Z1,LineSpec,...)
plot3(...,'PropertyName',PropertyValue,...)
h = plot3(...)
134
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
267
I. HA 2D:
5. Hm plot3 (tt)
V d 1:
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t)
>> grid on
>> axis square
% chn 3 trc x,y,z bng nhau
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
268
I. HA 2D:
5. Hm plot3 (tt)
V d 2: D liu l ma trn
>> [X,Y]=meshgrid([-2:0.1:2]); % To tp ma trn d liu
>> Z=X.*exp(-X.^2-Y.^2);
>> plot3(X,Y,Z)
>> grid on
>> xlabel('Truc x','FontName','SVNhelvetica','FontSize',15,'color','r')
>> ylabel('Truc y','FontName','SVNhelvetica','FontSize',15,'color','g')
>> zlabel('Truc z','FontName','SVNhelvetica','FontSize',15,'color','b')
135
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
269
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
270
I. HA 2D:
6. t thng s cho trc:
axis: t gi tr trc
axis([xmin xmax ymin ymax])
axis([xmin xmax ymin ymax zmin zmax])
v = axis
axis auto
axis manual
axis tight
axis fill
.
136
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
271
I. HA 2D:
6. t thng s cho trc (tt)
.
axis equal % t l cc trc bng nhau
axis square % di cc trc bng nhau
axis normal
axis off
axis on
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
272
I. HA 2D:
6. t thng s cho trc (tt)
V d 1:
>> x = -pi:.1:pi;
>> y = sin(x);
>> plot(x,y,'r')
>> set(gca,'XTick',-pi:pi/2:pi) %nh cc im trn trc x
>> set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
>> xlabel('-\pi \leq \Theta \leq \pi','Fontsize',15,'color','b')
>> ylabel('sin(\Theta)','Fontsize',15,'color','g')
137
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
273
I. HA 2D:
6. t thng s cho trc (tt)
V d 1 (tt)
>> title('Ve sin(\Theta)','Fontname','SVNhelvetica',...
'Fontsize',15,'color','r')
>> text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)',...
'HorizontalAlignment','left','color','r')
>> hold on
>> set(findobj(gca,'Type','line','Color',[1 0 0]),...
'Color',[0,0,1],'LineWidth',2)
>> hold off
>> set(findobj(gca,'Type','line','Color',[0 0 1]),...
'Color',[0 1 0],'LineWidth',2)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
274
138
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
275
I. HA 2D:
6. t thng s cho trc (tt)
V d 2: Ci t t l
>> t = 0:pi/20:2*pi;
>> plot(sin(t),2*cos(t))
>> grid on
>> axis square
hoc:
>> axis equal
hoc:
>> axis equal tight
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
276
139
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
277
I. HA 2D:
7. V nhiu hnh:
V d:
>> h1=figure % To khung hnh 1
>> x=linspace(0,2*pi);
>> plot(x,sin(x));
>> axis([0 2*pi -1 1]);title('sin(x)');
>> h2=figure % To khung hnh 2
>> plot(x,cos(x));
>> axis([0 2*pi -1 1]);title('cos(x)');
>> h3=figure
>> plot(x,2.*sin(x).*cos(x));
>> axis([0 2*pi -1 1]);title('2*sin(x)*cos(x)');
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
278
I. HA 2D:
7. V nhiu hnh (tt)
V d (tt)
>> h4=figure
>> plot(x,sin(x)./cos(x));
>> axis([0 2*pi -1 1]);title('sin(x)/cos(x)');
>> close % Xa hnh bt k
>> close(h1) % Xa hnh 1
>> clf % Xa hnh khng xa khung
>> close all % Xa tt c
>> clf reset
140
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
279
II. HA 3D:
1. Cch s dng cc hm v:
1. Chun b d liu
z=peaks(20)
2. Chn v tr trong ca s v
figure(1)
subplot(2,1,2)
3. Gi hm v 3D
h = surf(z);
4. Chn mu v t bng
colormap hot
shading interp
set(h,'EdgeColor','k')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
280
5. Thm lighting
light('Position',[-2,2,20])
lighting phong
material([0.4,0.6,0.5,30])
set(h,'FaceColor',[0.7 0.7 0],...'BackFaceLighting','lit')
6. Chn view
view([30,25])
set(gca,'CameraViewAngleMode','Manual')
7. Chn trc
axis([5 15 5 15 -8 8])
set(gca,'ZTickLabel','Negative||Positive')
141
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
281
8. Chn t l
set(gca,'PlotBoxAspectRatio',[2.5 2.5 1])
9. To cc nhn
xlabel('X Axis')
ylabel('Y Axis')
zlabel('Function Value')
title('Peaks')
10. In
set(gcf,'PaperPositionMode','auto')
print -dps2
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
282
II. HA 3D:
2. V d liu 3D:
Nu x, y v z l 3 vector c cng kch thc:
plot3(x,y,z)
V d 1:
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t)
>> axis square;
>> grid on
142
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
283
II. HA 3D:
2. V d liu 3D (tt)
V d 2:
>> [X,Y] = meshgrid([-2:0.1:2]);
>> Z = X.*exp(-X.^2-Y.^2);
>> plot3(X,Y,Z)
>> grid on
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
284
II. HA 3D:
3. Cc loi hm v b mt :
a. Hm mesh:
mesh(X,Y,Z)
mesh(Z)
mesh(...,C)
mesh(...,'PropertyName',PropertyValue,...)
mesh(axes_handles,...)
meshc(...)
meshz(...)
143
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
285
II. HA 3D:
3. Cc loi hm v b mt (tt)
a. Hm mesh (tt)
V d:
>> [X,Y] = meshgrid(-3:.125:3);
>> Z = peaks(X,Y);
>> meshc(X,Y,Z);
>> axis([-3 3 -3 3 -10 5])
hoc
>> meshz(X,Y,Z);
hoc
>> mesh(X,Y,Z);
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
286
II. HA 3D:
3. Cc loi hm v b mt (tt)
b. Hm surf:
surf(Z)
surf(X,Y,Z)
surf(X,Y,Z,C)
surf(...,'PropertyName',PropertyValue)
surf(axes_handle,...)
surfc(...)
144
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
287
II. HA 3D:
3. Cc loi hm v b mt (tt)
b. Hm surf (tt)
V d:
>> [X,Y,Z] = peaks(30);
>> surfc(X,Y,Z)
>> colormap hsv
>> axis([-3 3 -3 3 -10 5])
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
288
II. HA 3D:
4. S dng mu:
C php:
colormap(map)
colormap('default')
cmap = colormap
Mt colormap l mt ma trn m hng, 3 ct (ng vi 3
mu R G B). Cc gi tr t 0.0 n 1.0
map(k,:) = [r(k) g(k) b(k)]
V d:
>> cm = colormap;
>> cm(57,:)
ans = 1 0 0
145
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
289
II. HA 3D:
4. S dng mu (tt)
colormap(func(n)) to ma trn n hng theo hm func
func c th l: hsv, hot, cool, summer, gray, jet, bone,
winter
V d:
>> cm=colormap(hot(20))
>> colormap(gray)
>> colormap jet
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
290
Red Green Blue Color
0 0 0 black
1 1 1 white
1 0 0 red
0.49 1 0.83 aquamarine
0 1 0 green
0 0 1 blue
1 1 0 yellow
1 0 1 magenta
0 1 1 cyan
0.5 0.5 0.5 gray
0.5 0 0 Dark red
1 0.62 0.40 copper
146
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
291
II. HA 3D:
4. S dng mu (tt)
V d 1:
>> load flujet
>> image(X)
>> colormap(jet)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
292
II. HA 3D:
4. S dng mu (tt)
V d 2:
>> load spine
>> image(X)
>> colormap bone
147
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
293
II. HA 3D:
4. S dng mu (tt)
V d 3:
>> P = peaks(40);
>> C = del2(P);
>> surf(P,C)
>> colormap hot
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
294
II. HA 3D:
5. nh ngha View:
a. t view:
Trong trng hp mc nh, Matlab t ng chn view
+ 2D th c azimuth (phng v) = 0
0
v elevation ( cao) 90
0
+ 3D th c azimuth = -37.5
0
v elevation 30
0
148
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
295
II. HA 3D:
5. nh ngha View (tt)
a. t view (tt)
V d:
>> [X,Y]=meshgrid([-2:.25:2]);
>> Z=X.*exp(-X.^2 -Y.^2);
>> surf(X,Y,Z)
>> view([180 0])
>> view([-37.5 -30])
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
296
II. HA 3D:
5. nh ngha View:
b. t trc:
axis([xmin xmax ymin ymax zmin zmax])
Mc nh c ta axis([-5 5 -5 5 0 1])
V d:
>> t = 0:pi/6:4*pi;
>> [x,y,z] = cylinder(4+cos(t),30);
>> surf(x,y,z)
>> axis square
>> axis equal
>> axis([-6 6 -6 6 0 2])
149
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
297
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
298
II. HA 3D:
6. Di chuyn hnh:
V d 1:
>> axis equal
>> for j=1:30
plot(fft(eye(j+16)))
M(j)=getframe;
end
Hay:
>> movie(M)
150
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
299
II. HA 3D:
6. Di chuyn hnh (tt)
V d 1(tt)
Hay:
>> axis equal
>> set(gca,'Nextplot','replacechildren')
>> for j=1:30
plot(fft(eye(j+16)))
M(j)=getframe;
end
Hay:
>> movie(M)
>> movie(M,30)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
300
II. HA 3D:
6. Di chuyn hnh (tt)
V d 2:
>> [xx,yy,zz]=peaks(30);
>> surf(xx,yy,zz);
>> axis off
>> for j=1:50
view(-37.5+24*(j-1),30)
n(:,1)=getframe;
end
>> movie(n)
151
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
301
III. CC LOI HM C BIT:
1. Hm bar:
Dng din t cc d liu ri rc theo dng biu ct
a. Hm bar v barh:
bar(Y) % th thanh ng
bar(x,Y)
bar(...,width)
bar(...,'style')
bar(...,LineSpec)
[xb,yb] = bar(...)
h = bar(...)
barh(...) % th thanh ngang
[xb,yb] = barh(...)
h = barh(...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
302
III. CC LOI HM C BIT:
1. Hm bar (tt)
a. Hm bar v barh (tt)
Trong :
width: l rng c mc nh l 0.8
LineSpec: l mu v [R G B]
style: Kiu ca bar
- group
- stack
V d 1:
>> x = -2.9:0.2:2.9;
>> bar(x,exp(-x.*x))
>> colormap hsv
152
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
303
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
304
III. CC LOI HM C BIT:
1. Hm bar (tt)
a. Hm bar v barh (tt)
V d 2:
>> Y = round(rand(5,3)*10);
>> subplot(2,2,1); bar(Y,'group'); title 'Group'
>> subplot(2,2,2); bar(Y,'stack'); title 'Stack'
>> subplot(2,2,3); barh(Y,'stack'); title 'Stack'
>> subplot(2,2,4); bar(Y,1.5); title 'Width = 1.5'
153
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
305
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
306
III. CC LOI HM C BIT:
1. Hm bar (tt)
a. Hm bar v barh (tt)
V d 3:
>>Y = [5 2 1; 8 7 3; 9 8 6; 5 5 5; 4 3 2];
>> bar(Y,'stack')
>> grid on
>> set(gca,'layer','top')
154
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
307
III. CC LOI HM C BIT:
1. Hm bar (tt)
b. Hm bar3 v bar3h:
bar3(Y)
bar3(x,Y)
bar3(...,width)
bar3(...,'style')
bar3(...,LineSpec)
h = bar3(...)
bar3h(...)
h = bar3h(...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
308
III. CC LOI HM C BIT:
1. Hm bar (tt)
b. Hm bar3 v bar3h (tt)
Trong :
width: l rng c mc nh l 0.8
LineSpec: l mu v [R G B]
style: Kiu ca bar
- grouped
- stacked
- detached
155
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
309
V d:
>> Y = cool(7); colormap([1 0 0;0 1 0;0 0 1]);
>> subplot(1,2,1); bar3(Y,'detached'); title('Detached')
>> subplot(1,2,2); bar3(Y,0.25,'detached'); title('Width = 0.25')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
310
V d (tt)
>> subplot(1,2,1); bar3(Y,'grouped'); title('Grouped')
>> subplot(1,2,2); bar3(Y,0.5,'grouped'); title('Width = 0.5')
156
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
311
V d (tt)
>> subplot(1,2,1); bar3(Y,'stacked'); title('Stacked')
>> subplot(1,2,2); bar3(Y,0.3,'stacked'); title('Width = 0.3')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
312
III. CC LOI HM C BIT:
1. Hm bar (tt)
c. Hm stairs:
stairs(Y)
stairs(X,Y)
stairs(...,LineSpec)
[xb,yb] = stairs(Y)
[xb,yb] = stairs(X,Y)
V d:
>> x = 0:.25:10;
>> stairs(x,sin(x))
157
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
313
III. CC LOI HM C BIT:
1. Hm bar (tt)
d. Gii hn trc:
V d:
>> temp = [29 23 27 25 20 23 23 27];
>> days = 0:5:35;
>> bar(days,temp)
>> xlabel('Day')
>> ylabel('Temperature (^{o}C)')
>> set(gca,'YLim',[15 30],'Layer','top')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
314
158
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
315
III. CC LOI HM C BIT:
2. Hm area:
area(Y)
area(X,Y)
area(...,ymin)
area(...,'PropertyName',PropertyValue,...)
h = area(...)
V d:
>> Y = [1, 5, 3; 3, 2, 7; 1, 5, 3; 2, 6, 1];
>> area(Y); grid on
>> colormap summer
>> set(gca,'Layer','top')
>> title 'Stacked Area Plot'
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
316
159
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
317
III. CC LOI HM C BIT:
3. Hm pie: Hm v dng r qut
a. pie:
pie(X)
pie(X,explode)
pie(...,labels)
pie(axes_handle,...)
h = pie(...)
V d 1:
>> pie(1:4,{'Product A',
'Product B','Product C','Product D'})
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
318
III. CC LOI HM C BIT:
3. Hm pie (tt)
a. pie (tt)
V d 2:
>> x = [1 3 0.5 2.5 2];
>> explode = [0 1 0 0 0];
>> pie(x,explode)
>> colormap jet
160
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
319
III. CC LOI HM C BIT:
3. Hm pie (tt)
a. pie (tt)
V d 3:
>> X = [ 19.3 22.1 51.6;
34.2 70.3 82.4;
61.4 82.9 90.8;
50.5 54.9 59.1;
29.4 36.3 47.0];
>> x = sum(X); explode = zeros(size(x));
>> [c,offset] = max(x);
>> explode(offset) = 1;
>> h = pie(x,explode); colormap summer
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
320
III. CC LOI HM C BIT:
3. Hm pie (tt)
b. pie3:
pie3(X)
pie3(X,explode)
pie3(...,labels)
pie3(axes_handle,...)
h = pie3(...)
V d 1:
>> x = [1 3 0.5 2.5 2];
>> explode = [0 1 0 0 0];
>> pie3(x,explode)
>> colormap hsv
161
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
321
III. CC LOI HM C BIT:
4. Hm Histograms:
a. Histograms trong ta phng:
n = hist(Y)
n = hist(Y,x)
n = hist(Y,nbins)
[n,xout] = hist(...)
hist(...)
hist(axes_handle,...)
V d 1:
>> yn = randn(10000,1);
>> hist(yn)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
322
III. CC LOI HM C BIT:
4. Hm Histograms (tt)
a. Histograms trong ta phng (tt)
V d 2:
>> Y = randn(10000,3);
>> hist(Y)
162
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
323
III. CC LOI HM C BIT:
4. Hm Histograms (tt)
a. Histograms trong ta phng (tt)
V d 3:
>> x = -2.9:0.1:2.9;
>> y = randn(10000,1);
>> hist(y,x)
% thay i mu
>> h = findobj(gca,'Type','patch');
>> set(h,'FaceColor','r','EdgeColor','w')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
324
163
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
325
III. CC LOI HM C BIT:
4. Hm Histograms (tt)
b. Histograms trong ta cc:
rose(theta)
rose(theta,x)
rose(theta,nbins)
rose(axes_handles,...)
h = rose(...)
[tout,rout] = rose(...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
326
III. CC LOI HM C BIT:
4. Hm Histograms (tt)
b. Histograms trong ta cc (tt)
V d:
>> theta = 2*pi*rand(1,50);
>> rose(theta)
>> hline = findobj(gca,'Type','line');
>> set(hline,'LineWidth',1.5)
164
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
327
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
328
III. CC LOI HM C BIT:
4. Hm Histograms (tt)
c. Ch nh s Bin trong Histograms:
V d:
>> yn = randn(10000,1);
>> yu = rand(10000,1);
>> x = min(yn):.2:max(yn);
>> subplot(1,2,1); hist(yn,x)
>> title('Normally Distributed Random Numbers','FontSize',10)
>> subplot(1,2,2); hist(yu,25)
>> title('Uniformly Distributed Random Numbers','FontSize',10)
165
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
329
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
330
III. CC LOI HM C BIT:
5. D liu ri rc:
a. Hm stem: V 1 chui d liu
stem(Y)
stem(X,Y)
stem(...,'fill') % t mu vng trn cui stem
stem(...,LineSpec)
stem(axes_handle,...)
h = stem(...)
hlines = stem('v6',...)
166
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
331
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
a. Hm stem (tt)
V d:
>> t = linspace(-2*pi,2*pi,10);
>> h = stem(t,cos(t),'fill','--');
>> set(h,'MarkerFaceColor','red')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
332
167
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
333
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
b. V nhiu hnh:
V d 1: V 2 chui d liu trn 1 hnh
>> x = 0:25;
>> y = [exp(-.07*x).*cos(x);exp(.05*x).*cos(x)]';
>> h = stem(x,y);
>> set(h(1),'MarkerFaceColor','blue')
>> set(h(2),'MarkerFaceColor','red','Marker','square')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
334
168
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
335
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
b. V nhiu hnh (tt)
V d 2:
>> x = linspace(0,2*pi,60);
>> a = sin(x); b = cos(x);
>> stem_handles = stem(x,a+b);
>> hold on
>> plot_handles = plot(x,a,'--r',x,b,'--g');
>> hold off
>> legend_handles = [stem_handles(1);plot_handles];
>> legend(legend_handles,'a + b','a = sin(x)','b = cos(x)',3)
>> xlabel('Time in \musecs'); ylabel('Magnitude')
>> title('Linear Combination of Two Functions')
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
336
169
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
337
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
c. Hm stem3: V 1 chui d liu 3 chiu
stem3(Z)
stem3(X,Y,Z)
stem3(...,'fill')
stem3(...,LineSpec)
h = stem3(...)
hlines = stem3('v6',...)
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
338
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
c. Hm stem3 (tt)
V d 1:
>> X = linspace(0,1,10);
>> Y = X./2;
>> Z = sin(X) + cos(Y);
>> stem3(X,Y,Z,'fill')
>> view(-25,30)
170
CHNG 5: HA MATLAB
Ging vin: Hong Xun Dng
339
III. CC LOI HM C BIT:
5. D liu ri rc (tt)
c. Hm stem3 (tt)
V d 2:
>> th = (0:127)/128*2*pi;
>> x = cos(th);
>> y = sin(th);
>> f = abs(fft(ones(10,1),128));
>> stem3(x,y,f','d','fill')
>> view([-65 30])
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
340

CHNG 6:
171
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
341
I. SIMULINK
II. MT S H THNG
III. MCH IN
IV. KHI SUBSYSTEM
V. BI TP
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
342
I. SIMULINK
1. Khi nim:
Simulink l cng c dng m phng v phn tch
cc h thng lin tc, ri rc, tuyn tnh v phi tuyn
thng qua giao din dng s khi
Trn ca s lnh g simulink hoc chn biu tng
simulink trn thanh cng c ca Matlab
Ca s Simulink Library Browser xut hin
172
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
343
I. SIMULINK
1. Khi nim (tt)
Cc th vin gc
Cc th vin con
ca th vin
c chn
M t th vin
c chn
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
344
I. SIMULINK
1. Khi nim (tt)
Simulink t chc cc khi theo th vin, mi th vin
gm nhiu th vin con. Cc th vin phc v cho cc
chuyn ngnh khc nhau
Cc th vin con l tp hp cc khi
Khi biu din mt h thng ng s cp, gm c u
vo, u ra v cc trng thi bn trong
Mi khi lin kt mt hm h thng cho bit quan h
gia u vo vi u ra
173
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
345
I. SIMULINK
1. Khi nim (tt)
V d:
Khi nhn v hng hoc ma trn X
Product
min
MinMax
Khi tnh min (hoc max) vector ng vo
Pulse
Generator
Khi pht xung
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
346
I. SIMULINK
2. Thc hin m hnh:
Mun to mt m hnh, chn File-New-Model, mt ca
s son tho m ra.
Chn cc khi trong ca s Simulink Library Browser
ri ko qua ca s son tho
174
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
347
I. SIMULINK
2. Thc hin m hnh (tt)
Cc thao tc khi to s khi
Thao tc Phm + chut
Chn khi hay ng LMB (left mouse button)
Chn nhiu khi hay nhiu ng Shift+LMB
Chp khi t ca s khc Bm chut v ko th (ko khi)
Di chuyn khi Ko khi
To khi ging nhau RMB v ko th hay LMB+Ctrl v ko
Ni cc khi LMB
Tho khi Shift+ko khi
Chn khi k Tab
Chn khi trc Shift+Tab
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
348
Cc thao tc khi to s khi
Thao tc Phm + chut
M h con chn Enter
To ch gii Double click trong gin
Chp ch gii Ctrl+ko
Di chuyn ch gii Ko
Bin tp ch gii LMB vo text
B ch gii Shift+chn ch gii ri bm del
Quay khi 90
0
theo chiu kim Ctrl+R
Lt khi (o u vo ra) Ctrl+I
Chuyn n cha ca h con Esc
Xa khi Chn + bm del
I. SIMULINK
2. Thc hin m hnh (tt)
175
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
349
I. SIMULINK
2. Thc hin m hnh (tt)
Mun thm ch thch vo hnh, chn vo ch trng trong
s khi, nhp cc ch thch.
Sau khi v xong s khi, chuyn sang giai on m
phng. Chn Simulation/start
Chn File/save lu s thnh tp tin vi ui .mdl
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
350
Continuous-Khi hm lin tc
Derivative o hm tn hiu vo
Integrator Tch phn tn hiu vo
Memory Khi nh
State-Space Phng trnh trng thi lin tc
Transfer Fcn Hm truyn lin tc
Transport Delay Delay
Variable Transport Delay Delay thay i
Zero-Pole Hm truyn theo cc v zero
Discontinuous-Khi hm phi tuyn
Backlash Khe h
Coulomb & Viscous Friction Ma st kh v t
Dead Zone Vng cht
Manual Switch Chn bng tay
3. Th vin simulink:
176
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
351
Multiport Switch Chn cc khi vo
Quantizer Lng t
Rate Limiter Gii hn o hm tn hiu
Relay Khu rle
Tch phn ri rc
Saturation Khu bo ha
Switch Chuyn mch gia hai ng vo
Discrete-Cc khi ri rc
Discrete Filter Lc IIR v FIR
Discrete State-Space Phng trnh trng thi ri rc
Discrete-Time Integrator
Discrete Transfer Fcn Hm truyn ri rc
Discrete Zero-Pole Hm truyn ri rc theo cc zero
First-Order Hold B ly mu v gi bc mt
Unit Delay B tr mt chu k ly mu
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
352
Zero-Order Hold B ly mu v gi bc zero
Look up Tables-Khi tra bng
Direct Look-Up Table (n-D) Bng tra hai chiu
Fcn To hm
Tra bng n chiu
Look-Up Table Tra bng
Look-Up Table (2-D) Tra bng hai chiu
Look-Up Table (n-D)
MATLAB Fcn Hm Matlab
S-Function Hm S
Math Operations-Th vin ton hc
Abs Ly tr tuyt i
Algebraic Constraint Gii hn i s
Bitwise Logical Operator Ton t logic (dch bit, mask, invert)
Combinatorial Logic Mch t hp
177
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
353
Complex to Magnitude-Angle Tnh bin v pha tn hiu s phc
Complex to Real-Imag Tnh phn thc v phn o ca s phc
To tn hiu s phc t bin v pha
Ly cc i hay cc tiu
Derivative Tnh o hm
Dot Product Tnh tch chm
Gain Khi t l
Logical Operator Ton t logic
Magnitude-Angle to Complex
Math Function Hm ton hc
Matrix Gain Nhn tn hiu vo vi ma trn
MinMax
Product Tnh tch hay thng u vo
Real-Imag to Complex i phn thc v o ra tn hiu phc
Relational Operator Ton t quan h
Rounding Function Lm trn
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
354
Sign Ly du
Slider Gain Con trt thay i li
To ng ra cho subsystem
Chn tn hiu vo
Data Store Write Ghi khi nh d liu
Demux Tch tn hiu
Sum Tnh tng
Trigonometric Function Tnh hm lng gic
Ports & Subsystens-To h con
In1 To ng vo cho subsystem
Out1
Subsystem Khi subsystem cha inport v outport
Signal Routing-To bus tn hiu
Bus Selector
Data Store Memory n nh khi nh d liu
Data Store Read c khi nh d liu
178
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
355
From Nhn tn hiu t khi goto
Chuyn tn hiu n khi From
Kha hai chiu k bng tay
Multiport Switch Kha nhiu chiu
Switch Kha hai chiu
Display Hin th gi tr u vo
Scope Hin th gi tr ra khi m phng
Stop Simulation Ngng m phng
To File Ghi d liu vo file
Mux Kt hp nhiu ng thnh ng vector
Selector Chn cc phn t ca vector ng vo
Goto
Goto Tag Visibility n nh tag ca khi goto
Manual Switch
Merge Hp nhiu ng thnh ng v hng
Sinks-Cc khi hin th hay lu tn hiu ra
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
356
To Workspace Ghi d liu vo bin trong Workspace
XY Graph V th X-Y
To sng sin tn s tng dn
To xung s
c d liu t file
To gi tr hng
Sources-Cc khi to tn hiu
Band-Limited White Noise To nhiu trng
Chirp Signal
Clock Thi gian m phng
Constant
Digital Clock To tg m phng cc khong ly mu
Digital Pulse Generator
From File
From Workspace c d liu t bin trong Workspace
Pulse Generator To xung
Ramp To hm dc
Random Number To s ngu nhin phn b chun
179
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
357
Repeating Sequence To tn hiu lp li
Signal Generator To dng sng
To sng sin
To s ngu nhin phn b u
Sine Wave
Step To hm nc
Uniform Random Number
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
358
I. SIMULINK
4. Function block parameters:
nh cc thng s cho cc hm h thng lin kt vi
khi, double click vo khi m ca s Function block
parameters.
V d 1: Khi tch phn integrator
S
1
180
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
359
Reset v iu kin u khi tn
hiu reset tc ng (none,
rising, falling,...)
Ngun iu kin u (int, ext)
Chn gii hn ra hay khng ?
Gii hn trn
Gii hn di
Thm ng ra bo ho
Thm ng ra trng thi
Dung sai tuyt i trng thi
khi
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
360
I. SIMULINK
4. Function block parameters (tt)
V d 2: Khi phng trnh trng thi State-Space
iu chnh cc thng s phng trnh trng thi ca h
thng c dng:
x=Ax+Bu
y =Cx+Du
[ ] u x 0 1 y
u
0
1
x
1 0
0 1
' x
+ =

=
181
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
361
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
362
I. SIMULINK
5. M phng:
C th chy m phng bng Simulation/Start hoc
trong command window:
>> [t,x,y]=sim(model,timespan,options,ut)
>> [t,x,y
1
,y
2
,,y
n
]=sim(model,timespan,options,ut)
Trong :
+ t: vector thi gian m phng
+ x: ma trn cc trng thi lin tc v ri rc
+ y: Ma trn cc ng ra
+ model: tn m hnh
+ timespan: thi gian bt u v kt thc m phng
+ options: Cc thng s ty chn theo lnh simset
+ ut: gi tr tn hiu vo
182
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
363
II. MT S H THNG
1. H thng Backlash:
a. Khi MUX c 2 ng vo:
Thit k h thng nh hnh v, lu thnh trigger.mdl
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
364
II. MT S H THNG
1. H thng Backlash:
a. Khi MUX c 2 ng vo (tt)
Khi Sin Wave: Simulink/ Sources
Khi Backlash: Simulink/ Discontinuites
Khi Mux: Simulink/ Signal routing
Khi Outport: Simulink/ Ports & Subsystems
Khi Scope: Simulink/ Sinks
183
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
365
II. MT S H THNG
1. H thng Backlash:
a. Khi MUX c 2 ng vo (tt)
Chy th:
1. Chn simulation/start
2. Double click khi scope xem dng sng
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
366
II. MT S H THNG
1. H thng Backlash:
a. Khi MUX c 2 ng vo (tt)
Trong command window:
>> [t,x,y]=sim('trigger',20) % tp thi gian 0-20
y l ma trn kt qu c 2 ct, ct 1 cha kt qu sau khi
qua khi backlash, ct 2 l sng sin nguyn thy
>> plot(t,y)
hay
>> plot(t,y(:,1)) % V ct 1
hay
>> plot(t,y(:,2)) % V ct 2
184
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
367
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
368
II. MT S H THNG
1. H thng Backlash:
a. Khi MUX c 2 ng vo (tt)
C th thay i thng s cho ngun sin bng cch
double click khi Sin Wave, thay i gi tr nh bin
, tn s,
C th gi li m hnh bng cch trong Command
window:
>> trigger
185
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
369
II. MT S H THNG
1. H thng Backlash (tt)
b. Khi MUX c 3 ng vo
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
370
II. MT S H THNG
1. H thng Backlash (tt)
b. Khi MUX c 3 ng vo (tt)
>> [t,x,y]=sim('trigger3',5)
y l ma trn kt qu c 3 ct, vi ct 3 l ma trn t
>> plot(y(:,3),y(:,1:2))
Hay
>> plot(y(:,3),y(:,1), y(:,3),y(:,2))
186
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
371
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
372
II. MT S H THNG
2. H thng phng trnh Van Der Pol
Phng trnh Van der Pol c dng:
x+(x^2+1)*x+x=0
Vi:
x=x1(1-x2^2)-x2
x2=x1
trong hng s Mu=1
187
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
373
II. MT S H THNG
2. H thng phng trnh Van Der Pol
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
374
II. MT S H THNG
2. H thng phng trnh Van Der Pol
Thc hin vi:
Khi Fcn: Simulink/ User-defines Function
Khi Product, Gain, Sum: Simulink/ Math operations
Khi Integrator: Simulink/ Continuous
khi tch phn th 2, vo properties chn iu kin
u l bng 1
Lu m hnh vi tn ptvdp.mdl
>> [t,x,y]=sim('ptvdp',30);
>> plot(t,y(:,1),':b',t,y(:,2),'--r')
188
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
375
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
376
189
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
377
II. MT S H THNG
3. p ng h thng
a. S dng sng sin vo c nh
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
378
II. MT S H THNG
3. p ng h thng
a. S dng sng sin vo c nh
Lu m hnh vi tn transfer.mdl
>> [t,x,y]=sim('transfer',10);
>> plot(t,y(:,1),':b',t,y(:,2),'--r')
H thng c hi tip m nn sng sin vo c tn s
cng cao th sng ra ti Ngo ra 1 c bin cng nh.
y l dng mch lc thng thp
190
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
379
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
380
191
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
381
II. MT S H THNG
3. p ng h thng (tt)
b. Khi Signal Generator
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
382
II. MT S H THNG
3. p ng h thng
b. Khi Signal Generator (tt)
Thc hin vi:
Khi Signal Generator: Simulink/ Source
Vo properties chn n v ca tn s l rad/s (hinh v),
dng sng c th l sin, vung, tam gic hoc ngu nhin.
Lu m hnh vi tn kdai.mdl
>> [t,x,y]=sim('kdai',10);
>> plot(t,y)
Khi Signal Generator c th thay bng khi Inport
nhp tn hiu cn khuch i t ngoi vo
192
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
383
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
384
193
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
385
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
386
II. MT S H THNG
3. p ng h thng
c. H thng ri rc
194
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
387
II. MT S H THNG
3. p ng h thng
c. H thng ri rc
Thc hin vi:
Khi Discreate Transfer Fcn: Simulink/ discreate
Vo properties nh cc tham s cho hm truyn
Khi Step: Simulink/ Source
khi Fcn th 2, vo properties chn thi gian ly
mu bng 0.7
Lu m hnh vi tn htrrac.mdl
>> [t,x,y]=sim('htrrac',30);
>> stairs(t,y,':r')
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
388
195
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
389
II. MT S H THNG
4. Khi to Workspace
Khi Workspace s t ng tr v gi tr nm trong
bin c khai bo trong property m khng cn s
dng hm sim( )
Khi dng khi ny phi khai bo bin v chn loi gi
tr tr v
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
390
II. MT S H THNG
4. Khi to Workspace (tt)
V d: Thit k h thng nh hnh v
196
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
391
II. MT S H THNG
4. Khi to Workspace (tt)
Khi To Workspace: Simulink/ Sinks
Khai bo bin delays v tr tr v l array
Khi Transport delay: Simulink/ Continuous
Lu m hnh vi tn delay.mdl
>> delays % quan st bin tr v
>> plot(delays)
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
392
197
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
393
III. MCH IN
1. o in th:
a. Khi Voltage Measurement:
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
394
III. MCH IN
1. o in th:
a. Khi Voltage Measurement (tt)
Thc hin vi:
AC Voltage Source: Simpowersystems/ Electrical Source
Khai bo 3 VAC, tn s 50Hz v pha=0
Khi mass: Simpowersystems/ Connectors
Voltage Mesurement: Simpowersystems/ Mesurement
Khi Series RLC Branch: Simpowersystems/ Elements
Chn thi gian Stop time l 10s
Chn time range l 0.10s
Lu m hnh vi tn voltRLC.mdl
198
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
395
Chn simulink / start chy m phng
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
396
Trong command window:
>> [t,x,y]=sim('voltRLC',0.02); plot(t,y)
199
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
397
III. MCH IN
2. o dng in:
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
398
III. MCH IN
2. o dng in:
Thc hin vi:
AC Current Source: Simpowersystems/ Electrical Source
Khai bo dng, tn s v pha.
Khi T Connect: Simpowersystems/ Connectors
Current Mesurement: Simpowersystems/ Mesurement
Chn thi gian Time range l 0.5s
Lu m hnh vi tn currnet.mdl
>> [t,x,y]=sim('current'); plot(t,y)
>> [t,x,y]=sim('current',0.2); plot(t,y)
200
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
399
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
400
III. MCH IN
3. Phn mch s
201
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
401
III. MCH IN
3. Phn mch s (tt)
Thc hin vi:
Khi Constant: Simulink/ Sources
Khi Clock: Simulink Extras/ Flip Flops
Khi D-FF: Simulink Extras/ Flip Flops
Khi NOT: Simulink/ Math Operatiobs/ Logic operation
Vo parameters chn NOT
Lu m hnh vi tn chiaf.mdl
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
402
202
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
403
IV. KHI SUBSYSTEM:
Trong thit k h thng, n gin ngi ta thng
chia h thng ra tng phn nh c gi l subsystem
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
404
IV. KHI SUBSYSTEM:
C th thc hin theo 2 cch:
1. To h con trc:
i. Chn Ports & Subsystems, ko khi vo ca s son
tho
ii. To cc khi lin kt bn trong
iii. Dng khi inport/outport biu din tn hiu vo ra
ca h con
203
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
405
IV. KHI SUBSYSTEM:
1. To h con trc (tt)
V d: To khi 1/(z-1)
To cc h con
Click chut vo h con
Xa ng ni
Thm cc khi
Ni cc khi
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
406
IV. KHI SUBSYSTEM:
2. To h con t khi c sn:
i. Dng chut ng khung cc khi v ng ni
ii. Chn Edit/Creat Subsystem
iii. Simulink thay cc khi chn bng mt khi chung
v mang mt tn chung
204
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
407
IV. KHI SUBSYSTEM:
2. To h con t khi c sn:
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
408
IV. KHI SUBSYSTEM:
3. To mt n h con:
H con gm nhiu khi c cc thng s khc nhau, c
th dng mt mt n chung cho cc khi ny, i din
cho h con v cc thng s cho khi
V d: To mt h con thc hin hm y=mx+b
- m, b l cc thng s phi a vo
- x l tn hiu vo
- y l tn hiu ra
205
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
409
IV. KHI SUBSYSTEM:
3. To mt n h con:
To h con:
Vo menu Edit/Mask Subsystem
Trong Documentation: t tn mt n Mask type,
cc ch thch trong Mask Description,
Thm cc thng s, bin, kiu loi trong tab
Parameters
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
410
206
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
411
IV. KHI SUBSYSTEM:
3. To mt n h con:
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
412
V. BI TP:
Bi tp 1:
207
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
413
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
414
V. BI TP:
Bi tp 2:
208
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
415
V. BI TP:
Bi tp 3:
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
416
V. BI TP:
Bi tp 4:
209
CHNG 6: SIMULINK V NG DNG
Ging vin: Hong Xun Dng
417
V. BI TP:
Bi tp 5:
Bi ging Tin hc chuyn ngnh
Ging vin: Hong Xun Dng
418

CHNG 7:
210
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
419
I. GRAPHICAL USER INTERFACE
II. TO MENU BNG GUI
III. TO CC I TNG IU KHIN
IV. O TN S
V. HA 2D
VI. CC HM V 3D
VII. BIN IU ANALOG
VIII. BIN IU DIGITAL
IX. CC HP HI THOI DIALOG CA WINDOWS
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
420
1. Giao din GUI:
Chn biu tng guide trn thanh toolbar, hoc thc hin
guide trn dng lnh ca s GUIDE Quick Start
I. GRAPHICAL USER INTERFACE
211
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
421
1. Giao din GUI (tt)
C th chn cc mu giao din thit k sn hay bm chn
GUI trng theo mc nh:
I. GRAPHICAL USER INTERFACE
Danh sch cc thnh phn i tng
Vng layout, ni t cc
thnh phn i tng
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
422
1. Giao din GUI (tt)
I. GRAPHICAL USER INTERFACE
Component ngha
Axes V h trc
Check box Hp kim tra, a vo cc chn la bng chut
Edit text Hp a vo vn bn
Frame Khung bao mt vng ca s hnh
List box Bng cc mc chn la
Pop-up menu Menu s xung, chn la bng chut
Push button Nt nhn, kch hot mt hnh ng
Radio button Ging check box nhng ch chn mt
Slider Con trt, a gi tr vo trong mt tm gii hn
Static text Dng vn bn t tiu , nhn, hng dn
Toggle button Nh push button nhng hin th trng thi khc nhau mi khi nhn
212
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
423
1. Giao din GUI (tt)
Song song vi vic to ra mt giao din .fig l mt file .m.
N cha cc ni dung c lin quan trc tip n giao din
I. GRAPHICAL USER INTERFACE
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
424
1. Giao din GUI (tt)
Trong c mt s bin thng dng:
varargout: ch chung cc i s tr v
varargin: Ch chung cc i s a vo hm
nargin: S lng cc i s a vo
nargout: S lng cc i s tr v
handles: Cu trc handle ca mi component trong figure
V d:
- nt nhn c tag pushbutton1 c handle l handles.pushbutton1
- figure c tag figure1 c handle l handles.figure1
I. GRAPHICAL USER INTERFACE
213
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
425
1. Giao din GUI (tt)
Bm chut tri vo cc component mun to, ko chut ra
vng layout, ni mun t component. C th dng chut
thay i kch thc component
I. GRAPHICAL USER INTERFACE
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
426
2. Son tho cc thuc tnh
Double click ti component m Inspect Properties
nh cc thng s cho cc component
I. GRAPHICAL USER INTERFACE
Vng cc thuc tnh
cho component
Vng gi tr ca cc
thuc tnh
214
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
427
2. Son tho cc thuc tnh (tt)
I. GRAPHICAL USER INTERFACE
Thuc tnh ngha
Tag Tn gn cho component
BackgroundColor Mu nn ca component
ForegroundColor Mu ch trn component
FontName, FontAngle, Cc c tnh ca font ch trn component
String Vn bn hin th trn component
Visible Hin th component hay khng
Nu l layout
Color Mu nn ca s
Name Tn ca s
Enable Cho php component hot ng hay khng
Resize iu chnh kch thc ca s
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
428
3. Cc Callback:
Quan trng nht i vi cc component l callback, l
cc hm con (function) m file .m s gi khi tc ng
vo component
Mi khi thm vo mt component, Matlab u thm
vo file .m mt hm callback tng ng (tr frame,
static text, axes)
Hu ht ni dung cc callback c ngi s dng vit
V d: Xem ni dung file .m ca mt figure vi mt nt
nhn (pushbutton) nh sau
I. GRAPHICAL USER INTERFACE
215
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
429
Trong :
- pushbutton1_Callback: hm c gi khi nhn vo pushbutton1
- hObject: handle ca ring nt nhn
- handles: Cha tt c cc handle c trong file .m
- eventdata: Tham s gi hm
I. GRAPHICAL USER INTERFACE
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
430
3. Cc Callback (tt)
Cc hm Callback chung cho mi component
I. GRAPHICAL USER INTERFACE
Callback ngha
ButtondownFcn Callback c gi khi click chut trn i tng
CreateFcn Callback c to khi thit lp i tng
DeleteFcn Callback c gi trc khi hy b i tng
Nu l Figure
CloseRequestFcn c gi khi ng bi lnh close hay quit Matlab
KeyPressFcn Nhn phm khi con chy trong ca s
ResizeFcn Khi resize ca s figure
WindowButtonMotionFcn Khi di chuyn chut trong ca s figure
WindowButtonDownFcn Click chut trn ca s figure (khng trn i tng)
WindowButtonUpFcn Nh chut sau khi bm
216
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
431
Ni dung:
Cch to menu bng GUI
To phm nng cho menu
Cch to trc v
Cch v hnh trong GUI
Cch i View
S dng bin ton cc global
Hm zoom fill
Hm zoom out
Hm CreateFcn
Hm CloseRequestFcn ca i tng
To Contextmenu
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
432
1. To GUI:
To mt blank GUI
II.TO MENU BNG GUI
217
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
433
1. To GUI (tt)
Trong Inspect Properties:
- Name: Tao menu bang GUI
- Filename: GUI_1
- Position: x=1;
y=1;
width=130;
height=30;
- Resize: off
- Handle Visibility: on
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
434
2. To menu
Chn Tools-Menu Editor
Chn New Menu
- Thay Untitled_1 bng Ve_hinh
II.TO MENU BNG GUI
218
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
435
2. To menu (tt)
Chn New Menu Item to menu con
- Thay Untitled_2 bng Hinh_sin
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
436
3. To trc v hnh
Chn biu tng Axes to trc v
II.TO MENU BNG GUI
219
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
437
3. To trc v hnh (tt)
Trong Inspect Properties
- Nextplot: replacechildren
- Mu nn: ty
- Xcolor: ty
- Xgrid: on
- Ycolor: ty
- Ygrid: on
- Zcolor: ty
- Zgrid: on
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
438
4. To hm CreateFcn v CloseRequestFcn:
Right click trn giao din chnh, chn ln lt
- View Callbacks-CreateFcn
- View Callbacks-CloseRequestFcn
Trong tp tin GUI_1.m c thm 2 hm mi
II.TO MENU BNG GUI
220
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
439
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
440
4. To hm CreateFcn v CloseRequestFcn (tt)
Hm figure1_CreateFcn:
S thi hnh u tin khi chy ng dng GUI_1.m
Thng khai bo bin ton cc global hay v demo ban u
Hm figure1_CloseRequestFcn:
phng ngi s dng thot ngang ng dng
II.TO MENU BNG GUI
% --- Executes during object creation, after setting all properties.
function figure1_CreateFcn(hObject, eventdata, handles)
%
global hsin
x=linspace(0,2*pi);
y=cos(x);
hsin=plot(x,y);
% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
%
delete(hObject);
221
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
441
4. To hm CreateFcn v CloseRequestFcn (tt)
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
442
5. To hm kch hot:
Hm t thm vo tp tin GUI_1.m kch hot menu
Hinh_sin
Chy tp tin GUI_1.m, vo menu Hinh_sin xem kt qu
II.TO MENU BNG GUI
% --------------------------------------------------------------------
function Hinh_sin_Callback(hObject, eventdata, handles)
global hsin
x=linspace(0,2*pi);
y=sin(x); on thm vo
hsin=plot(x,y);
title('Ham sin(x)')
% --------------------------------------------------------------------
222
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
443
5. To hm kch hot (tt)
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
444
6. To cc menu khc :
II.TO MENU BNG GUI
223
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
445
6. To cc menu khc (tt)
Kch hot cc menu mi thm vo:
II.TO MENU BNG GUI
% --------------------------------------------------------------------
function Hinh_sin_Callback(hObject, eventdata, handles)
global hsin
x=linspace(0,2*pi);
y=sin(x);
hsin=plot(x,y);
title('Ham sin(x)')
% --------------------------------------------------------------------
function Hinh_sinc_Callback(hObject, eventdata, handles)
global hsin
x=linspace(-2*pi,2*pi);
y=sinc(x);
hsin=plot(x,y);
title('Ham sinc(x)')
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
446
II.TO MENU BNG GUI
% --------------------------------------------------------------------
function Hinh_cos_Callback(hObject, eventdata, handles)
global hsin
x=linspace(0,2*pi);
y=cos(x);
hsin=plot(x,y);
title('Ham cos(x)')
% --------------------------------------------------------------------
function Hinh_tan_Callback(hObject, eventdata, handles)
global hsin
x=linspace(-2*pi,2*pi);
y=tan(x);
hsin=plot(x,y);
title('Ham tan(x)')
% --------------------------------------------------------------------
function View_2D_Callback(hObject, eventdata, handles)
View(2)
224
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
447
II.TO MENU BNG GUI
% --------------------------------------------------------------------
function View_3D_Callback(hObject, eventdata, handles)
View(3)
% --------------------------------------------------------------------
function Zoom_fill_Callback(hObject, eventdata, handles)
zoom fill
% --------------------------------------------------------------------
function Zoom_out_Callback(hObject, eventdata, handles)
ax=get(handles.figure1,'CurrentAxes');
set(ax,'CameraViewAngleMode','auto');
% --------------------------------------------------------------------
function Bang_mau_Callback(hObject, eventdata, handles)
global hsin
uisetcolor(hsin,'Bang mau Windows')
% --------------------------------------------------------------------
function Thoat_Callback(hObject, eventdata, handles)
closereq
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
448
6. To cc menu khc (tt)
II.TO MENU BNG GUI
225
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
449
6. To cc menu khc (tt)
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
450
6. To cc menu khc (tt)
II.TO MENU BNG GUI
226
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
451
7. To Contextmenu:
Menu hin th khi right click trn giao din chnh
M Menu Editor-Context Menus
To cc contextmenu nh hnh v:
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
452
7. To Contextmenu (tt)
Vit cc hm kch hot trong GUI_1.m
Vo Property Inspector-UIContextMenu chn Loai_viet_ve
II.TO MENU BNG GUI
% --------------------------------------------------------------------
function Loai_1_Callback(hObject, eventdata, handles)
global hsin
set(hsin,'LineStyle','*')
% --------------------------------------------------------------------
function Loai_2_Callback(hObject, eventdata, handles)
global hsin
set(hsin,'LineStyle','.')
227
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
453
7. To Contextmenu (tt)
II.TO MENU BNG GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
454
III.TO CC I TNG IU KHIN
Ni dung:
To giao din gii bi ton i nhit
To v cch kch hot Edit
To v cch kch hot Slider
To v cch kch hot RadioButton
To v v nhiu hnh trn cng mt trc Axes
228
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
455
III.TO CC I TNG IU KHIN
1. To GUI:
To mt blank GUI
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
456
III.TO CC I TNG IU KHIN
1. To GUI (tt)
To GUI nh hnh v
frame
Tiu figure
Axes
229
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
457
III.TO CC I TNG IU KHIN
1. To GUI (tt)
Menu-Inspect Properties nh thuc tnh cc i tng
Figure
Mu nn giao din Color Ty
Tn tp tin .m Filename GUI_2
Tn Tiu Name Tao cac doi tuong dieu khien
ln giao din Position [10 7 90 20]
Chn trc v Handle Visibility on
frame1 Tag Tn ca frame
Ty BackgroundColor Mu nn
Frame
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
458
III.TO CC I TNG IU KHIN
1. To GUI (tt)
Static Text (s lng 2)
STT Fontsize String Tag
1 12
12
Vao do F: text_DoF
2 Do C la: text_DoC
Slider (s lng: 1)
32
Value
[0.01 0.1]
SliderStep
0
Min
100
Max
1
STT
Edit (s lng 2)
12
12
Fontsize
edit_DoC 0 2
edit_DoF 32 1
Tag String STT
230
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
459
III.TO CC I TNG IU KHIN
1. To GUI (tt)
Axes (s lng:1)
STT NextPlot XGrid
replacechildren on
YGrid ZGrid
1 on on
RadioButton (s lng: 3)
radiobutton_DoR [0.0] Do R 2
[0.0]
[1.0]
Value
Do K
Do C
String
radiobutton_DoK 3
radiobutton_DoC 1
Tag STT
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
460
III.TO CC I TNG IU KHIN
2. Vit hm kch hot cc i tng:
Thm vo ni dung GUI_2.m
% Chng trnh kch hot edit_DoF ln lt i nhit
function edit_DoF_Callback(hObject, eventdata, handles)
F=get(handles.edit_DoF,'string');
F=eval(F);
doC=get(handles.radiobutton_DoC,'value');
doR=get(handles.radiobutton_DoR,'value');
doK=get(handles.radiobutton_DoK,'value');
if (doC)
kq=(F-32)*(5/9);
elseif (doK)
C=(F-32)*(5/9);
kq=C+273.15;
elseif (doR)
kq=F+459.7;
end
set(handles.edit_DoC,'string',num2str(kq))
231
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
461
% Chng trnh cho php chn mt RadioButton duy nht
% --- Executes on button press in radiobutton_DoC.
function radiobutton_DoC_Callback(hObject, eventdata, handles)
set(handles.radiobutton_DoC,'value',1);
set(handles.radiobutton_DoR,'value',0);
set(handles.radiobutton_DoK,'value',0);
% Gi n hm kch hot edit_DoF
edit_DoF_Callback(hObject, eventdata, handles)
% --- Executes on button press in radiobutton_DoR.
function radiobutton_DoR_Callback(hObject, eventdata, handles)
set(handles.radiobutton_DoC,'value',0);
set(handles.radiobutton_DoR,'value',1);
set(handles.radiobutton_DoK,'value',0);
edit_DoF_Callback(hObject, eventdata, handles)
% --- Executes on button press in radiobutton_DoK.
function radiobutton_DoK_Callback(hObject, eventdata, handles)
set(handles.radiobutton_DoC,'value',0);
set(handles.radiobutton_DoR,'value',0);
set(handles.radiobutton_DoK,'value',1);
edit_DoF_Callback(hObject, eventdata, handles)
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
462
III.TO CC I TNG IU KHIN
2. Vit hm kch hot cc i tng (tt)
Chy tp tin GUI_2.m
Nhp gi tr vo ln lt chn cc RadioButton
232
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
463
III.TO CC I TNG IU KHIN
2. Vit hm kch hot cc i tng (tt)
Vit hm kch hot cho slider
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
value=get(handles.slider1,'value');
set(handles.edit_DoF,'string',num2str(value));
edit_DoF_Callback(hObject, eventdata, handles);
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
464
III.TO CC I TNG IU KHIN
3. V nhiu hnh trn cng mt trc:
Vit hm thm vo v hnh:
function vehinh_Callback(hObject, eventdata, handles)
fahr=get(handles.edit_DoF,'string');
fahr=str2num(fahr);
f=[fahr-50,fahr,fahr+50];
t=f+459.7;
t(2,1:3)=(f-32)*5/9;
t(3,1:3)=t(1,1:3)+273.15;
names(1,:)='Do rankine';
names(2,:)='Do C ';
names(3,:)='Do Kenvil ';
hh=plot(f,t(1,1:3),'-',f(2),t(1,2),'*',f,t(2,1:3),'-',f(2),t(2,2),'+',...
f,t(3,1:3),'-',f(2),t(3,2),'>');
text(f(1),t(1,3),names(1,:),'fontname','SVnhelvetica','fontsize',10,'color','r');
text(f(1),t(2,3),names(2,:),'fontname','SVnhelvetica','fontsize',10,'color','b');
text(f(1),t(3,3),names(3,:),'fontname','SVnhelvetica','fontsize',10,'color','g');
233
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
465
III.TO CC I TNG IU KHIN
3. V nhiu hnh trn cng mt trc (tt)
Vit thm vo cui hm edit_DoF_Callback cu lnh sau:
function edit_DoF_Callback(hObject, eventdata, handles)
% hObject handle to edit_DoF (see GCBO)
:
:
vehinh_Callback(hObject, eventdata, handles);
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
466
III.TO CC I TNG IU KHIN
3. V nhiu hnh trn cng mt trc (tt)
234
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
467
Ni dung:
To v Callback Button
To TooltipString cho cc i tng
To timer
o tn s
IV.O TN S
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
468
1. To GUI:
To mt GUI nh hnh v:
IV.O TN S
235
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
469
1. To GUI (tt)
Menu-Inspect Properties nh thuc tnh cc i tng
IV.O TN S
Figure
Mu nn giao din Color Ty
Tn tp tin .m Filename GUI_3
Tn Tiu Name Do tan so
ln giao din Position [1 1 128 36]
Chn trc v Handle Visibility on
frame Tag Tn ca frame
Ty BackgroundColor Mu nn
Frame
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
470
IV.O TN S
Static Text (s lng 12)
STT Fontsize String Tag
1 30
30
11
11
11
15
15
15
11
15
15
15
Song sin co F = text_title
2 7:38:18 text_clock
4 Vao tan so: text_TSo
5 LenStart text_LenStart
6 0 text_Start0
7 1 text_Start1
8 100 text_Start100
9 LenStop text_LenStop
10 0 text_Stop0
11 100
3 Vao bien do: text_BDo
12
text_Stop100
100 text_Stop1000
236
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
471
IV.O TN S
Edit (s lng: 2)
STT String Tag TooltipString
1 1
2
edit_BDo Vao bien do
2 edit_TSo Vao tan so
100
100
Value
[0.01 0.1]
[0.01 0.1]
SliderStep
0
0
Min
Slider (s lng: 2)
100
100
Max
Gio han cuoi slider_Stop 2
Gioi han dau slider_Start 1
TooltipString Tag STT
RadioButton (s lng: 3)
Chack vao de doi mau radiobutton_Color [0.0] Doi mau 2
[1.0]
[0.0]
Value
Grid
Do tan so
String
Check vao de chon luoi radiobutton_Grid 3
Check vao de do tan so radiobutton_TSo 1
TooltipString Tag STT
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
472
IV.O TN S
PushButton (s lng:1)
STT String Fontsize
Close 20
Tag TooltipString
1 pushbutton_Close Thoat khoi ung dung
Axes (s lng:1)
on
XGrid
replacechildren
NextPlot
on on 1
ZGrid YGrid STT
237
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
473
1. To GUI (tt)
Khi chy ta c giao din nh sau:
IV.O TN S
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
474
IV.O TN S
2. Vit hm kch hot cc i tng:
To cc hm CreatFcn v CloseRequestFcn
238
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
475
IV.O TN S
2. Vit hm kch hot cc i tng (tt)
Thm vo ni dung GUI_3.m
%----------------------------------------------------------------
function varargout = GUI_3_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
Timer(handles); % Gi hm timer
%----------------------------------------------------------------
function Timer(handles)
% Hm hin th ng h h thng
while find(get(0,'children')==handles.figure1)
now=fix(clock);
timestr=[num2str(now(4)) ':' sprintf('%02d',now(5))];
timestr=[timestr ':' sprintf('%02d',now(6))];
set(handles.text_clock,'string',timestr);
pause(1);
end
%----------------------------------------------------------------
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
476
IV.O TN S
2. Vit hm kch hot cc i tng (tt)
function Vesin(handles)
global Hsin y %Khai bao bien toan cuc
Biendo=get(handles.edit_BDo,'string'); %Lay day du thong so de ve
Biendo=eval(Biendo);
Tanso=get(handles.edit_TSo,'string');
Tanso=eval(Tanso);
Lenstart=get(handles.slider_Start,'value');
Lenstop=get(handles.slider_Stop,'value');
x=linspace(1,2*Tanso*pi+1);
y=Biendo*sin(x); %Noi suy truoc khi ve
Hsin=plot(y(Lenstart:Lenstop)); %Ve vao truc duoc tao
str=[sprintf('Song sin co F = %.2g',Tanso)]; %Thay doi tua de
set(handles.text_title,'string',str);
str=[sprintf('%g',Lenstart)];
set(handles.text_Start1,'string',str);
str=[sprintf('%g',Lenstop)];
set(handles.text_Stop100,'string',str);
239
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
477
IV.O TN S
2. Vit hm kch hot cc i tng (tt)
Callback cho cc i tng:
%------------------------------------------------------------------------------
function edit_BDo_Callback(hObject, eventdata, handles)
Vesin(handles);
%------------------------------------------------------------------------------
function edit_TSo_Callback(hObject, eventdata, handles)
Vesin(handles);
% --- Executes on slider movement.
function slider_Start_Callback(hObject, eventdata, handles)
Vesin(handles);
% --- Executes on slider movement.
function slider_Stop_Callback(hObject, eventdata, handles)
Vesin(handles);
% --- Executes on button press in pushbutton_Close.
function pushbutton_Close_Callback(hObject, eventdata, handles)
closereq;
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
478
IV.O TN S
2. Vit hm kch hot cc i tng (tt)
% --- Executes on button press in radiobutton_TSo.
function radiobutton_TSo_Callback(hObject, eventdata, handles)
global y
[x1,y1]=ginput(1);
text(x1,y1,'|-->','color','r')
[x2,y2]=ginput(1);
text(x2-4,y2,'<--|','color','r')
Len=length(y);
F=Len/(x2-x1);
string=[sprintf('%.2g',F)];
text((x2+x1-4)/2,y1,string,'color','r');
set(gcbo,'value',0);
string=[sprintf('Song sin co F = %.2g',F)];
set(handles.text_title,'string',string);
240
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
479
IV.O TN S
2. Vit hm kch hot cc i tng (tt)
% --- Executes on button press in radiobutton_Color.
function radiobutton_Color_Callback(hObject, eventdata, handles)
global Hsin
uisetcolor(Hsin,'Bang mau windows');
set(handles.radiobutton_Color,'value',0);
% --- Executes on button press in radiobutton_Grid.
function radiobutton_Grid_Callback(hObject, eventdata, handles)
check=get(gcbo,'value');
if (check==1)
grid on
else
grid off
end
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
480
IV.O TN S
3. Thc thi ng dng:
241
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
481
Ni dung:
To v callback checkbox
To TooltipString cho cc i tng
Format v t nhn cho trc v
V hnh bng cch t li
To popupmenu
V. HA 2D
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
482
1. To GUI:
To mt GUI nh hnh v:
V. HA 2D
242
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
483
1. To GUI (tt)
nh cc thuc tnh cho cc i tng
V. HA 2D
Figure
Mu nn giao din Color Ty
Tn tp tin .m Filename GUI_4
Tn Tiu Name Do hoa 2D
ln giao din Position [1 1 128 36]
Chn trc v Handle Visibility on
frame Tag Tn ca frame
Ty BackgroundColor Mu nn
Frame
Axes (s lng:1)
on
XGrid
replacechildren
NextPlot
on on 1
ZGrid YGrid STT
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
484
1. To GUI (tt)
V. HA 2D
Static Text (s lng 8)
STT Fontsize String Tag
1 30
12
12
12
12
12
12
12
Ham: x.^2 text_hamve
2 Vao ham can ve: text_ham
4 Loai viet text_loaiviet
5 Mau dau text_Start
6 Mau cuoi text_Stop
7 -8 text_piStart
8 8
3 Loai net: text_loainet
text_piStop
x.^2
String
Vao ham can ve edit_ham 1
TooltipString Tag STT
Edit (s lng: 1)
243
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
485
1. To GUI (tt)
V. HA 2D
popupmenu (s lng: 2)
STT String UserData
str2mat('1','2','3','4','5')
str2mat(':','--','+','*','>')
Tag TooltipString
1
Value
Loai 1
Loai 2
Loai 3
Loai 4
Loai 5
[1.0]
2
Loai :
Loai
Loai +
Loai *
Loai >
[1.0]
Popupmenu_net Chon net pen
Popupmenu_loai Chon loai pen
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
486
1. To GUI (tt)
V. HA 2D
Slider (s lng: 2)
STT Max Min SliderStep Value
[0.0625 0.125] -8
8 [0.0625 0.125]
-8
Tag TooltipString
1
0
0
100
slider_Start Gioi han thap
2 slider_Stop Gio han cao
PushButton (s lng:1)
20
Fontsize
Quit
String
Thoat ve Windows pushbutton_Quit 1
TooltipString Tag STT
Check box (s lng:1)
12
Fontsize
Doi Font
String
Chon Font Checkbox_Font 1
TooltipString Tag STT
244
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
487
1. Cc hm kch hot:
Thm vo ni dung GUI_4.m:
V. HA 2D
% --- Executes during object creation, after setting all properties.
function frame_CreateFcn(hObject, eventdata, handles)
global Start Stop hinh
Start=-8;
Stop=8;
% Dat tua de cho nhan va truc
title('Hinh ve','Fontsize',15,'Color','r');
xlabel('Truc x','Fontsize',15,'Color','r');
ylabel('Truc y','Fontsize',15,'Color','r');
x=linspace(-8,8);
func=x.^2;
hinh=plot(x,func);
% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
%delete(hObject);
closereq
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
488
1. Cc hm kch hot (tt)
V. HA 2D
function edit_ham_Callback(hObject, eventdata, handles)
global Start Stop hinh
func=get(hObject,'string'); str=['Ham : ' func];
x=linspace(Start,Stop); func=eval(func);
hinh=plot(x,func);
set(handles.text_hamve,'string',str);
% --- Executes on selection change in popupmenu_net.
function popupmenu_net_Callback(hObject, eventdata, handles)
global hinh
giatri=get(hObject,'value');
loai=get(hObject,'UserData');
set(hinh,'LineWidth',str2num(loai(giatri,:)))
% --- Executes on selection change in popupmenu_loaiviet.
function popupmenu_loaiviet_Callback(hObject, eventdata, handles)
global hinh
giatri=get(hObject,'value');
loai=get(hObject,'UserData');
set(hinh,'LineStyle',loai(giatri,:))
245
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
489
V. HA 2D
% --- Executes on button press in checkbox_Font.
function checkbox_Font_Callback(hObject, eventdata, handles)
check=get(hObject,'value')
if (check==1)
uisetfont(handles.text_hamve,'Bang chon Font')
set(hObject,'value',0)
end
% --- Executes on slider movement.
function slider_Start_Callback(hObject, eventdata, handles)
global Start
Start=get(hObject,'value')
set(handles.text_piStart,'string',num2str(Start))
Truc;
% --- Executes on slider movement.
function slider_Stop_Callback(hObject, eventdata, handles)
global Stop
Stop=get(hObject,'value')
set(handles.text_piStop,'string',num2str(Stop))
Truc;
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
490
1. Cc hm kch hot (tt)
V. HA 2D
% --- Ham doi truc ve
function Truc
global Start Stop
handlesAxis=get(gcf,'CurrentAxes');
set(handlesAxis,...
'XLim',[Start Stop],...
'XTick',linspace(Start,Stop,5),...
'XTickLabel',{num2str(Start),...
'',...
num2str((Start+Stop)/2),...
'',...
num2str(Stop)});
% --- Executes on button press in pushbutton_quit.
function pushbutton_quit_Callback(hObject, eventdata, handles)
quit
246
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
491
3. Chy ng dng:
V. HA 2D
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
492
Ni dung:
To v callback listbox
ha 3D
VI.NG DNG CC HM V 3D
247
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
493
1. To GUI:
To mt GUI nh hnh v:
VI.NG DNG CC HM V 3D
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
494
1. To GUI (tt)
nh thuc tnh cc i tng
VI.NG DNG CC HM V 3D
Figure
Mu nn giao din Color Ty
Tn tp tin .m Filename GUI_5
Tn Tiu Name Do hoa 3D
ln giao din Position [1 1 128 36]
Chn trc v Handle Visibility on
frame1 Tag Tn ca frame
Ty BackgroundColor Mu nn
Frame
248
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
495
VI.NG DNG CC HM V 3D
Static Text (s lng 6)
STT Fontsize String Visible
off
off
off
off
off
Tag
1
on
Ham peaks text_title
2
30
12
12
12
12
Ham ve 3D: text_hamve3D
4 Truc 3D: text_truc
5 Kieu: text_kieu
6 Bai tap ung dung 30 text_baitap
3 Shapding: text_shapding
off
Visible
Edit (s lng 1)
12
Fontsize
Edit_hamve3D peaks 1
Tag String STT
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
496
VI.NG DNG CC HM V 3D
Popupmenu (s lng 2)
STT String value UserData
{'faceted';'flat';'interp'}
{'on';'off';'ij';'xy'}
Tag
1
Visible
[1.0]
faceted
flat
interp
Popupmenu_shapding
2
off
[1.0] off
on
off
ij
xy
Popupmenu_truc
off
off
off
Visible
Pushbutton (s lng 3)
12
12
12
Fontsize
pushbuttom_help Help 2
pushbuttom_move Move 1
pushbuttom_close Close 3
Tag String STT
249
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
497
VI.NG DNG CC HM V 3D
listbox (s lng 1)
STT String value UserData
str2mat('surf','surfl','mesh',
'meshz','waterfall','pcolor')
Tag
1
Visible
[1.0]
surf
surfl
mesh
meshz
waterfall
pcolor
off listbox_kieu
Axes (s lng:1)
on
Visible
on
XGrid
replacechildren
NextPlot
on on 1
ZGrid YGrid STT
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
498
2. Vit cc hm kch hot:
Thm vo ni dung GUI_5.m
VI.NG DNG CC HM V 3D
%----------------------------------------------------------------
function edit_hamve3D_Callback(hObject, eventdata, handles)
Ve3D(handles);
% --- Executes on selection change in popupmenu_shapding.
function popupmenu_shapding_Callback(hObject, eventdata, handles)
value=get(handles.popupmenu_shapding,'value');
color=get(handles.popupmenu_shapding,'UserData');
Shading(color{value})
% --- Executes on selection change in popupmenu_truc.
function popupmenu_truc_Callback(hObject, eventdata, handles)
value=get(handles.popupmenu_truc,'value');
truc=get(handles.popupmenu_truc,'UserData');
axis(truc{value})
% --- Executes on selection change in listbox_kieu.
function listbox_kieu_Callback(hObject, eventdata, handles)
Ve3D(handles);
250
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
499
2. Vit cc hm kch hot (tt)
VI.NG DNG CC HM V 3D
% --- Executes on button press in pushbutton_move.
function pushbutton_move_Callback(hObject, eventdata, handles)
for j=1:10
view(-37.5+24*(j-1),30);
n(:,1)=getframe;
end
movie(n,5)
% --- Executes on button press in pushbutton_help.
function pushbutton_help_Callback(hObject, eventdata, handles)
graf3d('info')
% --- Executes on button press in pushbutton_close.
function pushbutton_close_Callback(hObject, eventdata, handles)
closereq
% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
delete(hObject);
closereq
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
500
2. Vit cc hm kch hot (tt)
VI.NG DNG CC HM V 3D
% --- If Enable == 'on', executes on mouse press in 5 pixel border.
function varargout = text_baitap_ButtonDownFcn(hObject, eventdata,
handles)
handles=guihandles(gcbo); %Lay tat ca cac handle
promptstr={'Cho vao password'};
inistr={''};
dlgTitle='Nhap Password';
lineNo=1;
result=inputdlg(promptstr,dlgTitle,lineNo,inistr);
if strcmp(result,'GUI_5')
set(handles.text_baitap,'visible','off');
set(handles.frame1,'visible','on')
set(handles.text_hamve3D,'visible','on');
set(handles.edit_hamve3D,'visible','on')
set(handles.text_shapding,'visible','on');
set(handles.popupmenu_shapding,'visible','on');

251
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
501
2. Vit cc hm kch hot (tt)
VI.NG DNG CC HM V 3D

set(handles.text_truc,'visible','on');
set(handles.popupmenu_truc,'visible','on');
set(handles.text_kieu,'visible','on');
set(handles.listbox_kieu,'visible','on');
set(handles.text_title,'visible','on');
set(handles.axes1,'visible','on');
set(handles.pushbutton_close,'visible','on');
set(handles.pushbutton_help,'visible','on');
set(handles.pushbutton_move,'visible','on');
Ve3D(handles);
else
errordlg('Password ?');
end
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
502
2. Vit cc hm kch hot (tt)
VI.NG DNG CC HM V 3D
function Ve3D(handles)
global Hhinh
func=get(handles.edit_hamve3D,'string');
[x,y]=meshgrid(-2*pi:.5:2*pi,-2*pi:.5:2*pi);
z=eval(func);
giatri=get(handles.listbox_kieu,'value');
loai=get(handles.listbox_kieu,'UserData');
str=['Loai' ':' loai(giatri,:)];
set(handles.text_title,'string',str)
if (giatri==1) Hhinh=surf(z);
elseif (giatri==2) Hhinh=surfl(z);
elseif (giatri==3) Hhinh=mesh(z);
elseif (giatri==4) Hhinh=meshz(z);
elseif (giatri==5) Hhinh=waterfall(z);
elseif (giatri==6) Hhinh=pcolor(z);
end
252
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
503
3. Thc thi ng dng:
Nhp mt khu
VI.NG DNG CC HM V 3D
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
504
3. Thc thi ng dng (tt)
VI.NG DNG CC HM V 3D
253
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
505
Ni dung:
V vi nhiu trc
Bin iu AM, FM, PM
VII.BIN IU ANALOG
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
506
1. To GUI:
To mt GUI nh hnh v:
VII.BIN IU ANALOG
254
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
507
1. To GUI (tt)
nh cc thuc tnh:
VII.BIN IU ANALOG
i tng STT String Fontsize
1 30
12
12
12
12
Popup Menu 1
AM
FM
PM
10 Popupmenu_BD
1 2 10 edit_Fs
2 5 10 edit_Fc Edit Text
10
2
3
4
5
3
Tag
Bien dieu Analog text_title
Loai bien dieu: text_hamve3D
Tan so Fc text_truc
Chi so m text_kieu
0.9 edit_m
Tan so FS text_shapding Static Text
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
508
1. To GUI (tt)
nh cc thuc tnh:
VII.BIN IU ANALOG
i tng STT String Fontsize
1
2
Tag
Bien dieu pushbutton_BD
Close pushbutton_close
PushButton
on
YGrid
on
XGrid
axes1
on replacechildren
1
Axes axes2 2
ZGrid
3
STT
axes3
Tag NextPlot i tng
255
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
509
2. To cc hm kch hot:
B sung vo tp tin GUI_6.m
VII.BIN IU ANALOG
% --- Executes on button press in pushbutton_BD.
function pushbutton_BD_Callback(hObject, eventdata, handles)
Biendieu(handles)
% --- Executes on button press in pushbutton_close.
function pushbutton_close_Callback(hObject, eventdata, handles)
closereq;
% --- Executes during object creation, after setting all properties.
function frame_CreateFcn(hObject, eventdata, handles)
handles=guihandles(gcbo);
Biendieu(handles)
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
510
2. To cc hm kch hot (tt)
VII.BIN IU ANALOG
% Ham tu viet de ve hinh
function Biendieu(handles)
loai=get(handles.popupmenu_BD,'value');
Fs=get(handles.edit_Fs,'string'); Fs=eval(Fs);
Fc=get(handles.edit_Fc,'string'); Fc=eval(Fc);
m=get(handles.edit_m,'string'); m=eval(m);
switch (loai)
case 1
AM(handles,Fs,Fc,m)
set(handles.text_title,'string','Bien dieu AM');
case 2
FM(handles,Fs,Fc,m)
set(handles.text_title,'string','Bien dieu FM');
case 3
PM(handles,Fs,Fc,m)
set(handles.text_title,'string','Bien dieu PM');
end
256
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
511
2. To cc hm kch hot (tt)
VII.BIN IU ANALOG
% Ham tu viet de bien dieu AM
function AM(handles,Fs,Fc,m)
t=(0:1000)/1000; x=cos(2*pi*Fs*t); c=cos(2*pi*Fc*t);
y=0.5*(1+m*x).*c;
plot(t,m*x,'Parent',handles.axes1);
plot(t,y,'Parent',handles.axes2);
[f,Pyy]=Pho(handles,y);
plot(f,Pyy(1:257),'r','Parent',handles.axes3);
% Ham tu viet de bien dieu FM
function FM(handles,Fs,Fc,m)
t=(0:1000)/1000; x=cos(2*pi*Fs*t); c=cos(2*pi*Fc*t);
y=cos((2*pi*Fc*t)+(m/(2*pi*Fs))*200*sin(2*pi*Fs*t));
plot(t,m*x,'Parent',handles.axes1);
plot(t,y,'Parent',handles.axes2);
[f,Pyy]=Pho(handles,y);
plot(f,Pyy(1:257),'r','Parent',handles.axes3);
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
512
2. To cc hm kch hot (tt)
VII.BIN IU ANALOG
% Ham tu viet de bien dieu PM
function PM(handles,Fs,Fc,m)
t=(0:1000)/1000; x=cos(2*pi*Fs*t); c=cos(2*pi*Fc*t);
y=cos((2*pi*Fc*t)+(m/(2*pi*Fs))*200*cos(2*pi*Fs*t));
plot(t,m*x,'Parent',handles.axes1);
plot(t,y,'Parent',handles.axes2);
[f,Pyy]=Pho(handles,y);
plot(f,Pyy(1:257),'r','Parent',handles.axes3);
% Ham tu viet de ve pho
function [f,Pyy]=Pho(handles,y)
yy=fft(y,512);
Pyy=yy.*conj(yy)/512;
f=1000*(0:256)/512
257
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
513
3. Chy ng dng:
VII.BIN IU ANALOG
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
514
3. Chy ng dng:
VII.BIN IU ANALOG
258
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
515
Ni dung:
V vi nhiu trc
Bin iu ASK, FSK, PSK
VIII.BIN IU DIGITAL
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
516
1. To GUI:
To mt GUI nh hnh v:
VIII.BIN IU DIGITAL
259
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
517
1. To GUI (tt)
Cc thuc tnh ca cc component
VIII.BIN IU DIGITAL
i tng STT String Fontsize
1 30
12
12
12
5 Hang so lay mau: 12 text_laymau
6 Song mang Fc: 12 text_Fc
Static Text
7 Nhap Fmark 12 text_Fmark
12
Popup Menu 1
ASK
FSK
PSK
10 Popupmenu_BD
2
3
4
8
Tag
Bien dieu text_title
Loai bien dieu: text_BD
Toc do bit: text_tocdo
Nhap Fspace: text_Fspace
Nhap chuoi so: text_chuoiso
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
518
1. To GUI (tt)
VIII.BIN IU DIGITAL
i tng STT String Fontsize
1 1 0 1 0 0 1 10 edit_chuoiso
2 300 10 edit_tocdo
3 120 10 edit_laymau
Edit Text
6 2000 10 edit_Fspace
PushButton 1 Bien dieu 20 pushbutton_BD
4 1500 10 edit_Fc
5 1200 10 edit_Fmark
Tag
on
YGrid
on
XGrid
axes1
on replacechildren
1
Axes axes2 2
ZGrid
3
STT
axes3
Tag NextPlot i tng
260
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
519
2. To cc hm callback:
VIII.BIN IU DIGITAL
function popupmenu_BD_Callback(hObject, eventdata, handles)
value=get(gcbo,'value');
if value==1 %ASK
set(handles.edit_Fc,'enable','on')
set(handles.edit_Fmark,'enable','off')
set(handles.edit_laymau,'enable','off')
elseif value==2 %FSK
set(handles.edit_Fc,'enable','off')
set(handles.edit_Fmark,'enable','on')
set(handles.edit_laymau,'enable','on')
elseif value==3 %PSK
set(handles.edit_Fc,'enable','on')
set(handles.edit_Fmark,'enable','off')
set(handles.edit_laymau,'enable','off')
end
% --- Executes on button press in pushbutton_BD.
function pushbutton_BD_Callback(hObject, eventdata, handles)
Biendieu(handles);
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
520
VIII.BIN IU DIGITAL
% --- Executes during object creation, after setting all properties.
function frame1_CreateFcn(hObject, eventdata, handles)
handles=guihandles(gcbo);
Biendieu(handles);
% --- Ham bien dieu
function Biendieu(handles)
% Nhan chuoi so
binary_seq=get(handles.edit_chuoiso,'string');
binary_seq=str2num(binary_seq);
%Nhan gia tri toc do bit
R=get(handles.edit_tocdo,'string');
R=eval(R);
%Nhan gia tri Fc
Fc=get(handles.edit_Fc,'string');
Fc=eval(Fc);
%Nhan gia tri hang lay mau
Sampling=get(handles.edit_laymau,'string');
Sampling=eval(Sampling);
%Nhan gia tri Fmark(Fcmin) la tan so nho nhat cua song mang

261
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
521
VIII.BIN IU DIGITAL
......
Fmark=get(handles.edit_Fmark,'string');
Fmark=eval(Fmark);
%Nhan gia tri Fspace(Fcmin) la tan so cao nhat cua song mang
Fspace=get(handles.edit_Fspace,'string');
Fspace=eval(Fspace);
Fs=R*Sampling;
%Xet muc duoc chon trong popupmenu
LoaiBD=get(handles.popupmenu_BD,'value');
if LoaiBD==1 %ASK
if (Fc>=(R*Sampling)/2)
ErrorDlg('Fspace<Sampling*(R/2)'); return;
end
ve_digital(handles,binary_seq,Fs)
out=ASK(handles,binary_seq,Fc,Fs,R);
Pho_digital(handles,out);
set(handles.text_title,'string','Bien dieu ASK')
elseif LoaiBD==2 %FSK
if (Fc>=(R*Sampling)/2)

CHNG 7: GUI V NG DNG


Ging vin: Hong Xun Dng
522
VIII.BIN IU DIGITAL

ErrorDlg('Fspace<Sampling*(R/2)'); return;
end
if (Fmark<R)
ErrorDlg('Fmark>=R'); return;
end
ve_digital(handles,binary_seq,Fs)
out=FSK(handles,binary_seq,[Fmark Fspace],Fs,R);
Pho_digital(handles,out);
set(handles.text_title,'string','Bien dieu FSK')
elseif LoaiBD==3 %PSK
if (Fc>=(R*Sampling)/2)
ErrorDlg('Fspace<Sampling*(R/2)'); return;
end
ve_digital(handles,binary_seq,Fs)
out=PSK(handles,binary_seq,Fc,Fs,R);
Pho_digital(handles,out);
set(handles.text_title,'string','Bien dieu PSK')
end
262
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
523
VIII.BIN IU DIGITAL
% Ham ve tin hieu so
function ve_digital(handles,binary_seq,Fs)
SAMPLING_FREQ=Fs;
Ts=1/SAMPLING_FREQ;
binary_seq=binary_seq(:); %Doi thanh cot
no_sample=length(binary_seq); %Xet chieu dai chuoi
amplitude=max(abs(binary_seq));
time=[1:(no_sample)]*Ts;
ax=[min(time)/100 max(time) -2*amplitude 2*amplitude];
axes(handles.axes1)
stair(time,binary_seq); %Ham ve tin hieu so
axis(ax);
set(gca,'XTickLabel',{'','','','','',''});
xlabel('Tin hieu nen','fontname','SVNhelvetica','fontsize',12,'color','r');
% --- Ham stair ---
function [xo,yo]=stair(x,y)
n=length(x);

CHNG 7: GUI V NG DNG


Ging vin: Hong Xun Dng
524
VIII.BIN IU DIGITAL

if nargin==1
y=x; x=1:n;
end
delta=(max(x)-min(x))/(n-1);
nn=2*n;
yy=zeros(nn+2,1);
xx=yy;
t=x(:)'-delta;
xx(1:2:nn)=t;
xx(2:2:nn)=t;
xx(nn+1:nn+2)=t(n)+[delta;delta];
yy(2:2:nn)=y;
yy(3:2:nn+1)=y;
if nargout==0
plot(xx,yy)
else
xo=xx; yo=yy;
end
263
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
525
VIII.BIN IU DIGITAL
% Ham bien dieu ASK
function out=ASK(handles,binary_seq,Fc,Fs,R)
%Tao data cua dang song khong tro ve zero nrz
x=wave_gen(handles,binary_seq,'unipolar_nrz',Fs,R);
out=mixer(x,osc(Fc,Fs));
Ts=1/Fc;
out=out(:);
no_sample=length(out);
amplitude=max(abs(out));
t=[1:(no_sample)]*Ts;
ax=[min(t) max(t) -2*amplitude 2*amplitude]
axes(handles.axes2)
y=plot(t,out);
axis(ax);
set(gca,'XTickLabel',{'','','','','',''});
xlabel('Tin hieu sau khi bien dieu','fontname',
'SVNhelvetica','fontsize',12,'color','r');
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
526
VIII.BIN IU DIGITAL
% Ham tao dang song nrz
function out=wave_gen(handles,binary_sequence,linecode,Fs,Rb)
binary_sequence=binary_sequence(:);
if (any(abs(binary_sequence)-sign(binary_sequence)))
error('Khong phai tin hieu digital')
end
if strcmp(linecode,'unipolar_nrz')
pulse='rect_nrz(Rb,Fs)';
b_seq=binary_sequence;
elseif strcmp(linecode,'polar_nrz')
pulse='rect_nrz(Rb,Fs)';
b_seq=bin2pol(handles,binary_sequence);
else
error('Ma khong phu hop')
end
x=(b_seq*eval(pulse))';
out=x(:);
264
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
527
VIII.BIN IU DIGITAL
%Tao tin hieu khong tro ve zero
function out=rect_nrz(Rb,Fs)
out=ones(1,Fs/Rb);
%Ham tao song mang
function [carrier]=osc(fc,Fs)
t=[1:50000]/Fs;
carrier=sin(2*pi*t*fc);
% Ham tron 2 tin hieu
function [out]=mixer(in,fc)
%Z=MIXER(X,Y) Tao chuoi Z: Z(n)=X(n)*Y(n)
n=length(in);
carrier=fc(1:n);
x=in;
x=x(:)';
out=carrier.*x;
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
528
VIII.BIN IU DIGITAL
% Ham ve pho
function Pho_digital(handles,x)
x=x(:);
xx=fft(x,512);
Pxx=xx.*conj(xx)/512;
f=1000*(0:255)/512;
no_sample=length(Pxx);
amplitude=max(abs(Pxx));
ax=[min(f) max(f) -2*amplitude 2*amplitude]
axes(handles.axes3)
plot(f,Pxx(1:256),'r');
axis(ax);
set(gca,'XTickLabel',{'','','','','',''});
xlabel('Pho cua song bien dieu','fontname',...
'SVNhelvetica','fontsize',12,'color','r');
265
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
529
VIII.BIN IU DIGITAL
%Ham bien dieu FSK
function out=FSK(handles,binary_seq,Fc,Fs,Rb)
CARRIER_FREQUENCY=[min(Fc) max(Fc)];
x=wave_gen(handles,binary_seq,'polar_nrz',Fs,Rb);
f_r=(CARRIER_FREQUENCY(2)+CARRIER_FREQUENCY(1))/2
kf=(CARRIER_FREQUENCY(2)-CARRIER_FREQUENCY(1))/2
out=vco_digital(x,f_r,kf,Fs);
Ts=1/f_r; out=out(:); no_sample=length(out);
amplitude=max(abs(out)); t=[1:(no_sample)]*Ts;
ax=[min(t) max(t) -2*amplitude 2*amplitude]
axes(handles.axes2)
y=plot(t,out);
axis(ax);
set(gca,'XTickLabel',{'','','','','',''});
xlabel('Tin hieu sau khi bien dieu','fontname',...
'SVNhelvetica','fontsize',12,'color','r');
% Ham luong cuc hoa chuoi nhi phan vao
function [polar_sequence]=bin2pol(handles,binary_sequence)
polar_sequence=2*binary_sequence-ones(size(binary_sequence));
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
530
VIII.BIN IU DIGITAL
% Dao dong duoc dieu khien bang dien the
function [out]=vco_digital(in,arg2,arg3,Fs)
Ts=1/Fs; fc=arg2; kf=arg3;
lenfc=ones(length(in),1)*fc;
phase=cumsum((lenfc+in*kf)*Ts*2*pi);
out=sin(phase);
% Ham bien dieu PSK
function out=PSK(handles,binary_seq,Fc,Fs,Rb)
x=wave_gen(handles,binary_seq,'polar_nrz',Fs,Rb);
out=mixer(x,osc(Fc,Fs));
Ts=1/Fc; out=out(:); no_sample=length(out);
amplitude=max(abs(out));
t=[1:(no_sample)]*Ts;
ax=[min(t) max(t) -2*amplitude 2*amplitude]
axes(handles.axes2)
plot(t,out);
axis(ax);
set(gca,'XTickLabel',{'','','','','',''});
xlabel('Tin hieu sau khi bien dieu','fontname',...
'SVNhelvetica','fontsize',12,'color','r');
266
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
531
3. Chy ng dng:
VIII.BIN IU DIGITAL
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
532
3. Chy ng dng (tt)
VIII.BIN IU DIGITAL
267
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
533
3. Chy ng dng (tt)
VIII.BIN IU DIGITAL
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
534
IX.CC HP HI THOI DIALOG CA WINDOWS
Dialog boxes ngha
errordlg To dialog box bo li
helpdlg Hin th mt dialog box gip
inputdlg To mt dialog box nhp liu
listdlg To mt dialog danh sch chn la
msgbox To mt dialog box thng tin
pagedlg To mt dialog box page layout
printdlg Hin th mt dialog in
+ Cc hp thoi dialog:
268
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
535
IX.CC HP HI THOI DIALOG CA WINDOWS
Dialog boxes ngha
questdlg To mt dialog hi
uiputfile Hin th dialog box nhn tn ca file ghi
uisetcolor Chn mu bng bng mu ca windows
uisetfont Chn font
uigetfile Hin th dialog box nhn tn ca file cn c
warndlg To mt dialog cnh bo
+ Cc hp thoi dialog (tt)
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
536
IX.CC HP HI THOI DIALOG CA WINDOWS
1. errordlg
C php:
errordlg
errordlg('errorstring')
errordlg('errorstring','dlgname')
errordlg('errorstring','dlgname','on')
%'on' cho php hay khng thay th dialog c cng tn
h = errordlg(...)
V d:
errordlg('File not found','File Error')
269
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
537
IX.CC HP HI THOI DIALOG CA WINDOWS
2. helpdlg
C php:
helpdlg
helpdlg('helpstring')
helpdlg('helpstring','dlgname')
h = helpdlg(...)
V d:
helpdlg('Choose 10 points from the figure','Point Selection');
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
538
IX.CC HP HI THOI DIALOG CA WINDOWS
3. inputdlg
C php:
answer = inputdlg(prompt)
answer = inputdlg(prompt,title)
answer = inputdlg(prompt,title,lineNo)
answer = inputdlg(prompt,title,lineNo,defAns)
answer = inputdlg(prompt,title,lineNo,defAns,Resize)
Trong :
prompt Cc tring xut hin trn cc hp nhp liu
title Tiu ca hp thoi
lineNo S dng trong nhp liu
defAns Kt qu nhp liu mc nh (xut hin ban u)
resize Cho php hay khng thay i kch thc dialog box
'on' hay 'off'
270
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
539
IX.CC HP HI THOI DIALOG CA WINDOWS
3. inputdlg (tt)
V d:
prompt = {'Enter matrix size:','Enter colormap name:'};
title = 'Input for peaks function';
lines= 1;
def = {'20','hsv'};
answer = inputdlg(prompt,title,lines,def);
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
540
IX.CC HP HI THOI DIALOG CA WINDOWS
4. listdlg
C php:
[Selection,ok] = listdlg('ListString',S,...)
% Cho php chn mt hay nhiu item trong danh sch
Trong :
Selection vector cha cc string c chn
ok = 1 khi chn nt OK
0 khi chn cancel hoc ng hp thoi
S l cc thng s trong bng sau:
271
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
541
IX.CC HP HI THOI DIALOG CA WINDOWS
4. listdlg (tt)
Parameter ngha
'ListString' Dy cc chui chn nm trong list box
'SelectionMode'
'single' ch cho chn 1
'multiple' (the default) cho php chn nhiu
'ListSize'
Kch thc list box, tnh bng pixel,
l vector [width height]. Mc nh l [160 300]
'CancelString' String cho nt nhn Cancel. Mc nh l 'Cancel'.
'InitialValue' Item c chn ban u. Mc nh l 1 (item u)
'PromptString' Cc string xut hin pha trn listbox. Mc nh {}
'OKString' String cho nt nhn OK. Mc nh l 'OK'
'Name' Tieu ca dialog box. Mc nh l ' '
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
542
IX.CC HP HI THOI DIALOG CA WINDOWS
4. listdlg (tt)
V d:
d=dir;
str={d.name};
[s,v]=listdlg('PromptString','Select a file:',...
'SelectionMode','single',...
'ListString',str)
272
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
543
IX.CC HP HI THOI DIALOG CA WINDOWS
5. msgbox
C php:
msgbox(message)
msgbox(message,title)
msgbox(message,title,'icon')
msgbox(message,title,'custom',iconData,iconCmap)
msgbox(...,'createMode')
h = msgbox(...)
Trong :
'icon' l {'none','error','help','warn','custom'}
iconData cha d liu nh to nn icon
iconCmap Mu dng cho nh
'createMode' {'modal','non-modal', 'replace'}
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
544
IX.CC HP HI THOI DIALOG CA WINDOWS
5. msgbox (tt)
V d:
msgbox('Day la icon giup do','Vi du ve msgbox','help')
msgbox('Day la icon bao loi','Vi du ve msgbox','error')
273
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
545
IX.CC HP HI THOI DIALOG CA WINDOWS
5. msgbox (tt)
V d:
msgbox('Day la icon canh bao','Vi du ve msgbox','warn')
msgbox('Day la icon binh thuong','Vi du ve msgbox')
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
546
IX.CC HP HI THOI DIALOG CA WINDOWS
6. pagedlg
C php:
pagedlg
pagedlg(fig)
274
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
547
IX.CC HP HI THOI DIALOG CA WINDOWS
7. printdlg
C php:
printdlg
printdlg(fig)
printdlg('-crossplatform',fig)
printdlg('-setup',fig)
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
548
IX.CC HP HI THOI DIALOG CA WINDOWS
7. printdlg (tt)
V d:
printdlg(fig) in ca s ha c ch nh
275
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
549
IX.CC HP HI THOI DIALOG CA WINDOWS
7. printdlg (tt)
V d:
printdlg('-crossplatform',fig) s dng chun ca Matlab
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
550
IX.CC HP HI THOI DIALOG CA WINDOWS
7. printdlg (tt)
V d:
printdlg('-setup',fig) cho php ci t thng s in
276
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
551
IX.CC HP HI THOI DIALOG CA WINDOWS
8. questdlg
C php:
button = questdlg('qstring')
button = questdlg('qstring','title')
button = questdlg('qstring','title','default')
button = questdlg('qstring','title','str1','str2','default')
button = questdlg('qstring','title','str1','str2','str3','default')
% hp thoi c 3 nt 'Yes', 'No', 'Cancel
% button nhn gi tr tr v
Trong :
'default' Nt chn mc nh {'Yes', 'No', 'Cancel'}
'str1','str2','str3' To cc nt nhn c tn
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
552
IX.CC HP HI THOI DIALOG CA WINDOWS
8. questdlg (tt)
V d:
button = questdlg('Do you want to continue?',...
'Continue Operation','Yes','No','Help','No');
if strcmp(button,'Yes') disp('Creating file')
elseif strcmp(button,'No') disp('Canceled file operation')
elseif strcmp(button,'Help') disp('Sorry, no help available')
end
277
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
553
IX.CC HP HI THOI DIALOG CA WINDOWS
9. uigetfile
C php:
uigetfile
uigetfile('FilterSpec')
uigetfile('FilterSpec','DialogTitle')
uigetfile('FilterSpec','DialogTitle',x,y)
[fname,pname] = uigetfile(...)
Trong :
'FilterSpec' Lc chn cc tp tin. Mc nh l *.m
[x,y] V tr xut hin hp thoi
[fname,pname] Tr v tn tp tin v ng dn
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
554
IX.CC HP HI THOI DIALOG CA WINDOWS
9. uigetfile (tt)
V d:
>> [fname,pname] = uigetfile('*.m','Sample Dialog Box')
fname = canhhoa.m
pname = D:\work\
278
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
555
IX.CC HP HI THOI DIALOG CA WINDOWS
10. uiputfile
C php:
uiputfile
uiputfile('InitFile')
uiputfile('InitFile','DialogTitle')
uiputfile('InitFile','DialogTitle',x,y)
[fname,pname] = uiputfile(...)
Trong :
'InitFile' Hp thoi hin th cc file trong th mc hin hnh
xc nh bi 'InitFile'
[fname,pname] Tr v tn file v ng dn ghi file
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
556
IX.CC HP HI THOI DIALOG CA WINDOWS
10. uiputfile (tt)
V d:
>> [newfile,newpath] = uiputfile('animinit.m','Save file name');
newfile = animinit.m
newpath = D:\work\
279
CHNG 7: GUI V NG DNG
Ging vin: Hong Xun Dng
557
IX.CC HP HI THOI DIALOG CA WINDOWS
11. warndlg
C php:
h = warndlg('warningstring','dlgname')
V d:
warndlg('Pressing OK will clear memory','!! Warning !!')

You might also like