Tiểu luận Matlab Simulink
TIỂU LUẬN
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 nh−ng
kh¶ n¨ng xö lý l¹i rÊt m¹nh nªn nã ®−îc dïng nh− lµ 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 nh− c¸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 nh− c¸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 nh− h×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æ th− mô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 th− mô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µ th− tù −u tiªn cña dÊu ngoÆc vÉn nh− b×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 l−u 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 th− mô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
T− liÖ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 th− mô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 nh− ch÷ 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 vµ 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è d− cñ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ö (:) nh− sau (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 nh− vector 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)vµ 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 l−u ý 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 nh− nhau
>> M*matran
ans =
4
4
6
6
8
8
NÕu nh− trong 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 vµ 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 vµ 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 nh− cÊ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 nh− c¸c vector , ma trËn th«ng
th−¬ng nh− c¸c Array nhiÒu chiÒu , chØ cÇn l−u ý 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 nh− sau :
>> 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Ó th−c 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ü s− c¸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µ ch−a 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 th− môc lµm viÖc.
b) Có ph¸p:
12
cd
cd diretory
cd ..
c) Gi¶i thÝch:
cd: cho biÕt th− nôc hiÖn hµnh.
diretory: ®−êng dÉn ®Õn th− môc muèn lµm viÖc.
cd .. chuyÓn ®Õn th− mô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:
L−u 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µ th− môc.
b) Có ph¸p:
dir
dir name
c) Gi¶i thÝch:
dir: liÖt kª c¸c tËp tin vµ th− môc cã trong th− môc hiÖn hµnh.
dir name: ®−êng dÉn ®Õn th− mô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 nh− khi 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 nh−ng kh«ng ®ñ ®Ó chøa c¸c biÕn lín míi.
LÖnh pack sÏ thùc hiÖn:
+ l−u 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 th− môc hiÖn hµnh.
dirname: tªn th− mô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 nh−ng 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 th− mô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 l−u 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 đủ
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:
tieu_luan_matlab_simulink.pdf