Tiểu luận Matlab Simulink

TIU LUN  
MATLAB SIMULINK  
Giíi thiÖu chung  
§iÒu khiÓn tù ®éng ho¸ ®ãng vai trß quan träng trong sù ph¸t triÓn cña khoa häc vµ kü  
thuËt. LÜnh vùc nµy h÷u hiÖu kh¾p n¬i tõ hÖ thèng phi thuyÒn kh«ng gian, hÖ thèng ®iÒu khiÓn  
tªn löa, m¸y bay kh«ng ngêi l¸i, ngêi m¸y tay, m¸y trong c¸c qu¸ tr×nh s¶n xuÊt hiÖn ®¹i vµ  
ngay c¶ trong ®êi sèng hµng ngµy: ®iÒu khiÓn nhiÖt ®é, ®é Èm  
Trong lý thuyÕt ®iÒu khiÓn tù ®éng cæ ®iÓn c¸c nhµ b¸c häc Jame Watt, Hazen, Minorsky,  
Nyquist, Evan…. ®· ®a ra nh÷ng ph¬ng ph¸p gi¶i quýªt nhiÒu vÊn ®Ò ®¬n gi¶n nh: bé ®iÒu tèc  
ly t©m ®Ó ®iÒu chØnh nhiÖt ®é m¸y h¬i níc, chøng minh tÝnh æn ®Þnh cña hÖ thèng cã thÓ ®îc  
x¸c ®Þnh tõ ph¬ng tr×nh vi ph©n m« t¶ hÖ thèng, x¸c ®Þnh tÝnh æn ®Þnh cña hÖ thèng vßng kÝn  
trªn c¬ së ®¸p øng vßng hë ®èi víi c¸c tÝn hiÖu vµo h×nh Sin ë tr¹ng th¸i x¸c lËp…  
Khi c¸c m¸y mãc hiÖn ®¹i ngµy nay cµng phøc t¹p h¬n nhiÒu tÝn hiÖu vµo vµ ra th× viÖc  
m« t¶ hÖ thèng ®iÒu khiÓn hiÖn ®¹i nµy ®ßi hái mét lîng rÊt lín c¸c ph¬ng tr×nh. Lý thuyÕt  
®iÒu khiÓn cæ ®iÓn liªn quan c¸c hÖ thèng mét ngâ vµo vµ mét ngâ ra trë nªn bÊt lùc ®Ó ph©n tÝch  
hÖ thèng nhiÒu ®Çu vµo, nhiÒu ®Çu ra. KÓ tõ kho¶ng n¨m 1960 trë ®i nhê m¸y tÝnh sè cho phÐp ta  
ph©n tÝch c¸c hÖ thèng phøc t¹p trong miÒn thêi gian, lý thuyÕt ®iÒu khiÓn hiÖn ®¹i ph¸t triÓn ®Ó  
®èi phã víi sù phøc t¹p cña hÖ thèng hiÖn ®¹i. Lý thuyÕt ®iÒu khiÓn hiÖn ®¹i dùa trªn ph©n tÝch  
miÒn thêi gian vµ tæng hîp dïng c¸c biÕn tr¹ng th¸i, cho phÐp gi¶i c¸c bµi to¸n ®iÒu khiÓn cã c¸c  
yªu cÇu chÆt chÏ vÒ ®é chÝnh x¸c, träng lîng vµ gi¸ thµnh cña c¸c hÖ thèng trong lÜnh vùc kü  
nghÖ kh«ng gian vµ qu©n sù.  
Sù ph¸t triÓn gÇn ®©y cña lý thuyÕt ®iÒu khiÓn hiÖn ®¹i lµ trong nhiÒu lÜnh vùc ®iÒu khiÓn  
tèi u cña c¸c hÖ thèng ngÉu nhiªn vµ tiÒn ®Þnh. HiÖn nay m¸y vi tÝnh ngµy cµng rÎ, gän nhng  
kh¶ n¨ng xö lý l¹i rÊt m¹nh nªn nã ®îc dïng nhlµ mét phÇn tö trong c¸c hÖ thèng ®iÒu khiÓn.  
Matlab lµ mét ch¬ng tr×nh phÇn mÒm lín cña lÜnh vùc tÝnh to¸n sè. Matlab chÝnh lµ  
ch÷ viÕt t¾t tõ MATrix LABoratory, thÓ hiÖn ®Þnh híng chÝnh cña ch¬ng tr×nh bao gåm mét sè  
hµm to¸n c¸c chøc n¨ng nhËp / xuÊt còng nhc¸c kh¶ n¨ng lËp tr×nh víi có ph¸p th«ng dông mµ  
nhê ®ã ta cã thÓ dùng nªn c¸c Scripts. Matlab cã rÊt nhiÒu phiªn b¶n nh: 3.5, 4.0, 4.2, 5.0,  
5.2,…6.0, 6.5 . HiÖn t¹i ®· cã phiªn b¶n míi nhÊt 7.1. Trong bµi tiÓu luËn nµy chóng ta chñ yÕu  
t×m hiÓu vÒ phiªn b¶n 6.5.  
Simulink lµ mét phÇn mÒm më réng cña Matlab (1 Toolbox cña Matlab) dïng ®Ó m« h×nh  
ho¸, m« pháng vµ ph©n tÝch mét hÖ thèng ®éng. Th«ng thêng dïng ®Ó thiÕt kÕ hÖ thèng ®iÒu  
khiÓn, thiÕt kÕ DSP, hÖ thèng th«ng tin vµ c¸c øng dông m« pháng kh¸c.  
Simulink lµ thuËt ng÷ m« pháng dÔ nhí ®îc ghÐp hai tõ Simulation vµ Link, Simulink  
cho phÐp m« t¶ hÖ thèng tuyÕn tÝnh, hÖ phi tuyÕn, c¸c m« h×nh trong miÒn thêi gian liªn tôc, hay  
gi¸n ®o¹n hoÆc mét hÖ gåm c¶ liªn tôc vµ gi¸n ®o¹n.  
PhÇn I : C¬ së vÒ MATLAB  
MATLAB lµ mét ch¬ng tr×nh phÇn mÒm lín vÒ lÜnh vùc to¸n sè . Tªn bé ch¬ng tr×nh  
chÝnh lµ ch÷ viÕt t¾t tõ MATrix LABoratory, thÓ hiÖn ®Þnh híng cña ch¬ng tr×nh lµ nh÷ng phÐp  
tÝnh vector vµ ma trËn . PhÇn cèt lâi cña ch¬ng tr×nh bao gåm mét sè hµm to¸n , c¸c chøc n¨nng  
nhËp /xuÊt còng nhc¸c kh¶ n¨ng ®iÒu khiÓn chu tr×nh mµ nhê ®ã cã thÓ dùng trªn c¸c Scripts .  
Trong phÇn nay bao gåm c¸c Toolbox liªn quan tíi §iÒu KhiÓn –Tù §éng hãa nh: Control  
System Toolbox, Signal Processing Toolbox, Optimization Toolbox, Stateflow Blockset, Power  
System Blockset , Real – Time Workshop va SIMULINK. SIMULINK lµ mét toolbox cã vai trß  
bÆc biÖt quan träng: Vµi trß cña mét c«ng cô m¹nh phôc vô m« h×nh hãa vµ m« pháng c¸c hÖ  
thèng Kü thuËt – VËt lý trªn c¬ së s¬ ®å cÊu tróc d¹ng khèi . Cïng víi SIMULINK , Statefow  
Blockset t¹o cho ta kh¶ n¨ng m« h×nh hãa vµ m« pháng c¸c automat tr¹ng th¸i h÷u h¹n.  
1.1. Nh÷ng bíc ®i dÇu tiªn víi MATLAB  
1.1.1 Mµn h×nh MATLAB  
Sau khi khái ®éng MATLAB , m«i trêng tÝch hîp víi nh÷ng cöa sæ chÝnh nhh×nh  
díi :  
- Cöa sæ Launch Pad : Cöa sæ nµy cho phÐp ngêi sö dông truy cËp nhanh c¸c c«ng cô  
cña MATLAB, PhÇn Help (trî gióp) hoÆc Online Documents (tµi liÖu trùc tuyÕn), më Demos  
(ch¬ng tr×nh tr×nh diÔn).  
2
- Cöa sæ thmôc hiÖn t¹i Current Directory Browser : Nhê cöa sæ nµy ngêi sö dông  
nhanh chãng nhËn biÕt, chuyÓn ®æi thmôc hiÖn t¹i cña m«i trêng c«ng t¸c, më File, t¹o th−  
môc míi.  
- Cöa sæ m«i trêng c«ng t¸c Workspace Browser : TÊt c¶ c¸c biÕn, c¸c hµm tån t¹i  
trong m«i trêng c«ng t¸c ®Òu ®îc hiÓn thÞ t¹i cöa sæ nµyvíi ®Çy ®ñ c¸c th«ng tin nh: Tªn lo¹i  
biÕn/hµm, kÝch thíc tïy theo Bytes vµ lo¹i d÷ liÖu. Ngoµi ra cßn cã thÓ cÊt vµo bé nhí c¸c d÷  
liÖu ®ã , hoÆc sö dông chøc n¨ng Array Editor (so¹n th¶o m¶ng) ®Ó thay ®æi c¸c biÕn  
- Cöa sæ lÖnh Command Windows : §©y lµ cöa sæ chÝnh cña MATLAB . T¹i ®©y ta  
thùc hiÖn toµn bé viÖc nhËp d÷ liÖu vµ xuÊt kÕt qu¶ tÝnh to¸n. DÊu nhÊp nh¸y >> b¸o hiÖu ch¬ng  
tr×nh s¾p ho¹t ®éng:  
- Mçi lÇn nhËp d÷ liÖu ®îc kÕt thóc b»ng ®éng t¸c nhÊn phÝm ENTER. Nguyªn t¾c “  
nh©n, chia thùc hiÖn tríc céng , trõ “ vµ thu tiªn cña dÊu ngoÆc vÉn nhb×nh thêng . Sè  
cã gi¸ trÞ lín thêng ®îc nhËp víi hµm e mò (cã thÓ viÕt E) . Cã thÓ kÕt thóc ch¬ng tr×nh b»ng  
c¸ch ®ãng mµn h×nh MATLAB , hoÆc gäi lÖnh quit, exit hoÆc nhÊn tæ hîp phÝm Ctrl+q  
- Cöa sæ qu¸ khø Command History : TÊt c¸ c¸c lÖnh ®· sö dông trong Command  
Windows ®îc lu gi÷ vµ hiÓn thÞ t¹i ®©y, cã thÓ lÆp l¹i lÖnh cò b¾ng c¸ch nh¸y chuét kÐp vµo  
lÖnh ®ã . Còng cã thÓ c¾t, sao hoÆc xãa c¶ nhãm lÖnh hoÆc tõng lÖnh riªng rÏ.  
1.1.2 TiÖn Ých trî gióp (Help) cña MATLAB  
TiÖn Ých trî gióp cña MATLAB lµ v« cïng phong phó . Tïy theo nhu cÇu , hoÆc gäi  
Help [command] ®Ó xem néi dung hç trî cña lÖnh command trùc tiÕp trªn Command Windows  
hoÆc sö dông c«ng cô truy cËp Help  
3
Cã thÓ gäi cña sæ Help b»ng c¸ch gäi trªn Menu , gäi lÖnh helpwin hay doc trùc tiÕp trªn cña sæ  
Command Windows . B»ng lÖnh loockfor searchstring ta cã thÓ t×m chuçi ký tù searchstring trong dßng  
®Çu cña mäi MATLAB File trong thmôc MATLAB  
>> help log  
LOG Natural logarithm.  
LOG(X) is the natural logarithm of the elements of X.  
Complex results are produced if X is not positive.  
See also LOG2, LOG10, EXP, LOGM.  
Overloaded methods  
help gf/log.m  
help sym/log.m  
help fints/log.m  
help designdev/log.m  
>>  
C¸c lÖnh liªn quan tíi tiÖn Ých help ®îc tËp hîp trong b¶ng sau:  
Help  
TiÖn Ých Help trùc tuyÕn cña MATLAB trong cöa  
sæ lÖnh Commmand Workspace  
help[command]  
helpwin[command]  
doc[command]  
TiÖn Ých Help trùc tuyÕn cña MATLAB trong cöa  
Sæ truy cËp Help  
TliÖu trùc tuyÕn cña MATLAB trong cöa sæ truy  
cËp Help  
lookforsearchstring  
T×m chuçi ký tù searchstringtrong dßng ®Çu tiªn  
cña mäi MATLAB Files trong thmôc MATLAB  
1.1.3 C¸c biÕn  
Th«ng thêng , kÕt qu¶ c¶u c¸c biÕn ®îc g¸n cho ans . Sñ dông dÊu b»ng ta cã thÎ ®Þnh  
nghÜa mét biÕn , ®ång thêi g¸n gi¸ trÞ cho biÕn dã . Khi nhËp tªn cña mét biÕn mµ kh«ng g¸n gi¸  
trÞ , ta thu gi¶ trÞ hiÖn t¹i cña biÕn ®ã . TÊt c¶ c¸c biÕn ®Òu lµ biÕn global trong Workspace. Tªn  
cña biÕn cã thÓ chøa tíi 32 ch÷ c¸i , g¹ch ngang thÊp (_) còng nhch÷ sè . Ch÷ viÕt hoa to vµ ch÷  
viÕt nhá ®Òu ®îc ph©n biÖt .  
ViÖc nhËp gi¸ trÞ cã thÓ ®îc thùc hiÖn thµnh mét chuçi trong cïng mét dßng , chØ c¸ch  
nhau bëi dÊu (;) . NÕu sö dông dÊu phÈy(,) ®Ó t¸ch c¸c lÖnh khi Êy c¸c gi¸ trÞ sÏ ®îc xuÊt ra  
mµn h×nh :  
>> x=25; y=10;  
>> x  
4
x =  
25  
>> a=x+y,A=x/y  
a =  
35  
A =  
2.5000  
Mét sè biÕn nh: pi , i , j inf ®· ®îc MATLAB dïng ®ªr chØ c¸c h»ng sè hay ký  
hiÖu, vËy ta ph¶i tr¸nh sö dông chóng . §èi víi c¸c phÐp tÝnh bÊt ®Þnh (vÝ dô 0/0), trªn mµn h×nh  
sÏ xuÊt hiÖn kÕt qu¶ NaN (Not a Number) . esp cho ta biÕt cÊp chÝnh x¸c t¬ng ®èi khi biÓu diÔn  
sè víi dÊu phÈy ®éng (vÝ dô : esp = 2.2204e-016):  
>> 1/0  
Warning: Divide by zero.  
(Type "warning off MATLAB:divideByZero" to suppress this warning.)  
ans =  
Inf  
Inf: infinite (v« cïng)  
>> 0/0  
Warning: Divide by zero.  
(Type "warning off MATLAB:divideByZero" to suppress this warning.)  
ans =  
NaN  
NaN: not – defined (bÊt ®Þnh )  
C¸c ký hiÖu  
=
G¸n gi¸ trÞ cho biÕn  
C¸c phÐp tÝnh  
NhËp gi¸ trÞ (cßn gi÷ vai trß dÊu c¸ch khi nhËp nhiÒu gi¸ trÞ  
trong cïng mét dßng )  
+ - * / ^  
;
,
DÊu c¸ch khi xuÊt nhiÒu gi¸ trÞ trong cïng mét dßng  
CÊp chÝnh x¸c t¬ng ®èi khi sö dông gi¸ trÞ dÊu phÈy ®éng  
To¸n tö ¶o  
V« cïng ()  
Not a Number  
H»ng sè π  
esp  
i j  
inf  
NaN  
pi  
1.1.4 C¸c hµm to¸n häc  
Ch¬ng tr×nh MATLAB cã s½n rÊt nhiÒu hµm to¸n tËp hîp trong b¶ng sau ®©y . TÊt c¶ c¸c  
hµm trong b¶ng ®Òu cã kh¶ n¨ng sö dông tÝnh cña vector  
5
C¸c hµm to¸n  
sqrt(x)  
exp(x)  
log(x)  
log10(x)  
abs(x)  
sign(x)  
real(x)  
imag(x)  
phase(x)  
C¨n bËc hai  
rem(x,y)  
round(x)  
ceil(x)  
floor(x)  
sum(v)  
prod(v)  
min(v)  
Sè dcña phÐp chia x/y  
Lµm trßn sè  
Lµm trßn lªn  
Hµm mò c¬ sè e  
Logarit tù nhiªn  
Logarit c¬ sè thËp ph©n  
Gi¸ trÞ tuyÖt ®èi  
Hµm dÊu  
PhÇn thùc  
PhÇn ¶o  
Gãc pha cña sè phøc  
Lµm trßn xuèng  
Tæng c¸c phÇn tö vector  
TÝch c¸c phÇn tö vector  
PhÇn tö vector bÐ nhÊt  
PhÇn tö vector lín nhÊt  
Gi¸ trÞ trung b×nh céng  
max(v)  
mean(v)  
C¸c hµm lîng gi¸c  
atan(x)  
atan2(x,y)  
sin(x)  
cos(x)  
tag(x)  
Hµm sin  
Hµm cos  
Hµm tg  
Hµm arctg ±900  
Hµm arctg ±1800  
Hµm sin(π x)/ (π x)  
sinc(x)  
1.2 Vector vµ ma trËn  
MATLAB cã mét sè lÖnh ®Æc biÖt ®Ó khai b¸o hoÆc sö lý vector vµ ma trËn . C¸ch ®¬n  
gi¶n nhÊt ®Ó khai b¸o , t¹o lªn vector hoÆc ma trËn lµ nhËp trùc tiÕp . Khi nhËp trùc tiÕp c¸c phÇn  
tö cña mét hµng ®îc c¸ch bëi dÊu phÈy hoÆc vÞ trÝ c¸ch bá trèng1, c¸c hµng ®îc c¸ch bëi dÊu  
(;) hoÆc ng¾t dßng.  
>> vector=[3 4 5]  
vector =  
3
4
5
>> matran=[vector; 1 2 3]  
matran =  
3
1
4
2
5
3
Vector cã c¸c phÇn tö tiÕp diÔn víi mét bîc nhÊt ®Þnh , cã thÓ nhËp mét c¸ch ®¬n gi¶n  
nhê  
To¸n tö (:) nhsau (start: increment; destination) “(xuÊt ph¸t : bíc; ®Ých)”. NÕu chØ nhËp  
start vµ destination , MATLAB sÏ tù ®éng ®Æt increment lµ +1.  
Còng cã thÓ nhËp c¸c vector tuyÕn tÝnh còng nhvector cã ph©n h¹ng logarithm b»ng  
c¸ch dïng lÖnh linspace(start, destination, number) “(Trong ®ã number lµ sè l¬ng phÇn tö cña  
vector)”. Ta còng cã thÓ nhËp b»ng lÖnh logspace, start vµ destination ®îc nhËp bëi sè mò thËp  
ph©n , vÝ dô : thay v× nhËp 100 = (102)ta chØ cÇn nhËp 2.  
>> long=1:5  
long =  
1
2
3
4
5
>> deep = 10:-2:2  
deep =  
10  
8
6
4
2
>> longer=linspace(1,15,5)  
6
longer =  
1.0000 4.5000 8.0000 11.5000 15.0000  
>> licreace=logspace(1,2,5)  
licreace =  
10.0000 17.7828 31.6228 56.2341 100.0000  
B»ng c¸c hµm ones(line,column)zeros(line, column) ta t¹o c¸c ma trËn cã phÇn tö lµ 1  
hoÆc 0. Hµm eye(line) t¹o ra ma trËn ®¬n vÞ, ma trËn toµn ph¬ng víi c¸c phÇn tö 1 thuéc ®êng  
chÐo , tÊt c¶ c¸c phÇn tö cßn l¹i lµ 0. KÝch cì cña ma trËn hoµn toµn phô thuäc ngêi nhËp:  
>> M= ones(2, 3)  
M =  
1
1
1 1  
1 1  
ViÖc truy cËp tõng phÇn tö cña vector hoÆc ma trËn ®îc thùc hiÖn b»ng c¸ch khai b¸o chØ  
sè cña phÇn tö , trong ®ã cÇn lu ý r»ng : chØ sè bÐ nhÊt lµ 1 chø kh«ng ph¶I lµ 0. §Æc biÖt , khi  
cÇn xuÊt tõng hµng hay tõng cét , cã thÓ sö dông to¸n tö (:) ®øng mét m×nh , ®iÒu Êy cã nghÜa lµ :  
ph¶i xuÊt mäi phÇn tö cña hµng hay cét :  
>> matran(2,2)  
ans =  
2
>> matran(2,:)  
ans =  
1
2
3
MATLAB cã mét lÖnh rÊt h÷u Ých , phôc vô t¹o ma trËn víi chøc n¨ng tÝn hiÖu thö ®ã lµ :  
rand(m,n). Khi gäi ta thu ®îc ma trËn m hµng vµ n cét víi phÇn tö mang c¸c gi¸ trÞ ngÉu nhiªn:  
>> mt_ngaunhien=rand(2,3)  
mt_ngaunhien =  
0.4565 0.8214 0.6154  
0.0185 0.4447 0.7919  
Khai b¸o vector vµ ma trËn  
[x1 x2 …; x3 x4 …]  
NhËp gi¸ trÞ cho vector vµ ma trËn  
To¸n tö (:)  
Khai b¸o tuyÕn tÝnh cho vector  
Khai b¸o logarithm cho vector  
Khai b¸o ma trËn ®¬n vÞ  
start: increment: destination  
linspace (start,destination ,number)  
logspace (start,destination ,number)  
eye(line)  
ones(line,column)  
zeros(line,column)  
rand(line,column)  
Khai b¸o ma trËn víi c¸c phÇn tö 1  
Khai b¸o ma trËn víi c¸c phÇn tö 0  
Khai b¸o ma trËn víi c¸c phÇn tö nhËp  
ngÉu nhiªn  
7
1.2.1 TÝnh to¸n víi vector vµ ma trËn  
NhiÒu phÐp tÝnh cã thÓ ¸p dông cho vector vµ ma trËn . VÝ dô : PhÐp nh©n víi ký hiÖu(*)  
®îc dïng ®Ó tÝnh tÝch cña vector vµ ma trËn . ViÖc chuyÓn vÞ cña vector vµ ma trËn ®îc thùc  
hiÖn nhê lÖnh transpose hoÆc (‘) . NÕu vector vµ ma trËn lµ phøc , ta dïng thªm lÖnh lµ  
ctranspose hoÆc (‘) ®Ó t×m gi¸ trÞ phøc liªn hîp. §èi víi c¸c gi¸ trÞ thùc hai lÖnh trªn nhnhau  
>> M*matran  
ans =  
4
4
6
6
8
8
NÕu nhtrong c¸c phÐp tÝnh * / ^ cÇn ®îc thùc hiÖn cho tõng phÇn tö cña vector vµ ma  
trËn , ta sÏ ph¶i ®Æt thªm vµo tríc ký hiÖu cña phÐp t×nh ®ã ký hiÖu (.). PhÐp tÝnh ®èi víi c¸c  
biÕn v« híng lu«n ®îc thùc hiÖn cho tõng phÇn tö mét :  
>> M ./ matran  
ans =  
0.3333 0.2500 0.2000  
1.0000 0.5000 0.3333  
PhÐp tÝnh trªn còng cã hiÖu lùc c¶ khi ma trËn cã c¸c phÇn tö phøc:  
>> matranphuc = [1+i 1-i; 1 2 ]  
matranphuc =  
1.0000 + 1.0000i 1.0000 - 1.0000i  
1.0000  
2.0000  
>> matranphuc*matranphuc  
ans =  
1.0000 + 1.0000i 4.0000 - 2.0000i  
3.0000 + 1.0000i 5.0000 - 1.0000i  
>> matranphuc.*matranphuc  
ans =  
0 + 2.0000i  
1.0000  
0 - 2.0000i  
4.0000  
LÖnh diff(vector [n]) tÝnh vector sai ph©n. B»ng lÖnh conv(vector_1, vvector_2) ta ch¹p hai  
vector vector_1 vector_2. NÕu hai vector cÇn chËp cã phÇn tö lµ c¸c hÖ sè cña hai ®a thøc, kÕt  
qu¶ thu ®îc sÏ øng víi c¸c hÖ sè sau khi nh©n hai ®a thøc ®ã víi nhau :  
>> diff(vector)  
ans = 1 1  
Hai lÖnh inv det dïng ®Ó nghÞch ®¶o ma trËn toµn ph¬ng vµ tÝnh ®Þnh thøc cña ma trËn  
. Gi¸ trÞ riªng cña ma trËn matrix ®îc tÝnh bëi lÖnh eig(matrix) vµ h¹ng cña nã ®îc tÝnh bëi  
lÖnh rank(matrix), NÕu cÇn chuyÓn vÞ ma trËn ta dïng lÖnh transpose(matrix):  
>> matrix=[1 2 3;3 4 5;5 6 7]  
8
matrix =  
1
3
5
2
4
6
3
5
7
>> rank(matrix)  
ns =  
2
>> eig(matrix)  
ans =  
12.9282  
-0.9282  
0.0000  
>> det(matrix)  
ans =  
0
>> inv(matrix)  
Warning: Matrix is close to singular or badly scaled.  
Results may be inaccurate. RCOND = 1.850372e-018.  
ans =  
1.0e+016 *  
0.4504 -0.9007 0.4504  
-0.9007 1.8014 -0.9007  
0.4504 -0.9007 0.4504  
>> transpose(matrix)  
ans =  
1
2
3
3
4
5
5
6
7
TÝnh to¸n víi vector vµ ma trËn  
.* ./ .^  
transpose(matrix) hoÆc matrix’  
ctranspose(matrix) hoÆc matrix’  
C¸c phÐp tÝnh víi tõng phÇn tö  
ChuyÓn vÞ ma trËn matrix  
ChuyÓn vÞ ma trËn matrix cã phÇn tö  
phøc liªn hîp  
inv(matrix)  
det(matrix)  
eig(matrix)  
rank(matrix)  
diff(vector[n])  
conv(vector_1,vector_2)  
§¶o ma trËn  
TÝnh ®Þnh thøc cña ma trËn  
TÝnh gi¸ trÞ riªng cña ma trËn  
X¸c ®Þnh h¹ng cña ma trËn  
TÝnh vector sai ph©n  
ChËp vector (nh©n ®a thøc)  
9
1.2  
CÊu tróc vµ trêng  
1.2.1 CÊu tróc  
§Ó thuËn tiÖn cho viÖc qu¶n lý vµ sö dông , ta cã thÓ tËp hîp nhiÒu biÕn l¹i trong mét cÊu tróc .  
Trong ®ã m«i m¶ng cã mét tªn riªng (mét chuçi ký tù string) ®Æt gi÷a hai dÊu (‘ ‘) cã kÌm theo  
gi¸ trÞ . Mét cÊu tróc ®îc t¹o nªn bëi lÖnh struct(‘name_1’,value_1,’name_2’,value_2,…..):  
>>my_structure = struct(‘data’, matrix, ‘size’, [2 3]);  
ViÖc truy cËp vµo d÷ liÖu ®îc thùc hiÖn bëi víi dÊu c¸ch(.);  
>>my_structure (2) . data = matrix.^(-1) ;  
ans =  
1.0000  
0.5000  
0.3333  
Ngoµi ra MATLAB cßn cã c¸c lÖnh vÒ cÊu tróc mãc vßng nhcÊu tróc nhËp bëi lÖnh componist .  
1.2.2 Trêng  
Tæng qu¸t ë mét møc ®é cao h¬n cÊu tróc lµ trêng (Cell Array). §ã chÝnh lµ c¸c Array  
(m¶ng nhiÒu chiÒu), chøa Cell (tÕ bµo) víi d÷ liÖu thuéc c¸c lo¹i vµ kÝch cì kh¸c nhau . Ta cã thÓ  
t¹o ra Cell Array b»ng lÖnh cell , hoÆc ®¬n gi¶n h¬n b»ng c¸ch ghÐp c¸c phÇn tö bªn trong dÊu  
ngoÆc {}. Tõng phÇn tö cña Cell Array cã thÓ ®îc truy cËp nhc¸c vector , ma trËn th«ng  
th¬ng nhc¸c Array nhiÒu chiÒu , chØ cÇn lu ý r»ng : Thay v× dïng dÊu ngoÆc trßn ( ) ta sö  
dông dÊu ngoÆc mãc {}.  
Gi¶ sö ta t¹o ra mét Cell Array rçng cã tªn my_cell nhsau :  
>> my_cell = cell(2,2)  
my_cell =  
[] []  
[] []  
B©y giê ta lÇn lît g¸n cho tõng m¶ng cña my_cell c¸c gi¸ trÞ sau ®©y:  
>> my_cell{1,1} ='chao cac ban';  
>> my_cell{1,2} ='chuc cac ban hoc tap tot';  
>> my_cell{2,1} =[1 2; 3 4];  
>> my_cell{2,2} =10;  
Khi nhËp tªn cña Cell Array trªn mµn h×nh xuÊt hiÖn lªn ®Çy ®ñ cÊu tróc cña nã. Cã thÓ biÕt néi  
dung (hay gi¸ trÞ ) cña mét hay nhiÒu Cell khi ta nhËp c¸c chØ sè cña Cell:  
>> my_cell  
my_cell =  
'chao cac ban' [1x24 char]  
[2x2 double]  
>> my_cell{1,1}  
ans =  
[
10]  
chao cac ban  
>> my_cell{1,2}  
10  
ans =  
chuc cac ban hoc tap tot  
>> my_cell{2,1}  
ans =  
1
3
2
4
CÊu tróc (Structure) vµ trêng (Cell Array)  
Structure(‘n1’,’v1’,’n2’,’v2’, …)  
Structure.name  
My_cell = {}  
Khai b¸o cÊu tróc  
Truy cËp vµo phÇn tö name  
T¹o Cell Array rçng  
T¹o n×n Cell Array  
T¹o m×n Cell Array  
Cell(n)  
Cell(m,n)  
PhÇn trªn lµ nh÷ng kh¸i niÖm kh¸i qu¸t vµ nh÷ng vÝ dô cô thÓ giíi thiÖu mét phÇn nhá  
nh÷ng øng dông mµ phÇn mÒm MATLAB cã thÓ thc hiÖn .MATLAB lµ mét phÇn mÒm lín trong  
lÜnh vùc to¸n sè vµ cßn cã kh¶ n¨ng cña mét ng«n ng÷ lËp tr×nh bËc cao víi tÝnh n¨ng ®å häa  
phong phó. MATLAB víi nh÷ng c«ng cô nh: Control System Toolbox (c«ng cô kh¶o s¸t thiÕt kÕ  
hÖ thèng ®iÒu khiÓn ), Optimization Toolbox (c«ng cô tÝnh to¸n tèi u) vµ Signal Processing  
Toolbox (c«ng cô sö lý tÝn hiÖn ). MATLAB ®ang lµ phÇn mÒm mµ c¸c kü sc¸c sinh viªn sö  
dông réng r·i nhê vµo t×nh n¨ng u viÖt cña phÇn mÒm nµy  
11  
PhÇn II  
Giíi thiÖu mét sè nhãm lÖnh c¬ b¶n MATLAB  
I. LÖNH C¬ B¶N  
1. LÖnh ANS  
a) C«ng dông: (Purpose)  
Lµ biÕn chøa kÕt qu¶ mÆc ®Þnh.  
b) Gi¶i thÝch: (Description)  
Khi thùc hiÖn mét lÖnh nµo ®ã mµ cha cã biÕn chøa kÕt qu¶, th× MATLAB lÊy biÕn Ans  
lµm biÕn chøa kÕt qu¶ ®ã.  
2. LÖnh CLOCK  
a) C«ng dông: (Purpose)  
Th«ng b¸o ngµy giê hiÖn t¹i.  
b) Có ph¸p:(Syntax)  
c = clock  
c) Gi¶i thÝch: (Description)  
§Ó th«ng b¸o dÔ ®äc ta dïng hµm fix.  
3. LÖnh COMPUTER  
a) C«ng dông: (Purpose)  
Cho biÕt hÖ ®iÒu hµnh cña m¸y vi tÝnh ®ang sö dông Matlab.  
b) Có ph¸p: (Syntax)  
computer  
[c,m] = computer  
c) Gi¶i thÝch: (Description)  
c: chøa th«ng b¸o hÖ ®iÒu hµnh cña m¸y.  
m: sè phÇn tö cña ma trËn lín nhÊt mµ m¸y cã thÓ lµm viÖc ®îc víi Matlab.  
4. LÖnh DATE  
a) C«ng dông: (Purpose)  
Th«ng b¸o ngµy th¸ng n¨m hiÖn t¹i  
b) Có ph¸p: (Syntax)  
s = date  
5. LÖnh CD  
a) C«ng dông:  
ChuyÓn ®æi thmôc lµm viÖc.  
b) Có ph¸p:  
12  
cd  
cd diretory  
cd ..  
c) Gi¶i thÝch:  
cd: cho biÕt thnôc hiÖn hµnh.  
diretory: ®êng dÉn ®Õn thmôc muèn lµm viÖc.  
cd .. chuyÓn ®Õn thmôc cÊp cao h¬n mét bËc.  
6. LÖnh CLC  
a) C«ng dông:  
Xãa cöa sæ lÖnh.  
b) Có ph¸p:  
clc  
7. LÖnh CLEAR  
a) C«ng dông:  
Xãa c¸c ®Ò môc trong bé nhí.  
b) Có ph¸p:  
clear  
clear name  
clear name1 name2 name3  
clear functions  
clear variables  
clear mex  
clear global  
clear all  
c) Gi¶i thÝch:  
clear: xãa tÊt c¶ c¸c biÕn khái vïng lµm viÖc.  
clear name: xãa c¸c biÕn hay hµm ®îc chØ ra trong name.  
clear functions: xãa tÊt c¶ c¸c hµm trong bé nhí phô  
clear variables: xãa tÊt c¶ c¸c biÕn ra khái bé nhí.  
clear mex: xãa tÊt c¶ c¸c tËp tin .mex ra khái bé nhí.  
clear: xãa tÊt c¶ c¸c biÕn chung.  
clear all: xãa tÊt c¶ c¸c biÕn, hµm, vµ c¸c tËp tin .mex khái bé nhí. LÖnh nµy lµm cho bé  
nhí trèng hoµn toµn.  
8. LÖnh DELETE  
a) C«ng dông:  
Xãa tËp tin vµ ®èi tîng ®å häa.  
b) Có ph¸p:  
delete filename  
13  
delete (n)  
c) Gi¶i thÝch:  
file name: tªn tËp tin cÇn xãa.  
n: biÕn chøa ®èi tîng ®å häa cÇn xãa. NÕu ®èi tîng lµ mét cöa sæ th× cöa sæ sÏ ®ãng l¹i  
vµ bÞ xãa.  
9. LÖnh DEMO  
a) C«ng dông:  
Ch¹y ch¬ng tr×nh mÆc ®Þnh cña Matlab.  
b) Có ph¸p:  
demo  
c) Gi¶i thÝch:  
demo: lµ ch¬ng tr×nh cã s½n trong trong Matlab, ch¬ng tr×nh nµy minh häa mét sè chøc  
n¨ng cña Matlab.  
10. LÖnh DIARY  
a) C«ng dông:  
Lu vïng thµnh file trªn ®Üa.  
b) Có ph¸p:  
diary filename  
c) Gi¶i thÝch:  
filename: tªn cña tËp tin.  
11. LÖnh DIR  
a) C«ng dông:  
LiÖt kª c¸c tËp tin vµ thmôc.  
b) Có ph¸p:  
dir  
dir name  
c) Gi¶i thÝch:  
dir: liÖt kª c¸c tËp tin vµ thmôc cã trong thmôc hiÖn hµnh.  
dir name: ®êng dÉn ®Õn thmôc cÇn liÖt kª.  
12. lÖnh DISP  
a) C«ng dông:  
Tr×nh bµy néi dung cña biÕn (x) ra mµn h×nh  
b) Có ph¸p:  
disp (x)  
c) gi¶i thÝch:  
x: lµ tªn cña ma trËn hay lµ tªn cña biÕn chøa chuçi ký tù, nÕu tr×nh bµy trùc tiÕp chuçi ký  
tù th× chuçi ký tù ®îc ®Æt trong dÊu ‘’  
13. LÖnh ECHO  
14  
a) C«ng dông:  
HiÓn thÞ hay kh«ng hiÓn thÞ dßng lÖnh ®ang thi hµnh trong file *.m.  
b) Có ph¸p:  
echo on  
echo off  
c) Gi¶i thÝch:  
on: hiÓn thÞ dßng lÖnh.  
off: kh«ng hiÓn thÞ dßng lÖnh.  
14. LÖnh FORMAT  
a) C«ng dông:  
§Þnh d¹ng kiÓu hiÓn thÞ cña c¸c con sè.  
Có ph¸p  
Gi¶i thÝch  
VÝ dô  
Format short  
HiÓn thÞ 4 con  
sè sau dÊu chÊm  
3.1416  
Format long  
Format rat  
Format +  
HiÓn thÞ 14  
con sè sau dÊu  
chÊm  
3.14159265358979  
HiÓn thÞ d¹ng  
ph©n sè cña phÇn  
nguyªn nhá nhÊt  
355/133  
+
HiÓn thÞ sè  
d¬ng hay ©m  
15. LÖnh HELP  
a) C«ng dông:  
híng dÉn c¸ch sö dông c¸c lÖnh trong Matlab.  
b) Có ph¸p:  
help  
help topic  
c) Gi¶i thÝch:  
help: hiÓn thÞ v¾n t¾t c¸c môc híng dÉn.  
topic: tªn lÖnh cÇn ®îc híng dÉn.  
16. LÖnh HOME  
a) C«ng dông:  
§em con trá vÒ ®Çu vïng lµm viÖc.  
b) Có ph¸p:  
15  
home  
17. LÖnh LENGTH  
a) C«ng dông:  
TÝnh chiÒu dµi cña vect¬.  
b) Có ph¸p:  
l = length (x)  
c) Gi¶i thÝch:  
l: biÕn chøa chiÒu dµi vect¬.  
18. LÖnh LOAD  
a) C«ng dông:  
N¹p file tõ ®Üa vµo vïng lµm viÖc.  
b) Có ph¸p:  
load  
load filename  
load filename  
load finame.extension  
c) Gi¶i thÝch:  
load: n¹p file matlap.mat  
load filename: n¹p file filename.mat  
load filename.extension: n¹p file filename.extension  
TËp tin nµy ph¶i lµ tËp tin d¹ng ma trËn cã nghÜa lµ sè cét cña hµng díi ph¶i b»ng sè cét  
cña hµng trªn. KÕt qu¶ ta ®îc mét ma trËn cã sè cét vµ hµng chÝnh lµ sè cét vµ hµng cña  
tËp tin v¨n b¶n trªn.  
19. LÖnh LOOKFOR  
a) C«ng dông:  
HiÓn thÞ tÊt c¶ c¸c lÖnh cã liªn quan ®Õn topic.  
b) Có ph¸p:  
lookfor topic  
c) Gi¶i thÝch:  
topic: tªn lÖnh cÇn ®îc híng dÉn.  
20. LÖnh PACK  
a) C«ng dông:  
S¾p xÕp l¹i bé nhí trong vïng lµm viÖc.  
b) Có ph¸p:  
pack  
pack filename  
c) Gi¶i thÝch:  
16  
NÕu nhkhi sö dông Matlap m¸y tÝnh xuÊt hiÖn th«ng b¸o “Out of memory” th× lÖnh  
pack cã thÓ t×m thÊy mét sè vïng nhí cßn trèng mµ kh«ng cÇn ph¶i xãa bít c¸c biÕn.  
LÖnh pack gi¶i phãng kh«ng gian bé nhí cÇn thiÕt b»ng c¸ch nÐn th«ng tin trong vïng  
nhí xuèng cùc tiÓu. V× Matlab qu¶n lý bé nhí b»ng ph¬ng ph¸p xÕp chång nªn c¸c ®o¹n  
ch¬ng tr×nh Matlab cã thÓ lµm cho vïng nhí bÞ ph©n m¶nh. Do ®ã sÏ cã nhiÒu vïng nhí  
cßn trèng nhng kh«ng ®ñ ®Ó chøa c¸c biÕn lín míi.  
LÖnh pack sÏ thùc hiÖn:  
+ lu tÊt c¶ c¸c biÕn lªn ®Üa trong mét tËp tin t¹m thêi lµ pack.tmp.  
+ xãa tÊt c¶ c¸c biÕn vµ hµm cã trong bé nhí.  
+ lÊy l¹i c¸c biÕn tõ tËp tin pack.tmp.  
+ xãa tËp tin t¹m thêi pack.tmp.  
kÕt qu¶ lµ trong vïng nhí c¸c biÕn ®îc gép l¹i hoÆc nÐn l¹i tèi ®a nªn kh«ng bÞ  
l·ng phÝ bé nhí.  
Pack.finame cho phÐp chän tªn tËp tin t¹m thêi ®Ó chøa c¸c biÕn. NÕu kh«ng chØ ra tªn  
tËp tin t¹m thêi th× Matlab tù lÊy tªn tËp tin ®ã lµ pack.tmp.  
NÕu ®· dïng lÖnh pack mµ m¸y vÉn cßn b¸o thiÕu bé nhí th× b¾t buéc ph¶i xãa bít c¸c  
biÕn trong vïng nhí ®i.  
21. LÖnh PATH  
a) C«ng dông:  
T¹o ®êng dÉn, liÖt kª tÊt c¶ c¸c ®êng dÉn ®ang cã.  
b) Có ph¸p:  
path  
p = path  
path (p)  
c) Gi¶i thÝch:  
path: liÖt kª tÊt c¶ c¸c dêng dÉn ®ang cã.  
p: biÕn chøa ®êng dÉn.  
path (p): ®Æt ®êng dÉn míi.  
22. LÖnh QUIT  
a) C«ng dông:  
Tho¸t khái Matlab.  
b) Có ph¸p:  
quit  
23. LÖnh SIZE  
a) C«ng dông:  
Cho biÕt sè dßng vµ sè cét cña mét ma trËn.  
b) Có ph¸p:  
d = size (x)  
[m,n] = size (x)  
m = size (x,1)  
17  
n = size (x,2)  
c) Gi¶i thÝch:  
x: tªn ma trËn.  
d: tªn vect¬ cã 2 phÇn tö, phÇn tö thø nhÊt lµ sè dßng, phÇn tö cßn l¹i lµ sè cét.  
m,n: biÕn m chøa sè dßng, biÕn n chøa sè cét  
24. LÖnh TYPE  
a) C«ng dông:  
HiÓn thÞ néi dung cña tËp tin.  
b) Có ph¸p:  
type filename  
c) Gi¶i thÝch:  
filename: tªn file cÇn hiÓn thÞ néi dung.  
LÖnh nµy tr×nh bµy tËp tin ®îc chØ ra.  
25. LÖnh WHAT  
a) C«ng dông:  
LiÖt kª c¸c tËp tin *.m, *.mat, *.mex.  
b) Có ph¸p:  
what  
what dirname  
c) Gi¶i thÝch:  
what: liÖt kª tªn c¸c tËp tin .m, .mat, .mex cã trong thmôc hiÖn hµnh.  
dirname: tªn thmôc cÇn liÖt kª.  
26. LÖnh WHICH  
a) C«ng dông:  
X¸c ®Þnh chøc n¨ng cña funname lµ hµm cña Matlab hay tËp tin.  
b) Có ph¸p:  
which funname  
c) Gi¶i thÝch:  
funname: lµ tªn lÖnh trong Matlab hay tªn tËp tin  
d) VÝ dô:  
which inv  
inv is a build-in function  
which f  
c:\matlab\bin\f.m  
27. LÖnh WHO, WHOS  
a) C«ng dông:  
Th«ng tin vÒ biÕn ®ang cã trong bé nhí.  
18  
b) Có ph¸p:  
who  
whos  
who global  
whos global  
c) Gi¶i thÝch:  
who: liÖt kª tÊt c¶ c¸c tªn biÕn ®ang tån t¹i trong bé nhí.  
whos: liÖt kª tªn biÕn, kÝch thíc, sè phÇn tö vµ xÐt c¸c phÇn ¶o cã kh¸c 0 kh«ng.  
who global vµ whos: liÖt kª c¸c biÕn trong vïng lµm viÖc chung.  
II. C¸C TO¸N Tö Vμ Ký Tù §ÆC BIÖT  
1. C¸c to¸n tö sè häc (Arithmetic Operators):  
T
C«ng dông  
o¸n tö  
+
-
Céng ma trËn hoÆc ®¹i lîng v« híng (c¸c ma trËn ph¶i cã cïng kÝch thíc).  
Trõ ma trËn hoÆc ®¹i lîng v« híng (c¸c ma trËn ph¶i cã cïng kÝch thíc).  
Nh©n ma trËn hoÆc ®¹i lîng v« híng (ma trËn 1 ph¶i cã sè cét b»ng sè hµng  
*
cña ma trËn 2).  
.*  
\
Nh©n tõng phÇn tö cña 2 ma trËn hoÆc 2 ®¹i lîng v« híng (c¸c ma trËn ph¶i  
cã cïng kÝch thíc).  
Thùc hiÖn chia ngîc ma trËn hoÆc c¸c ®¹i lîng v« híng (A\B t¬ng ®¬ng  
víi inv (A)*B).  
.\  
/
Thùc hiÖn chia ngîc tõng phÇn tö cña 2 ma trËn hoÆc 2 ®¹i lîng v« híng  
(c¸c ma trËn ph¶i cã cïng kÝch thíc).  
Thùc hiÖn chia thuËn 2 ma trËn hoÆc ®¹i lîng v« híng (A/B t¬ng ®¬ng  
víi A*inv(B)).  
./  
Thùc hiÖn chia thuËn tõng phÇn tö cña ma trËn nµy cho ma trËn kia (c¸c ma  
trËn ph¶i cã cïng kÝch thíc).  
^
Lòy thõa ma trËn hoÆc c¸c ®¹i lîng v« híng.  
.
^
Lòy thõa tõng phÇn tö ma trËn hoÆc ®¹i lîng v« híng (c¸c ma trËn ph¶i cã  
cïng kÝch thíc).  
19  
2.. To¸n tö quan hÖ (Relational Operators):  
To¸  
n tö  
C«ng dông  
<
>
So s¸nh nhá h¬n.  
So s¸nh lín h¬n.  
>=  
<=  
= =  
-=  
So s¸nh lín h¬n hoÆc b»ng.  
So s¸nh nhá h¬n hoÆc b»ng.  
So s¸nh b»ng nhau c¶ phÇn thùc vµ phÇn ¶o.  
So s¸nh b»ng nhau phÇn ¶o.  
Gi¶i thÝch:  
C¸c to¸n tö quan hÖ thùc hiÖn so s¸nh tõng thµnh phÇn cña 2 ma trËn. Chóng t¹o ra mét  
ma trËn cã cïng kÝch thíc víi 2 ma trËn so s¸nh víi c¸c phÇn tö lµ 1 nÕu phÐp so s¸nh lµ ®óng  
vµ lµ 0 nÕu phÐp so s¸nh lµ sai.  
PhÐp so s¸nh cã chÕ ®é u tiªn sau phÐp to¸n sè häc nhng trªn phÐp to¸n logic.  
3. To¸n tö logig (Logical Operators):  
To¸n  
tö  
C«ng dông  
&
|
Thùc hiÖn phÐp to¸n logic AND.  
Thùc hiÖn phÐp to¸n logic OR.  
Thùc hiÖn phÐp to¸n logic NOT.  
~
a) Gi¶i thÝch:  
KÕt qu¶ cña phÐp to¸n lµ 1 nÕu phÐp logic lµ ®óng vµ lµ 0 nÕu phÐp logic lµ sai.  
PhÐp logic cã chÕ ®é u tiªn thÊp nhÊt so víi phÐp to¸n sè häc vµ phÐp to¸n so s¸nh.  
b) VÝ dô:  
Khi thùc hiÖn phÐp to¸n 3>4 & 1+ th× m¸y tÝnh sÏ thùc hiÖn 1+2 ®îc 3, sau ®ã tíi 3>4  
®îc 0 råi thùc hiÖn 0 & 3 vµ cuèi cïng ta ®îc kÕt qña lµ 0.  
20  
4. Ký tù ®Æc biÖt (Special Characters):  
Ký  
C«ng dông  
hiÖu  
[]  
()  
Khai b¸o vector hoÆc ma trËn.  
Thùc hiÖn phÐp to¸n u tiªn, khai b¸o c¸c biÕn vµ c¸c chØ sè  
cña vector.  
=
.
Thùc hiÖn phÐp g¸n.  
ChuyÓn vÞ ma trËn t×m lîng liªn hiÖp cña sè phøc.  
§iÓm chÊm thËp ph©n.  
,
Ph©n biÖt c¸c phÇn tö cña ma trËn vµ c¸c ®èi sè trong dßng  
lÖnh.  
;
%
!
Ng¨n c¸ch gi÷a c¸c hµng khi khai b¸o ma trËn.  
Th«ng b¸o dßng chó thÝch.  
Më cöa sæ MS – DOS.  
III. C¸C HμM LOGIC (LOGICAL FUNCTION)  
1. LÖnh ALL  
a) C«ng dông:  
KiÓm tra vector hay ma trËn cã gi¸ trÞ 0 hay kh«ng.  
b) Có ph¸p:  
y = all(x)  
c) Gi¶i thÝch:  
y: biÕn chøa kÕt qu¶  
x: tªn vedtor hay ma trËn  
y = 1 khi tÊt c¶ c¸c phÇn tö kh¸c 0  
y = 0 khi cã 1 phÇn tö b»ng 0  
2. LÖnh ANY  
a) C«ng dông:  
KiÓm tra vector hay ma trËn cã gi¸ trÞ kh¸c 0 hay kh«ng.  
b) Có ph¸p:  
y = any(x)  
c) Gi¶i thÝch:  
y: biÕn chøa kÕt qu¶.  
21  
x: tªn vector, hay ma trËn.  
y = 1 khi cã 1 phÇn tö kh¸c 0.  
y = 0 khi cã 1 phÇn tö b»ng 0.  
3. LÖnh EXIST  
a) C«ng dông:  
KiÓm tra biÕn hay file cã tån t¹i hay kh«ng.  
b) Có ph¸p:  
e = exist(‘item’)  
c) Gi¶i thÝch:  
item: lµ tªn file hay tªn biÕn.  
e: biÕn chøa gi¸ trÞ tr¶ vÒ.  
e
ý nghÜa  
0
1
2
item kh«ng tån t¹i trong vïng lµm viÖc  
item lµ biÕn ®ang tån t¹i trong vïng lµm viÖc  
item ®ang tån t¹i trªn ®Üa (chØ kiÓm tra trong thmôc hiÖn  
hµnh)  
3
4
5
item lµ MEX-file  
item lµ file ®îc dÞch tõ phÇn mÒm Simulink  
item lµ hµm cña Matlab  
4. LÖnh FIND  
a) C«ng dông:  
T×m phÇn tö trong vector hay ma trËn theo yªu cÇu.  
b) Có ph¸p:  
k = find(x)  
[i,j] = find(x)  
[i,j,s] = find(x)  
c) Gi¶i thÝch:  
k: chØ vÞ trÝ cña phÇn tö cÇn t×m trong vector.  
i,j: chØ sè hµng vµ sè cét t¬ng øng cña phÇn tö cÇn t×m.  
s: chøa gi¸ trÞ cña phÇn tö cÇn t×m.  
x: tªn vector, ma trËn hay lµ yªu cÇu ®Ò ra. NÕu kh«ng nªu ra yªu cÇu th× mÆc nhiªn lµ t×m  
c¸c phÇn tö kh¸c 0.  
22  
IV. NHãM LÖNH LËP TR×NH TRONG MATLAB  
1. LÖnh EVAL  
a) C«ng dông:  
ChuyÓn ®æi chuçi ký tù thµnh biÓu thøc.  
b) Có ph¸p:  
kq = eval(‘string’)  
c) Gi¶i thÝch:  
kq: biÕn chøa kÕt qu¶.  
NÕu ‘string’ lµ c¸c ký sè th× chuyÓn thµnh nh÷ng con sè.  
NÕu ‘string’ lµ c©u lÖnh th× chuyÓn thµnh c¸c lÖnh thi hµnh ®îc.  
2. LÖnh FOR  
a) C«ng dông:  
Dïng ®Ó thùc hiÖn 1 c«ng viÖc cÇn lÆp ®i lÆp l¹i theo mét quy luËt, víi sè bíc lÆp x¸c  
®Þnh tríc.  
b) Có ph¸p:  
for biÕn ®iÒu khiÓn = gi¸ trÞ ®Çu : gi¸ trÞ cuèi,  
thùc hiÖn c«ng viÖc;  
end  
c) Gi¶i thÝch:  
C«ng viÖc chÝnh lµ c¸c lÖnh cÇn thi hµnh, cã thÓ cã nhiÒu lÖnh, kÕt thóc lÖnh ph¶i cã dÊu;  
3. LÖnh FUNCTION  
a) C«ng dông:  
T¹o thªm hµm míi.  
b) Có ph¸p:  
function s = n(x)  
c) Gi¶i thÝch:  
s: tªn biÕn chøa gi¸ trÞ tr¶ vÒ sau khi thi hµnh hµm.  
n: tªn gîi nhí.  
4. LÖnh INPUT  
a) C«ng dông:  
Dïng ®Ó nhËp vµo 1 gi¸ trÞ.  
b) Có ph¸p:  
tªn biÕn = input (‘promt’)  
tªn biÕn = input (‘promt’, ‘s’)  
c) Gi¶i thÝch:  
tªn biÕn, lµ n¬i lu gi¸ trÞ ngËp vµo.  
23  
‘promt’: chuçi ký tù muèn nhËp vµo.  
‘s’: cho biÕt gi¸ trÞ nhËp vµo lµ nhiÒu ký tù.  
5. LÖnh IF …ELSEIF …ELSE  
a) C«ng dông:  
Thùc hiÖn lÖnh khi tháa ®iÒu kiÖn.  
b) Có ph¸p:  
if biÓu thøc luËn lý 1  
thùc hiÖn c«ng viÖc 1;  
elseif biÓu thøc luËn lý 2  
thùc hiÖn c«ng viÖc 2;  
else  
thùc hiÖn c«ng viÖc 3;  
end  
c) Gi¶i thÝch:  
Khi biÓu thøc luËn ký 1 ®óng th× thùc hiÖn c«ng viÖc 1 t¬ng tù cho biÓu thøc luËn lý 2.  
NÕu c¶ hai biÓu thøc sai th× thùc hiÖn c«ng viÖc sau lÖnh else.  
BiÓu thøc luËn lý lµ c¸c phÐp so s¸nh ==, <, >, <=, >=  
c«ng viÖc chÝnh lµ c¸c lÖnh cÇn thi hµnh, cã thÓ cã nhiÒu lÖnh, kÕt thóc lÖnh ph¶i cã dÊu ;  
6. LÖnh MENU  
a) C«ng dông:  
T¹o menu ®Ó chän chøc n¨ng.  
b) Có ph¸p:  
tªn biÕn = menu (‘Tªn menu’,‘chøc n¨ng1’,‘chøc n¨ng2’, …. , ‘chøc n¨ng n’)  
c) Gi¶i thÝch:  
tªn menu: lµ tiªu ®Ò cña menu.  
tªn biÕn: lµ n¬i cÊt gi¸ trÞ nhËn ®îc sau khi chän chøc n¨ng cña menu.  
Chøc n¨ng 1, 2, ….,n:khi chän chøc n¨ng nµo th× tªn biÕn cã gi¸ trÞ lµ sè thø tù cña chøc  
n¨ng ®ã.  
7. LÖnh PAUSE  
a) C«ng dông:  
Dõng ch¬ng tr×nh theo ý muèn.  
b) Có ph¸p:  
pause on  
pause off  
pause (n)  
c) Gi¶i thÝch:  
24  
pause on: dõng ch¬ng tr×nh, vµ chê nhÊn 1 phÝm bÊt kú (trõ c¸c phÝm ®iÒu khiÓn) ch¬ng  
tr×nh thùc hiÖn tiÕp.  
pause off: t¾t chøc n¨ng pause.  
pause (n): dõng ch¬ng tr×nh t¹i n gi©y.  
d) VÝ dô:  
for n = 1 : 3;  
disp(‘Press any key to continue…’)  
pause  
end  
Press any key to continue…  
Press any key to continue…  
Press any key to continue…  
8. LÖnh WHILE  
a) C«ng dông:  
Dïng ®Ó thùc hiÖn 1 c«ng viÖc cÇn lÆp ®i lÆp l¹i theo mét quy luËt, víi sè bíc lÆp kh«ng  
x¸c ®Þnh, phô thuéc vµo biÓu thøc luËn lý.  
b) Có ph¸p:  
while biÓu thøc luËn lý  
thùc hiÖn c«ng viÖc;  
end  
c) Gi¶i thÝch:  
BiÓu thøc luËn lý lµ c¸c phÐp so s¸nh = =, <, >, <=, >=  
C«ng viÖc chÝnh lµ c¸c lÖnh cÇn thi hµnh, cã thÓ cã nhiÒu lÖnh, kÕt thóc lÖnh ph¶i cã dÊu ;  
Khi thùc hiÖn xong c«ng viÖc th× quay lªn kiÓm tra l¹i biÓu thøc luËn lý, nÕu vÉn cßn  
®óng th× tiÕp tôc thùc hiÖn, nÕu sai th× kÕt thóc.  
V. TËP LÖNH Xö Lý CHUçI  
1. LÖnh ABS  
a) C«ng dông:  
T¹o vector ®¬n cã gi¸ trÞ cña mçi phÇn tö lµ sè thø tù t¬ng øng víi ký tù trong b¶ng m¶  
ASCII.  
LÊy trÞ tuyÖt ®èi cña mét sè ©m.  
b) Có ph¸p:  
n = ABS(s)  
x = ABS(a)  
c) Gi¶i thÝch:  
n: tªn vector.  
s: chuçi ký tù, hoÆc lµ tªn biÕn chøa chuçi ký tù.  
25  
a: sè ©m, hoÆc lµ tªn biÕn chøa sè ©m.  
x: trÞ tuyÖt ®èi cña a.  
2. LÖnh BLANKS  
a) C«ng dông:  
T¹o kho¶ng tr¾ng gi÷a hai hay nhiÒu chuçi ký tù theo mong muèn.  
b) Có ph¸p:  
[S1 BLANKS(b1) S2 BLANKS(b2) …BLANKS(bn) Sn]  
c) Gi¶i thÝch:  
S1, S2, …Sn: c¸c chuçi ký tù.  
b1, b2: sè kho¶ng tr¾ng.  
3. LÖnh DEC2HEX  
a) C«ng dông:  
§æi con sè cña hÖ 10 sang hÖ 16.  
b) Có ph¸p:  
s = dec2hex(n)  
c) Gi¶i thÝch:  
s: biÕn chøa chuçi ký sè cña hÖ 16  
n: con sè nguyªn hÖ 10.  
4. LÖnh HEX2DEC  
a) C«ng dông:  
§æi chuçi ký sè cña hÖ 16 sang con sè cña hÖ 10.  
b) Có ph¸p:  
n = hex2dec(‘s’)  
c) Gi¶i thÝch:  
n: con sè cña hÖ 10.  
s: chuçi ký sè hÖ 16.  
5. LÖnh INT2STR  
a) C«ng dông:  
ChuyÓn sè nguyªn sang d¹ng chuçi.  
ChuyÓn c¸c ký tù trong mét chuçi sang sè thø tù t¬ng øng trong b¶ng m· ASCII.  
b) Có ph¸p:  
kq = INT  
c) Gi¶i thÝch:  
kq: biÕn STR(n)chøa kÕt qu¶.  
n: tªn biÕn cÇn chuyÓn.  
NÕu n lµ sè nguyªn th× kq lµ chuçi ký sè.  
NÕu n lµ chuçi ký tù th× kq lµ sè t¬ng øng trong b¶ng m· ASCII  
26  
6. LÖnh ISSTR  
a) C«ng dông:  
KiÓm tra néi dung biÕn cã ph¶i lµ chuçi ký tù kh«ng.  
b) Có ph¸p:  
kq = isstr(n)  
c) Gi¶i thÝch:  
kq: biÕn chøa kÕt qu¶.  
n: tªn biÕn cÇn kiÓm tra.  
kq = 1 nÕu n lµ chuçi ký tù.  
0 nÕu n kh«ng lµ chuçi ký tù.  
7. LÖnh LOWER  
a) C«ng dông:  
Cho ra chuçi ký tù viÕt thêng.  
b) Có ph¸p:  
b = lower(s)  
c) Gi¶i thÝch:  
b: biÕn chøa kÕt qu¶.  
s: tªn biÕn chøa chuçi ký tù hay chuçi ký tù.  
8. LÖnh NUM2STR  
a) C«ng dông:  
ChuyÔn sè thùc sang d¹ng chuçi.  
ChuyÓn c¸c ký tù trong mét chuçi sang sè thø tù t¬ng øng trong b¶ng m· ASCII.  
b) Có ph¸p:  
kq = num2tr(n)  
c) Gi¶i thÝch:  
kq: biÕn chøa kÕt qu¶.  
n: tªn biÕn cÇn chuyÓn.  
NÕu n lµ sè thùc th× kq lµ sè t¬ng øng trong b¶ng m· ASCII.  
9. LÖnh SETSTR  
a) C«ng dông:  
Cho ra ký tù t¬ng øng víi sè thø tù trong b¶ng m· ASCII.  
b) Có ph¸p:  
x = Set Str(n)  
c) Gi¶i thÝch:  
x: biÕn chøa ký tù t¬ng øng (thuéc b¶ng m· ASCII).  
n: sè nguyªn (0 n 255).  
27  
10. LÖnh STR2MAT  
a) C«ng dông:  
T¹o ma trËn cã c¸c phÇn tö d¹ng chuçi.  
b) Có ph¸p:  
s = str2mat(‘s1’, ‘s2’, …)  
c) Gi¶i thÝch:  
s: tªn ma trËn kÕt qu¶.  
s1, s2: chuçi ký tù.  
11. LÖnh STR2NUM  
a) C«ng dông:  
ChuyÓn chuçi (d¹ng sè) sang sè thùc.  
b) Có ph¸p:  
n = str2num(s)  
c) Gi¶i thÝch:  
s: chuçi d¹ng sè.  
n: sè thùc.  
12. LÖnh STRCMP  
a) C«ng dông:  
So s¸nh 2 chuçi ký tù.  
b) Có ph¸p:  
l = strcmp(s1, s2)  
c) Gi¶i thÝch:  
l: biÕn chøa kÕt qu¶.  
s1, s2: chuçi cÇn so s¸nh.  
13. LÖnh UPPER  
a) C«ng dông:  
Cho ra chuçi viÕt hoa.  
b) Có ph¸p:  
b = upper  
c) Gi¶i thÝch:  
b: biÕn chøa kÕt qu¶.  
s: tªn biÕn chøa chuçi ký tù.  
28  
VI. C¸C HμM TO¸N HäC C¬ B¶N  
1. Mét sè hµm lîng gi¸c:  
a) Có ph¸p:  
kq = hlg(x)  
b) Gi¶i thÝch:  
kq: tªn biÕn chøa kÕt qu¶.  
x: ®¬n vÞ radian.  
hlg: tªn hµm lîng gi¸c.  
Tªn hµm lîng  
gi¸c  
Gi¶i thÝch  
sin  
TÝnh gi¸ trÞ sine  
cos  
tan  
TÝnh gi¸ trÞ cosine  
TÝnh gi¸ trÞ tangent  
asin  
atan  
sinh  
cosh  
tanh  
NghÞch ®¶o cña sine  
NghÞch ®¶o cña tangent  
TÝnh gi¸ trÞ hyperbolic sine  
TÝnh gi¸ trÞ hyperbolic cosine  
TÝnh gÝa trÞ hyperbolic tangent  
2. LÖnh ANGLE  
a) C«ng dông:  
TÝnh gãc pha cña sè phøc.  
b) Có ph¸p:  
p = angle(z)  
c) Gi¶i thÝch:  
p: tªn biÕn chøa kÕt qu¶, ®¬n vÞ radians  
z: sè phøc  
3. LÖnh CEIL  
a) C«ng dông:  
Lµm trßn sè vÒ phÝa sè nguyªn lín h¬n.  
b) Có ph¸p:  
y = ceil(x)  
c) Gi¶i thÝch:  
y: sè sau khi ®îc lµm trßn.  
x: sè cÇn ®îc lµm trßn.  
29  

Tải về để xem bản đầy đủ

pdf 91 trang yennguyen 12/07/2025 350
Bạn đang xem 30 trang mẫu của tài liệu "Tiểu luận Matlab Simulink", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdftieu_luan_matlab_simulink.pdf