You are on page 1of 80

Gi¸o tr×nh Matlab vµ øng dông

PhÇn 1 - C¬ së Matlab
Ch­¬ng 1 – Kh¸i niÖm chung

1.1- Giíi thiÖu


MATLAB lµ 1 phÇn mÒm øng dông ch¹y trong m«i tr­êng Windows do h·ng
MathWorks s¶n xuÊt vµ cung cÊp. Cã thÓ coi Matlab lµ ng«n ng÷ cña kü thuËt. Nã tÝch
hîp c¸c c«ng cô rÊt m¹nh phôc vô tÝnh to¸n, lËp tr×nh, thiÕt kÕ, m« pháng,... trong mét
m«i tr­êng rÊt dÔ sö dông trong ®ã c¸c bµi to¸n vµ c¸c lêi gi¶i ®­îc biÓu diÔn theo c¸c ký
hiÖu to¸n häc quen thuéc.
C¸c øng dông ®iÓn h×nh lµ: - To¸n häc vµ tÝnh to¸n.
- Ph¸t triÓn thuËt to¸n.
- T¹o m« h×nh, m« pháng vµ t¹o giao thøc.
- Kh¶o s¸t, ph©n tÝch sè liÖu.
- §å ho¹ khoa häc kü thuËt.
- Ph¸t triÓn øng dông, gåm c¶ x©y dùng giao diÖn ng­êi dïng ®å ho¹ GUI.
Matlab lµ mét hÖ thèng t­¬ng t¸c mµ phÇn tö d÷ liÖu c¬ b¶n lµ mét m¶ng (array)
kh«ng cÇn khai b¸o kÝch th­íc. §iÒu nµy cho phÐp b¹n gi¶i nhiÒu bµi to¸n tÝnh to¸n kü
thuËt ®Æc biÖt lµ c¸c bµi to¸n liªn quan ®Õn ma trËn vµ vÐc t¬.
Matlab lµ viÕt t¾t cña hai tõ tiÕng Anh Matrix Laboratory (Phßng thÝ nghiÖm ma
trËn). Ban ®Çu Matlab ®­îc viÕt chØ ®Ó phôc vô cho viÖc tÝnh to¸n ma trËn. Tr¶i qua thêi
gian dµi, nã ®· ®­îc ph¸t triÓn thµnh mét c«ng cô h÷u Ých, mét ng«n ng÷ cña kü thuËt.
Trong m«i tr­êng ®¹i häc, nã lµ mét c«ng cô chuÈn cho c¸c kho¸ häc më ®Çu vµ cao cÊp
vÒ to¸n häc, khoa häc vµ kü thuËt. Trong c«ng nghiÖp, nã lµ c«ng cô ®­îc lùa chän cho
viÖc ph©n tÝch, ph¸t triÓn vµ nghiªn cøu hiÖu suÊt cao.
Matlab cung cÊp mét hä c¸c gi¶i ph¸p theo h­íng chuyªn dông ho¸ ®­îc gäi lµ c¸c
Toolbox (hép c«ng cô). C¸c toolbox cho phÐp ng­êi sö dông häc vµ ¸p dông c¸c kü thuËt
chuyªn dông cho mét lÜnh vùc nµo ®ã. Toolbox lµ mét tËp hîp toµn diÖn c¸c hµm cña
Matlab (M-file) cho phÐp më réng m«i tr­êng Matlab ®Ó gi¶i c¸c líp bµi to¸n cô thÓ. C¸c
lÜnh vùc trong ®ã cã s½n c¸c toolbox bao gåm: Xö lý tÝn hiÖu, hÖ thèng ®iÒu khiÓn, logic
mê, m« pháng,...
HÖ thèng Matlab gåm cã 5 phÇn chÝnh:

1
Gi¸o tr×nh Matlab vµ øng dông

- Ng«n ng÷ Matlab: lµ mét ng«n ng÷ ma trËn/ m¶ng cÊp cao víi c¸c c©u lÖnh, hµm,
cÊu tróc d÷ liÖu, vµo/ ra, c¸c tÝnh n¨ng lËp tr×nh h­íng ®èi t­îng. Nã cho phÐp lËp tr×nh
c¸c øng dông tõ nhá ®Õn c¸c øng dông lín vµ phøc t¹p.
- M«i tr­êng lµm viÖc Matlab: §©y lµ mét bé c¸c c«ng cô vµ ph­¬ng tiÖn mµ b¹n sö
dông víi t­ c¸ch lµ ng­êi dïng hoÆc ng­êi lËp tr×nh Matlab. Nã bao gåm c¸c ph­¬ng tiÖn
cho viÖc qu¶n lý c¸c biÕn trong kh«ng gian lµm viÖc Workspace còng nh­ xuÊt nhËp khÈu
d÷ liÖu. Nã còng bao gåm c¸c c«ng cô ph¸t triÓn, qu¶n lý, gì rèi vµ ®Þnh h×nh M-file, øng
dông cña Matlab.
- Xö lý ®å ho¹: §©y lµ hÖ thèng ®å ho¹ cña Matlab. Nã bao gåm c¸c lÖnh cao cÊp
cho trùc quan ho¸ d÷ liÖu hai chiÒu vµ ba chiÒu, xö lý ¶nh, ¶nh ®éng,... Nã còng cung cÊp
c¸c lÖnh cÊp thÊp cho phÐp b¹n tuú biÕn giao diÖn ®å ho¹ còng nh­ x©y dùng mét giao
diÖn ®å ho¹ hoµn chØnh cho øng dông Matlab cña m×nh.
- Th­ viÖn to¸n häc Matlab: §©y lµ tËp hîp khæng lå c¸c thuËt to¸n tÝnh to¸n tõ c¸c
hµm c¬ b¶n nh­ céng, sin, cos, sè häc phøc,... tíi c¸c hµm phøc t¹p h¬n nh­ nghÞch ®¶o
ma trËn, t×m trÞ riªng cña ma trËn, phÐp biÕn ®æi Fourier nhanh.
- Giao diÖn ch­¬ng tr×nh øng dông Matlab API (Application Program Interface):
§©y lµ mét th­ viÖn cho phÐp b¹n viÕt c¸c ch­¬ng tr×nh C vµ Fortran t­¬ng thÝch víi
Matlab.
Simulink, mét ch­¬ng tr×nh ®i kÌm víi Matlab, lµ mét hÖ thèng t­¬ng t¸c víi viÖc
m« pháng c¸c hÖ thèng ®éng häc phi tuyÕn. Nã lµ mét ch­¬ng tr×nh ®å ho¹ sö dông chuét
®Ó thao t¸c cho phÐp m« h×nh ho¸ mét hÖ thèng b»ng c¸ch vÏ mét s¬ ®å khèi trªn mµn
h×nh. Nã cã thÓ lµm viÖc víi c¸c hÖ thèng tuyÕn tÝnh, phi tuyÕn, hÖ thèng liªn tôc theo
thêi gian, hÖ gi¸n ®o¹n theo thêi gian, hÖ ®a biÕn,...

1.2- Cµi ®Æt ch­¬ng tr×nh:

1.2.1- Khëi ®éng windows.


Matlab lµ mét phÇn mÒm ch¹y trong m«i tr­êng Windows nªn qui tr×nh cµi ®Æt
Matlab còng t­¬ng tù nh­ viÖc cµi ®Æt c¸c ch­¬ng tr×nh phÇn mÒm kh¸c trong Windows,
chØ cÇn lµm theo c¸c h­íng dÉn cña ch­¬ng tr×nh cµi ®Æt.

1.2.2- TiÕn hµnh cµi ®Æt


- §­a ®Üa CD vµo æ ®Üa (nÕu cµi tõ ®Üa CD-ROM)

2
Gi¸o tr×nh Matlab vµ øng dông

Do ch­¬ng tr×nh ®­îc cÊu h×nh theo chÕ ®é Autorun (tù ch¹y) nªn khi ®­a ®Üa CD
vµo æ ®Üa th× tr×nh Setup tù ®éng ®­îc kÝch ho¹t. Tr­êng hîp chÕ ®é Autorun kh«ng ®­îc
kÝch ho¹t (do tËp tin Autorun bÞ lçi), dïng. HoÆc ta cã thÓ kÝch chuét vµo nót Start trªn
thanh t¸c vô (Task bar) cña windows, chän lÖnh run, gâ vµo ®­êng dÉn cña file, nhÊn
Enter hoÆc kÝch vµo nót lÖnh Run. Sau ®ã lµm theo c¸c h­íng dÉn cña tr×nh cµi ®Æt cña
Windows.
- Tr­êng hîp cµi ®Æt Matlab tõ ®Üa cøng:

H×nh 1. Cµi ®Æt Matlab trong Windows vµ mµn h×nh Welcome


Tr­êng hîp nµy yªu cÇu ph¶i cã s½n bé cµi ®Æt trong ®Üa cøng. Khi ®ã, ta sö dông
Windows Explorer h©y My Computer ®Ó duyÖt æ cøng, t×m ®Õn th­ môc (folder) cµi ®Æt
råi kÝch ®óp chuét vµo file (tËp tin) Setup.exe. Sau ®ã lµm theo c¸c h­íng dÉn cña tr×nh
cµi ®Æt cña Windows.
Sau khi file setup.exe ®­îc kÝch ho¹t, cöa sæ Welcom to MATLAB Setup hiÖn lªn
trong gi©y l¸t. KÝch vµo nót lÖnh Next ®Ó chuyÓn sang cöa sæ cµi ®Æt kÕ tiÕp.

H×nh 1.2. Cöa sæ Software License Agreement vµ cöa sæ th«ng tin vÒ kh¸ch hµng

3
Gi¸o tr×nh Matlab vµ øng dông

1.2.3- NhËp th«ng tin cña ng­êi dïng vµ Personal License Password.
Cöa sæ thø hai thÓ hiÖn c¸c th«ng tin vÒ b¶n quyÒn cña ch­¬ng tr×nh. KÝch Yes ®Ó
sang cöa sæ cµi ®Æt kÕ tiÕp. Trong cöa sæ th«ng tin vÒ kh¸ch hµng Customer Information
(h×nh 1.2), nhËp hä tªn vµo khung Name, ®Þa chØ hoÆc tªn c«ng ty vµo khung Company.
NhËp m· kho¸ (Serial Key) cña ch­¬ng tr×nh vµo khung Personal License Password. KÝch
chuét vµo Next ®Ó tiÕp tôc qu¸ tr×nh cµi ®Æt.
1.2.4. Lùa chän c¸c thµnh phÇn sÏ cµi ®Æt:
Trong cöa sæ Select
Matlab Components (h×nh
1.3), bá ®¸nh dÊu nh÷ng
thµnh phÇn kh«ng cÇn thiÕt
trong ch­¬ng tr×nh ®Ó tiÕt
kiÖm dung l­îng ®Üa cøng.
Muèn kiÓm tra dung l­îng
cña ch­¬ng tr×nh, kÝch vµo
Disk Space ®Ó quan s¸t.
Muèn thay ®æi th­
môc cµi ®Æt Matlab, kÝch
chuét vµo nót Browse vµ t¹o H×nh 1.3. Lùa chän c¸c thµnh phÇn cña Matlab sÏ ®­îc cµi ®Æt
®­êng dÉn tíi ®Þa chØ cÇn
®Æt th­ môc Matlab. Th­
môc mÆc ®Þnh lµ
C:\MATLABR11.
§Ó tiÕp tôc kÝch
Next, mµn h×nh hiÖn khung
th«ng tin Setup vµ tr×nh
setup b¾t ®Çu copy c¸c tËp
tin vµo th­ môc cµi ®Æt.

1.2.5- Hoµn thµnh


cµi ®Æt
Sau khi hoµn thµnh H×nh 1.4. Qu¸ tr×nh copy file cña ch­¬ng tr×nh vµo th­
môc cµi ®Æt

4
Gi¸o tr×nh Matlab vµ øng dông

qu¸ tr×nh Copy c¸c file cña ch­¬ng tr×nh vµo th­ môc cµi ®Æt, mµn h×nh hiÖn khung tho¹i
Setup Complete. Bá ®¸nh dÊu ë « “Yes, launch the Help Desk to view the Release Note”
nÕu kh«ng muèn tr×nh setup khëi ®éng Help Desk (phÇn trî gióp). Bá ®¸nh dÊu ë « “Yes,
launch Matlab” nÕu ch­a muèn khëi ®éng Matlab ngay. KÝch Finish ®Ó kÕt thóc qóa tr×nh
cµi ®Æt.
Sau khi kÕt thóc cµi ®Æt cöa sæ kÕ tiÕp lµ Internet Explorer (nÕu kh«ng bá ®¸nh dÊu ë
« “Yes, launch the Help Desk to view the Release Note”). KÝch Close ®Ó trë vÒ cöa
sæ nÒn Desktop cña windows, biÓu t­îng cña Matlab sÏ ®­îc tù ®éng ®­a ra Desktop cña
windows.

1.3- M«i tr­êng lµm viÖc cña Matlab


Matlab võa lµ mét ng«n ng÷ võa lµ mét m«i tr­êng lµm viÖc. Lµ mét m«i tr­ênglµm
viÖc, Matlab bao gåm c¸c ph­¬ng tiÖn ®Ó qu¶n lý c¸c biÕn trong kh«ng gian lµm viÖc
(Workspace) cña b¹n vµ ®Ó xuÊt nhËp d÷ liÖu. Matlab còng bao gåm c¸c c«ng cô ®Ó ph¸t
triÓn vµ qu¶n lý M-file, c¸c øng dông cña Matlab.

1.3.1- Khëi ®éng vµ tho¸t khái Matlab


1.3.1.1- Khëi ®éng MATLAB:
Còng nh­ c¸c ch­¬ng tr×nh øng dông kh¸c ch¹y trªn nÒn Windows, cã rÊt nhiÒu
c¸ch ®Ó khëi ®éng Matlab.
KÝch ®óp chuét vµo biÓu t­îng Matlab5.3 trªn mµn h×nh Desktop cña Windows:
hoÆc kÝch chuét theo tr×nh tù nh­ sau:
Start/ Programs/ Matlab/ Matlab 5.3
Sau khi khëi ®éng xong cöa sæ Matlab Command Window hiÖn ra nh­ h×nh 1.4.
Còng nh­ c¸c ch­¬ng tr×nh ch¹y trong m«i tr­êng Windows kh¸c Matlab còng cã
nh÷ng thµnh phÇn giao diÖn cña ch­¬ng tr×nh.
 Dßng trªn cïng lµ thanh tiªu ®Ò gåm:
+ TËn tr¸i lµ biÓu t­îng ch­¬ng tr×nh. Khi kÝch vµo biÓu t­îng nµy Matlab hiÖn
menu xæ chøa c¸c lÖnh liªn quan tíi viÖc xö lý khung cöa sæ ch­¬ng tr×nh còng nh­ tho¸t
khái ch­¬ng tr×nh.
+ KÕ tiÕp biÓu t­îng lµ tªn ch­¬ng tr×nh cïng víi cöa sæ ch­¬ng tr×nh. TËn cïng lµ
ba biÓu t­îng cã chøc n¨ng phong to, thu nhá vµ tho¸t khái ch­¬ng tr×nh.

5
Gi¸o tr×nh Matlab vµ øng dông

 Dßng thø hai lµ thanh menu (Menu bar – thanh thùc ®¬n) cña ch­¬ng tr×nh gåm
c¸c menu chÝnh chøa c¸c lÖnh liªn quan ®Õn viÖc t¹o, xö lý, g¸n thuéc tÝnh,... cho
c¸c ®èi t­îng, thiÕt lËp cÊu h×nh phÇn mÒm,...
 Dßng thø ba lµ thanh c«ng cô (Tool bar – thanh c«ng cô) chøa biÓu t­îng ®­êng
t¾t (Shortcut) cña c¸c lÖnh th­êng sö dông, gióp ng­êi sö dông truy cËp nhanh vµo
c¸c lÖnh cña Matlab.
 PhÇn chiÕm gÇn chän mµn h×nh lµ cöa sæ lÖnh, lµ n¬i nhËp c¸c lÖnh vµ hiÓn thÞ kÕt
qu¶ còng nh­ c¸c th«ng tin kh¸c.
 Cuèi cïng lµ thanh t¸c vô hay thanh tr¹ng th¸i (status bar) hiÖn th«ng tin vÒ t×nh
tr¹ng ®ang xö lý, thùc hiÖn ®èi víi ®èi t­îng.

H×nh 1.4. Cöa sæ Command Windows cña Matlab


1.3.1.2- Tho¸t khái MATLAB:
Trong Windows, cã rÊt nhiÒu c¸ch ®Ó tho¸t khái mét ch­¬ng tr×nh øng dông, ®Ó
tho¸t khëi Matlab ta cã thÓ sö dông mét trong nh÷ng c¸ch sau:
Tõ cöa sæ lÖnh Matlab Command Window ®¸nh lÖnh quit hoÆc kÝch biÓu t­îng
close n»m ngay gãc ph¶i trªn thanh tiªu ®Ò Matlab. HoÆc kÝch chuét theo ®­êng dÉn
sau:
File / Exit MATLAB
HoÆc nhÊn tæ hîp phÝm : Ctrl + Q.

6
Gi¸o tr×nh Matlab vµ øng dông

1.3.2- Cöa sæ lÖnh cña Matlab (Matlab Command Window)


Cöa sæ lÖnh lµ cöa sæ chÝnh trong ®ã ng­êi sö dông giao tiÕp víi Matlab. Tr×nh dÞch
cña Matlab hiÓn thÞ mét dÊu nh¾c >> ®Ó biÓu thÞ r»ng nã ®· s½n sµng nhËn vµ thùc hiÖn
lÖnh cña b¹n. VÝ dô, khi muèn nhËp dßng lÖnh g¸n biÕn x=5, ta gâ nh­ sau:
>>x=5 
Sau khi nhÊn phÝm enter (), Matlab ®¸p øng nh­ sau:
>>x=5
x=
5
1.3.2.1- HiÖu chØnh, söa ®æi dßng lÖnh
C¸c phÝm mòi tªn, c¸c phÝm ®iÒu khiÓn trªn bµn phÝm cho phÐp gäi l¹i, söa ®æi vµ
t¸i sö dông c¸c lÖnh ®· gâ vµo tr­íc ®ã. VÝ dô, gi¶ sö ta gâ vµo dßng lÖnh:
>>a=(1+sqt(5))/2 %sqrt(x) lµ hµm tÝnh gi¸ trÞ c¨n bËc hai cña x
Do ta gâ thiÕu ch÷ r trong có ph¸p cña hµm sqrt nªn Matlab b¸o lçi nh­ sau:
Undefined function or variable ‘sqt’ cã nghÜa lµ hµm hoÆc biÕn ‘sqt’ kh«ng ®­îc
®Þnh nghÜa. Thay v× gâ l¹i c¶ dßng lÖnh, ®¬n gi¶n lµ ta nhÊn phÝm , c©u lÖnh bÞ sai ë
trªn sÏ ®­îc hiÓn thÞ l¹i. Sö dông phÝm  (hoÆc dïng chuét) ®Ó di chuyÓn con trá ®Õn vÞ
trÝ gi÷a ch÷ q vµ ch÷ t råi chÌn vµo ch÷ r sau ®ã nhÊn enter, kÕt qu¶ lµ:
>>a=(1+sqrt(5))/2 
a=
1.6180
Ta cã thÓ sö dông phÝm nhiÒu lÇn ®Ó t×m c¸c lÖnh ®· gâ tr­íc ®ã. Còng cã thÓ gäi
nhanh l¹i mét c©u lÖnh ®· thùc hiÖn tr­íc ®ã b»ng c¸ch gâ ký tù ®Çu cña dßng lÖnh råi
nhÊn . VÝ dô, ®Ó gäi l¹i chÝnh x¸c lÖnh ë trªn nh­ sau:
>>a 
1.3.2.2- Xo¸ cöa sæ lÖnh
Sö dông lªnh clc ®Ó xo¸ cöa sæ lÖnh (xo¸ mµn h×nh). LÖnh nµy kh«ng xo¸ néi dung
trong kh«ng gian lµm viÖc Workspace, mµ chØ xo¸ mµn h×nh. Sau khi sö dông clc ta cã thÓ
sö dông phÝm  ®Ó gäi l¹i lÖnh cò.

7
Gi¸o tr×nh Matlab vµ øng dông

1.3.2.3- Dõng mét ch­¬ng tr×nh ®ang ch¹y


VÒ nguyªn t¾c cã thÓ dõng mét ch­¬ng tr×nh ®ang ch¹y trong Matlab t¹i bÊt kú thêi
®iÓm nµo b»ng c¸ch nhÊn tæ hîp phÝm Ctrl + C. Tuy nhiªn, ta vÉn cã thÓ ph¶i ®îi cho ®Õn
khi mét hµm ®ang thùc thi bªn trong hoÆc MEX-file kÕt thóc ho¹t ®éng cña nã.
1.3.2.4- §Þnh d¹ng sè
C¸c phÐp tÝnh trong Matlab ®­îc thùc hiÖn víi ®é chÝnh x¸c rÊt cao. Ta cã thÓ ®Þnh
d¹ng cho c¸c sè xuÊt ra mµn h×nh tuú theo ý muèn b»ng c¸ch sö dông lÖnh format. LÖnh
nµy chØ ¶nh h­ëng ®Õn viÖc hiÓn thÞ cña c¸c sè mµ kh«ng ¶nh h­ëng ®Õn viÖc tÝnh to¸n vµ
l­u gi÷ cña Matlab nghÜa lµ kh«ng ¶nh h­ëng ®Õn ®é chÝnh x¸c cña phÐp tÝnh.
Ta lÊy vÝ dô víi sè 4/3: t¹i cöa sæ lÖnh gâ vµo dßng lÖnh >>4/3
 format short ( ®©y lµ chÕ ®é mÆc ®Þnh ):
a = 1.3333
 format short e
a = 1.3333e + 000
 format long
a = 1.33333333333333
 format long e
a = 1.33333333333333e + 000
 format bank
a = 1.33
 format hex
a = 3ff5555555555555
 format rat
a=4/3
§Ó thay ®æi chÕ ®é ®Þnh d¹ng mÆc ®Þnh ta cã thÓ Preferences tõ menu File, chän
®Þnh d¹ng sè mong muèn tõ thÎ (tap) General.
Ngoµi c¸c ®Þnh d¹ng sè ë trªn, cßn cã hai ®Þnh d¹ng ®Ó bá ®i hoÆc thªm vµo c¸c
dßng tr¾ng gi÷a c¸c kÕt qu¶ cña lÖnh hoÆc gi÷a c¸c dßng lÖnh:
 format compact
lÖnh nµy xo¸ bá c¸c dßng tr¾ng lµm cho ta cã thÓ quan s¸t ®­îc nhiÒu th«ng tin h¬n
trªn mµn h×nh hoÆc cöa sæ.
 format loose sÏ thªm vµo c¸c dßng tr¾ng.

8
Gi¸o tr×nh Matlab vµ øng dông

1.3.2.5- Ng¨n kh«ng cho hiÓn thÞ kÕt qu¶ tÝnh to¸n ra mµn h×nh
NÕu b¹n chØ ®¬n gi¶n lµ gâ vµo mét c©u lÖnh (phÐp tÝnh) vµ nhÊn , Matlab sÏ tù
®éng hiÓn thÞ kÕt qu¶ cña c©u lÖnh (phÐp tÝnh) ®ã ra mµn h×nh. Tuy nhiªn nÕu b¹n kÕt
thóc dßng lÖnh víi mét dÊu (;) th× Matlab sÏ thùc hiÖn viÖc tÝnh to¸n nh­ng kh«ng hiÓn
thÞ kÕt qu¶ ra mµn h×nh. §iÒu nµy ®Æc biÖt cã Ých khi thùc hiÖn tÝnh to¸n víi c¸c vÐc t¬
hoÆc Matlab trËn cã sè phÇn tõ rÊt lín.
1.3.2.6- Dßng lÖnh dµi
NÕu mét c©u lÖnh qu¸ dµi, kh«ng võa trªn mét dßng, ta sö dông mét to¸n tö ba chÊm
(…) sau ®ã nhÊn  ®Ó biÓu thÞ r»ng c©u lÖnh cßn tiÕp tôc ë dßng kÕ tiÕp. VÝ dô:
s = 1 – 1/2 + 1/3 – 1/4 + 1/5 – 1/6 + 1/7 ...
– 1/8 + 1/9 – 1/10 + 1/11 – 1/12;
Sè ký tù tèi ®a cho phÐp trªn mét dßng lµ 4096 ký tù. C¸c kho¶ng tr¾ng (dÊu c¸ch)
xung quanh c¸c dÊu =, +, -, *, /,… lµ tuú ý (kh«ng nhÊt thiÕt ph¶i cã) nh­ng chóng gióp ta
dÔ ®äc h¬n.

1.3.3- Kh«ng gian lµm viÖc cña Matlab (Matlab Workspace)


Kh«ng gian lµm viÖc cña Matlab chøa mét tËp c¸c biÕn (c¸c m¶ng ®­îc ®Æt tªn) mµ
b¹n cã thÓ thao t¸c tõ dßng lÖnh cña Matlab. Cã thÓ sö dông lÖnh who vµ whos ®Ó xem
néi dung cña workspace. LÖnh who cho mét danh s¸ch tãm t¾t c¸c biÕn cßn lÖnh whos
cho biÕt c¸c th«ng tin c¶ vÒ kÝch th­íc vµ kiÓu d÷ liÖu. Sau ®©y lµ vÝ dô vÒ lÖnh whos trªn
mét workspace chøa 8 biÕn thuéc c¸c kiÓu d÷ liÖu kh¸c nhau:
whos
Name Size Bytes Class
A 4x4 128 double array
D 3x5 120 double array
M 10x1 40 cell array
S 1x3 628 struct array
h 1x11 22 char array
n 1x1 8 double array
s 1x5 10 char array
v 1x14 28 char array
Grand total is 93 elements using 984 bytes
§Ó xo¸ tÊt c¶ c¸c biÕn ®ang tån t¹i trong Workspace, gâ >>clear 

9
Gi¸o tr×nh Matlab vµ øng dông

Matlab cã c¸c lÖnh cho phÐp ng­êi sö dông l­u néi dung cña Workspace ë bÊt kú
thêi ®iÓm nµo trong phiªn lµm viÖc vµ sau ®ã cã thÓ n¹p d÷ liÖu trë l¹i Matlab trong phiªn
lµm viÖc ®ã hoÆc phiªn lµm viÖc sau ®ã. L­u vµ n¹p d÷ liÖu còng cã thÓ xuÊt nhËp c¸c file
d÷ liÖu kiÓu text.
1.3.3.1- L­u kh«ng gian lµm viÖc (Saving the Workspace)
§Ó l­u Workspace, chän lÖnh Save Workspace as tõ menu File hoÆc gâ lÖnh trùc
tiÕp tõ cöa sæ lÖnh. LÖnh l­u d÷ liÖu sÏ l­u néi dung cña Workspace thµnh mét file nhÞ
ph©n cã phÇn më réng lµ .mat. VÝ dô:
>>save data
l­u toµn bé néi dung Workspace vµo file data.mat. NÕu muèn cã thÓ chØ l­u mét sè
biÕn nhÊt ®Þnh b»ng c¸ch ®­a thªm tªn c¸c biÕn vµo sau tªn file:
>>save data x, y, z
chØ l­u c¸c biÕn x, y, z vµo file data.mat.
1.3.3.2- N¹p kh«ng gian lµm viÖc (Loading the Workspace)
LÖnh n¹p sÏ n¹p mét MAT-file ®· ®­îc t¹o ra tr­íc ®ã b»ng lÖnh save. VÝ dô:
>>load data
n¹p néi dung file data.mat vµo kh«ng gian lµm viÖc. NÕu file data.mat chø© c¸c biÕn
a, b, c th× c¸c biÕn nµy sÏ ®­îc ®­a trë l¹ vµo Workspace. NÕu c¸c biÕn nµy ®· tån t¹i
trong Workspace th× chóng sÏ bÞ ghi ®Ì.
Trong Windows, n¹p l¹i Workspace cã thÓ thùc hiÖn b»ng c¸ch chän lÖnh Load
Workspace tõ menu File.

10
Gi¸o tr×nh Matlab vµ øng dông

Ch­¬ng 2 - C¸c menu cña MATLAB

2.1- Menu File


KÝch chuét vµo File hoÆc nhÊn tæ hîp phÝm Alt-
F, xuÊt hiÖn menu xæ chøa c¸c lÖnh liªn quan ®Õn
viÖc t¹o míi, qu¶n lý, g¸n thuéc tÝnh cho ®èi t­îng
(c¸c tËp tin - file) ®· cã s¾n, thiÕt lËp cÊu h×nh phÇn
mÒm....
2.1.1- New (h×nh 2.1): HiÖn menu chøa ba lÖnh
®Ó t¹o ®èi t­îng míi. §èi t­îng ë ®©y cã thÓ lµ mét
script, mét cöa sæ ®å ho¹ hay mét m« h×nh m«
pháng hÖ thèng.
 M-file: HiÖn cöa sæ Editor/ Debugger
(h×nh 1.6). §©y lµ m«i tr­êng b¹n t¹o míi
còng nh­ söa ®æi, gì rèi c¸c tËp tin ch­¬ng H×nh 2.1. Menu File vµ menu con cña
lÖnh New
tr×nh nh­ M-file hoÆc MEX-file hoÆc c¸c ®èi
t­îng nµo ®ã ®Ó thùc hiÖn mét nhiÖn vô nµo ®ã. §Ó cã thÓ t¹o ®­îc c¸c tËp tin nµy,
b¹n ph¶i dïng ng«n ng÷ lËp tr×nh C hoÆc FORTRAN.
 Figure (h×nh 2.2): §©y lµ m«i tr­êng ®å ho¹ ®Ó b¹n tù vÏ c¸c ®èi t­îng hoÆc ®Ó
Matlab vÏ c¸c ®å thÞ theo hµm lÖnh b¹n nhËp tõ khung cöa sæ lÖnh cña MATLAB
hoÆc më ®å thÞ cò víi lÖnh Open cña Matlab.

H×nh 2.2. Cöa sæ MATLAB Editor/Debuger H×nh 2.3. Cöa sæ ®å ho¹ cña MATLAB

11
Gi¸o tr×nh Matlab vµ øng dông

 Model (h×nh 2.4): Gäi tr×nh Simulink (më cöa sæ th­ viÖn khèi Simulink) phôc vô
cho viÖc thiÕt kÕ m« h×nh m« pháng hÖ thèng.

H×nh 2.6. Cöa sæ Simulink vµ cöa sæ th­ viÖn Simulink

2.1.2- Open (h×nh 2.5): Më tËp tin ®å thÞ hoÆc h×nh ¶nh trong cöa sæ Figure ®Ó xö lý.
 Trong cöa sæ Matlab Command
windows kÝch: File/Open. XuÊt hiÖn
khung tho¹i Open.
 Tõ khung tho¹i, gâ ®Þa chØ cña file vµo
« file name, nhÊn open hoÆc kÝch chän
tªn tËp tin cïng kiÓu tËp tin (file type)
muèn më vµ kÝch Open.
H×nh 2.7. Cöa sæ Open files
2.1.3- Open Selection:
Cã chøc n¨ng më nh÷ng ®èi t­îng ®· chän riªng vµ l­u thµnh mét tËp tin riªng.
2.1.4- Run Script :
Ch¹y mét ch­¬ng tr×nh ®· l­u thµnh mét tËp tin.

12
Gi¸o tr×nh Matlab vµ øng dông

 Trong cöa sæ Matlab Command window kÝch: File/Run Script. Trªn mµn h×nh

H×nh 2.9. Khung tho¹i Run Script vµ hép tho¹i Browse


xuÊt hiÖn khung tho¹i Run Script (h×nh 2.9).
 Go ®Þa chØ vµ tªn tËp tin vµo trong khung nhËp lÖnh Run råi kÝch OK. §Ó t×m kiÕm
c¸c tËp tin ®· l­u trong m¸y, kÝch vµo nót ®Ó duyÖt.
 Tõ khung tho¹i Browse chän nguån chøa vµ tªn tËp tin cÇn më råi kÝch vµo Open
®Ó vÒ khung tho¹i Run Script víi toµn bé ®­êng dÉn cïng tªn tËp tin muèn më.
KÝch OK.
2.1.5- Load Workspace:
T¶i (load) tËp tin *.mat vµo bé nhí cña
ch­¬ng tr×nh (®­îc gäi lµ Workspace).
 Trong cöa sæ Matlab Command
Windows kÝch: File/Load Workspace.
Mµn h×nh xuÊt hiÖn khung tho¹i Load
.mat file.
H×nh 2.10. Hép tho¹i Load .mat file
 Tõ khung tho¹i, kÝch chän tªn tËp tin vµ
kÝch Open.
B¹n cã thÓ dïng lÖnh Load Workspace ®Ó du nhËp c¸c tËp tin tõ nh÷ng nguån
chøa kh¸c nhau b»ng c¸ch còng trong khung tho¹i Load .mat file, kÝch vµo mòi tªn cña
Look in ®Ó t×m nguån chøa, chän tËp tin muèn
du nhËp.
Ghi chó: §Ó cã thÓ du nhËp c¸c tËp tin
kh¸c vµo MTALAB, ®iÒu b¾t buéc lµ c¸c tËp tin
®ã ph¶i ®­îc so¹n theo hÖ m· ASCII.
2.1.6- Save Workspace as :

H×nh 2.11. Hép tho¹i Save Workspace as.


13
Gi¸o tr×nh Matlab vµ øng dông

L­u c¸c néi dung trong cöa sæ lÖnh cña MATLAB theo Workspace.
 NhËp c¸c lÖnh trong cöa sæ lÖnh cña MATLAB nh­ b×nh th­êng.
 Tõ menu File, chän Save Workspace as. Mµn h×nh hiÖn khung tho¹i Save
Workspace as (h×nh 2.11).
 Tõ khung tho¹i, ®¸nh tªn tËp tin muèn l­u (nÕu cÇn thiÕt chän nguån chøa víi Save
in). KÝch Save. Nªn nhí lµ tËp tin nµy
®­îc l­u theo d¹ng *.mat vµ còng lµ tËp
tin ch­¬ng tr×nh gèc.

2.1.7- Show Workspace :


HiÖn néi dung cña tËp tin Workspace lªn
mµn h×nh b»ng c¸ch tõ menu File, chän Save
H×nh 2.12. Cöa sæ Workspace Browser
Workspace. Trong cöa sæ Save Workspace sÏ
hiÖn néi dung cña tËp tin Workspace ®· ghi.
2.1.8- Show graphics proprty editor (h×nh 2.13):
HiÖn cöa sæ thay ®æi thuéc tÝnh mÆc ®Þnh
cña h×nh ¶nh ®Ó ¸p dông cho tÊt c¶ c¸c h×nh ¶nh
sÏ ®­îc thiÕt kÕ sau nµy hoÆc chØ riªng theo tõng
nhiÖm vô.
 Tõ cöa sæ lÖnh MATLAB kÝch :
File/Show Graphics Property Editor.
Mµn h×nh xuÊt hiÖn cöa sæ Show
Graphics Property Editor.
 Chän thuéc tÝnh cÇn thay ®æi vµ kÝch
Close. ThÝ dô, thay ®æi thuéc tÝnh Echo tõ
H×nh 2.13. Cöa sæ Graphics Property Editor
mÆc ®Þnh lµ on thµnh off
2.1.9- Show GUI Layout Tool (h×nh 2.14):
HiÓn thÞ danh môc c¸c c«ng cô phôc vô cho viÖc thiÕt kÕ giao diÖn ng­êi dïng ®å
ho¹ GUI (Graphical User Interface) trong cöa sæ Guide Control Panel. Tõ cöa sæ nµy, b¹n
cã thÓ thªm c¸c biÓu t­îng c«ng cô tù t¹o míi, g¸n biÓu t­îng biÓu t­îng c«ng cô vµo ®èi
t­îng ®Ó thùc hiÖn nhanh b»ng c¸ch kÝch chän biÓu t­îng trong khung biÓu t­îng Guide
Tool ®Ó hiÖn th«ng tin vµ tõ ®©y g¸n nh·n còng nh­ c¸c thuéc tÝnh kh¸c cho c«ng cô võa
chän vµ kÝch Apply.

14
Gi¸o tr×nh Matlab vµ øng dông

H×nh 2.14. Cöa sæ Guide Control Panel vµ Guide Menu Editor


2.1.10- Set Path:
G¸n tËp tin vµo th­ môc bÊt kú trong MATLAB.
 Tõ menu File chän Set Path. Mµn h×nh hiÖn cöa sæ Path Browser. Cöa sæ nµy liÖt
kª c¸c danh s¸ch c¸c ®­êng dÉn th­ môc n»m trong khung cöa bªn tr¸i vµ danh
s¸ch tªn tËp tin n»m bªn ph¶i.
 Chän tªn ®­êng dÉn th­ môc trong khung cöa sæ Path vµ chän tªn tËp tin muèn
thay ®æi vÞ trÝ chøa trong khung cöa sæ hoÆc ®¸nh trùc tiÕp vµo khung nhËp lÖnh
Current Directory.
 Tõ menu File cña cöa sæ Path Browser, chän Save ®Ó l­u nh÷ng thay ®æi.
2.1.11- Preferenes:
HiÖn khung tho¹i víi 3
tuú chän ®Ó ng­êi sö dông cã
thÓ thay ®æi tham sè cho phï
hîp nhiÖm vô.
 General: HiÖn khung
tho¹i ngay khi kÝch
chän lÖnh Preferences
tõ menu File cña
H×nh 2.15. Cöa sæ Path Browser
khung cöa sæ lÖnh
MATLAB. KÝch chän
c¸c lo¹i tham sè muèn
H×nh 2.16. Cöa sæ Preferences, thÎ General
thay ®æi hoÆc g¸n thªm

15
Gi¸o tr×nh Matlab vµ øng dông

vµ kÝch OK.
 Command Windows Font: HiÖn khung danh môc font cïng thuéc tÝnh ®Ó ng­êi
sö dông thay ®æi font mÆc ®Þnh thµnh font quen thuéc.
 Copy Options : HiÖn khung th«ng tin ®Ó ng­êi sö dông tuú chän ®Þnh d¹ng ®èi
t­îng muèn sao chÐp.

H×nh 2.17. T¸p Command Windows Font vµ thÎ Copy Options cña cöa sæ Preferences

2.1.12- Print Setup :


HiÖn khung tho¹i Print cïng c¸c
chøc n¨ng phô liªn quan ®Õn viÖc in Ên
(h×nh 2.18).

2.1.13- Exit MATLAB ( Ctrl + Q ):


Tho¸t khái ch­¬ng tr×nh
MATLAB ®Ó vµ trë vÒ Windows

2.2- Menu Edits:


H×nh 2.18. Cöa sæ Print setup
HiÖn menu con chøa c¸c lÖnh
liªn quan ®Õn viÖc xö lý c¸c ®èi t­îng (h×nh 2.19).

2.2.1- Undo: Huû lÖnh hoÆc thao t¸c ®· thùc hiÖn tr­íc ®ã. Sau
khi chän lÖnh Undo ®Ó huû lÖnh, lÖnh sÏ ®æi thµnh Redo ®Ó ng­êi sö
dông kh«i phôc nh÷ng g× ®· huû tr­íc ®ã víi lÖnh Undo.
H×nh 2.19. Menu Edit
16
Gi¸o tr×nh Matlab vµ øng dông

2.2.2- Cut (Ctrl +X):


Xo¸ t¹m thêi ®èi t­îng trong khung cöa sæ lÖnh hiÖn hµnh vµ ®­a vµo bé nhí ®Öm
cña ch­¬ng tr×nh, sau ®ã cã thÓ d¸n ®èi t­îng trë l¹i vµo vÞ trÝ ®­îc chän. §èi t­îng ®­îc
c¾t cã thÓ lµ mét c«ng thøc, mét chuçi ký tù, hµm lÖnh…
 Chän ®èi t­îng muèn c¾t trong khung cöa sæ lÖnh MATLAB vµ Ên Ctrl + X hoÆc
chän Cut tõ menu Edit. §èi t­îng sÏ t¹m biÕn mÊt t¹i vÞ trÝ hiÖn hµnh.
 Chän vÞ trÝ cÇn d¸n råi nhÊn Ctrl + V hoÆc Paste. §èi t­îng sÏ ®­îc d¸n vµo vÞ
trÝ ®· chän.

2.2.3- Copy (Ctrl + C):


Sao chÐp ®èi t­îng trong khung cöa sæ lÖnh MATLAB vµ sau ®ã d¸n vµo vÞ trÝ ®·
chän. §èi t­îng ®­îc Copy cã thÓ lµ mét c«ng thøc, mét chuçi ký tù, hµm lÖnh…
 Chän ®èi t­îng cÇn Copy t¹i cöa sæ lÖnh MATLAB vµ sau ®ã Ên Ctrl + C hoÆc
Copy.
 Chän vÞ trÝ cÇn copy ®Õn vµ Ên Ctrl + V hoÆc chän Paste tõ menu Edit.

2.2.4- Paste (Ctrl + V):


Deleted: ,
D¸n ®èi t­îng ®· ®­îc Cut hoÆc Copy vµo vÞ trÝ ®· chän. Ngoµi ra, b¹n cßn cã thÓ
dïng lÖnh Paste cña MATLAB ®Ó d¸n c¸c ®èi t­îng kh¸c vµo MATLAB.
2.2.5- Clear: Xo¸ ®èi t­îng ®· ®­îc chän trong khung cöa sæ MATLAB.
2.2.6- Select All: Chän toµn bé néi dung trong khung cöa sæ lÖnh cña MATLAB.
2.2.7- Clear Session:
Xo¸ toµn bé néi dung cña cöa sæ lÖnh MATLAB sau khi chän víi lÖnh Select All.
LÖnh nµy cho phÐp xo¸ tÊt c¶ c¸c th«ng tin trong bé nhí cña ch­¬ng tr×nh, t­¬ng tù nh­
viÖc ta ®ãng Matlab l¹i sau ®ã khëi ®éng l¹i Matlab.

2.3- Menu View:


§¸nh dÊu chän ®Ó hiÖn hay Èn thanh c«ng cô trong khung cöa sæ lÖnh MATLAB
COMMAND WINDOW.

H×nh 2.20. Menu View


2.4- Menu Window:
HiÖn th«ng tin vÒ sè tËp tin ®ang më trong khung cöa sæ lÖnh MATLAB.

17
Gi¸o tr×nh Matlab vµ øng dông

Ch­¬ng 3 - C¸c kh¸i niÖm c¬ b¶n

3.1-Mét sè phÝm chuyªn dông vµ lÖnh th«ng dông


-  HoÆc Ctrl + p : Gäi l¹i c¸c lÖnh ®· thùc hiÖn tr­íc ®ã.
-  HoÆc Ctrl +n : Gäi l¹i lÖnh võa thùc hiÖn tr­íc ®ã.
-  HoÆc Ctrl + f : chuyÓn con trá sang bªn ph¶i 1 ký tù.
-  hoÆc Ctrl + b: chuyÓn con trá sang tr¸i mét ký tù.
- DÊu “;” dïng trong […] ®Ó kÕt thóc mét hµng cña ma trËn hoÆc kÕt thóc mét
biÓu thøc hoÆc c©u lÖnh mµ kh«ng hiÓn thÞ kÕt qu¶ ra mµ h×nh.
-  nh¶y xuèng dßng d­íi
- Ctrl + A hoÆc Home : chuyÓn con trá vÒ ®Çu dßng.
- Ctrl + E hoÆc End: ChuyÓn con trá ®Õn cuèi dßng.
- BackSpace: Xo¸ ký tù bªn tr¸i con trá.
- Esc: xo¸ dßng lÖnh.
- Ctrl + K : Xo¸ tõ vÞ trÝ con trá ®Õn cuèi dßng.
- Ctrl + C : Dõng ch­¬ng tr×nh ®ang thùc hiÖn.
- Clc : lÖnh xo¸ mµn h×nh.
- Clf: LÖnh xo¸ mµn h×nh ®å ho¹.
- Input: lÖnh nhËp d÷ liÖu vµo tõ bµn phÝm.
- Demo: lÖnh cho phÐp xem c¸c ch­¬ng tr×nh mÉu.
- Help: lÖnh cho phÐp xem phÇn trî gióp.
- Ctrl – c: Dõng ch­¬ng tr×nh khi nã bÞ r¬i vµo tr¹ng th¸i lÆp kh«ng kÕt thóc.
- Dßng lÖnh dµi: NÕu dßng lÖnh dµi qu¸ th× dïng …  ®Ó chuyÓn xuèng dßng
d­íi.

3.2- BiÕn trong MATLAB


§Æc ®iÓm cña biÕn trong Matlab:
- Kh«ng cÇn khai b¸o biÕn vµ kiÓu cña biÕn. Tuy nhiªn tr­íc khi g¸n mét biÕn thµnh
mét biÕn kh¸c th× cÇn ®¶m b¶o r»ng biÕn ë bªn ph¶i cña phÐp g¸n cã mét gi¸ trÞ x¸c ®Þnh.
- BÊt kú mét phÐp to¸n nµo g¸n mét gi¸ trÞ vµo mét biÕn sÏ t¹o ra biÕn ®ã nÕu cÇn
(biÕn ®ã ch­a x¸c ®Þnh) hoÆc ghi ®Ì lªn gi¸ trÞ hiÖn t¹i nÕu nã ®· tån t¹i trong Workspace.

18
Gi¸o tr×nh Matlab vµ øng dông

- Tªn biÕn bao gåm mét ch÷ c¸i sau mét sè bÊt kú c¸c ch÷ c¸i, ch÷ sè vµ dÊu g¹ch
d­íi. Matlab ph©n biÖt ch÷ in hoa vµ ch÷ in th­êng, v× vËy X vµ x lµ hai biÕn ph©n biÖt.

3.2.1- Tªn biÕn:


Lµ mét d·y ký tù bao gåm c¸c ch÷ c¸i hay c¸c ch÷ sè hoÆc mét sè ký tù ®Æc biÖt
dïng ®Ó chØ tªn cña biÕn hoÆc tªn cña hµm. Chóng ph¶i ®­îc b¾t ®Çu b»ng ch÷ c¸i sau ®ã
cã thÓ lµ c¸c ch÷ sè hoÆc mét vµi ký tù ®Æc biÖt. ChiÒu dµi tèi ®a cña tªn lµ 31 ký tù.
B×nh th­êng Matlab cã sù ph©n biÖt c¸c biÕn t¹o bëi ch÷ c¸i th­êng vµ ch÷ c¸i in
hoa. C¸c lÖnh cña Matlab nãi chung th­êng sö dông ch÷ c¸i th­êng. ViÖc ph©n biÖt ®ã cã
thÓ ®­îc bá qua nÕu chóng ta thùc hiÖn lÖnh : >> casensen off

3.2.2- Mét sè lÖnh víi biÕn:


- clear: lÖnh xo¸ tÊt c¶ c¸c biÕn ®· ®­îc ®Þnh nghÜa tr­íc trong ch­¬ng tr×nh .
- clear biÕn1, biÕn 2... : xo¸ c¸c biÕn ®­îc liÖt kª trong c©u lÖnh.
- Who: hiÓn thÞ c¸c biÕn ®· ®­îc ®Þnh nghÜa trong ch­¬ng tr×nh.
- Whos: hiÓn thÞ c¸c biÕn ®· ®­îc ®Þnh nghÜa trong ch­¬ng tr×nh cïng víi c¸c
th«ng sè vÒ biÕn.
- Size (tªn biÕn ®· ®­îc ®Þnh nghÜa): cho biÐt kÝch cì cña biÕn d­íi d¹ng ma trËn
víi phÇn tö thø nhÊt lµ sè hµng cña ma trËn, phÇn tö thø 2 lµ sè cét cña ma trËn.
- Save: L­u gi÷ c¸c biÕn vµo mét File cã tªn lµ Matlab. mat.
- Load: T¶i c¸c biÕn ®· ®­îc l­u gi÷ trong mét File ®­a vµo vïng lµm viÖc.

3.2.3- Mét sè biÕn ®· ®­îc ®Þnh nghÜa tr­íc:


- ans: Answer - tù ®éng g¸n tªn nµy cho kÕt qu¶ cña mét phÐp tÝnh mµ ta kh«ng
®Æt tªn. VD >> [ 1 2] 
ans =
1 2
- pi  = 3.1415926535897...
- realmax: ®­a ra gi¸ trÞ cña sè lín nhÊt mµ m¸y tÝnh cã thÓ tÝnh to¸n ®­îc.
- realmin: ®­a ra gi¸ trÞ cña sè nhá nhÊt mµ m¸y tÝnh cã thÓ tÝnh to¸n ®­îc.
- i, j: §¬n vÞ ¶o cña sè phøc.
- inf: infinity- v« cïng lín.
- NaN: Not a number – biÓu diÔn d¹ng 0/0, /

19
Gi¸o tr×nh Matlab vµ øng dông

- eps: §é chÝnh x¸c t­¬ng ®èi cña dÊu phÈy ®éng. §©y lµ dung sai Matlab sö
dông trong c¸c tÝnh to¸n cña nã.

3.2.4- BiÕn toµn côc (global variables)


Matlab cho phÐp sö dông cïng mét biÕn cho c¸c hµm hoÆc gi÷a c¸c hµm vµ
ch­¬ng tr×nh chÝnh cña Matlab, ®iÒu nµy ®­îc thùc hiÖn th«ng qua viÖc khai b¸o biÕn
toµn côc:
Global tªn1 tªn2 tªn3 ….
(Tªn c¸c biÕn c¸ch nhau b¾ng dÊu kho¶ng trèng, kh«ng sö dông dÊu phÈy).
ViÖc khai b¸o biÕn toµn côc ph¶i ®­îc thùc hiÖn ë ch­¬ng tr×nh chÝnh hoÆc ë file
lÖnh (script) hoÆc ë file hµm (function) cã sö dông c¸c biÕn. BiÕn toµn côc cã t¸c dông
cho ®Õn khi kÕt thóc qu¸ tr×nh tÝnh to¸n hoÆc khi toµn bé Workspace ®­îc xo¸. Kh«ng
®­îc ®­a tªn biÕn toµn côc vµo danh s¸ch c¸c ®èi sè cña hµm. Khi sö dông biÕn toµn côc
c¸c lÖnh sau tá ra rÊt cÇn thiÕt:
 Clear global : LÖnh nµy cho phÐp lo¹i bá c¸c biÕn toµn côc.
 Isglobal(Tªn biÕn) : LÖnh nµy cho phÐp kiÓm tra xem mét biÕn nµo ®ã cã ph¶i lµ
biÕn toµn côc hay kh«ng. NÕu lµ biÕn toµn côc th× gi¸ trÞ tr¶ vÒ sÏ lµ 1.

3.3- C¸c phÐp to¸n trong matlab

3.3.1- PhÐp to¸n sè häc:


Matlab cã hai kiÓu phÐp to¸n sè häc, ®ã lµ phÐp to¸n ma trËn (matrix arithmetic
operation) vµ phÐp to¸n m¶ng (array arithmetic operation). PhÐp to¸n ma trËn ®­îc ®Þnh
nghÜa bëi c¸c luËt cña ®¹i sè tuyÕn tÝnh. PhÐp to¸n m¶ng ®­îc thùc hiÖn t­¬ng øng tõng
phÇn tö, ch¼ng h¹n phÐp nh©n m¶ng hai ma trËn A cã c¸c phÇn tö lµ a(i,j) vµ B cã c¸c
phÇn tö lµ b(i,j) ®­îc thùc hiÖn b»ng c¸ch nh©n t­¬ng øng tõng phÇn tö cña A vµ B:
c(i,j) = a(i,j)b(i,j)
§Ó ph©n biÖt gi÷a phÐp to¸n ma trËn vµ phÐp to¸n m¶ng ng­êi ta ®­a thªm vµo tr­íc
c¸c to¸n tö mét dÊu chÊm “.”.
PhÐp to¸n ma trËn PhÐp to¸n m¶ng
PhÐp to¸n To¸n tö PhÐp to¸n To¸n tö
Céng + Céng +
Trõ. - Trõ. -

20
Gi¸o tr×nh Matlab vµ øng dông

Nh©n. * Nh©n. .*
Chia ph¶i / Chia ph¶i ./
Chia tr¸i \ Chia tr¸i .\
Luü thõa. ^ Luü thõa. .^
PhÐp g¸n. = PhÐp g¸n. =

3.3.2- Thø tù ­u tiªn trong phÐp to¸n sè häc:


1. ngoÆc ®¬n.
2. luü thõa
3. nh©n, chia.
4. Céng, trõ.

3.3.3- C¸c phÐp to¸n quan hÖ vµ phÐp to¸n logic


3.3.3.1- C¸c phÐp to¸n quan hÖ:
C¸c phÐp to¸n quan hÖ bao gåm:
- Nhá h¬n: <
- Nhá h¬n hoÆc b»ng: <=
- Lín h¬n: >
- Lín h¬n hoÆc b»ng: >=
- B»ng: ==
- Kh«ng b»ng (kh¸c): ~=
BiÓu thøc cã c¸c to¸n tö quan hÖ nhËn gia trÞ ®óng lµ (true) hoÆc sai (false). Trong
Matlab, biÓu thøc ®óng sÏ cã gi¸ trÞ lµ 1, biÓu thøc sai cã gia trÞ lµ 0.
VÝ dô1:
>>12.2>12 >> A=[ 1:3;4:6;7:9] >> A=[ 1:3;4:6;7:9]
ans = A= A=
1 1 2 3 1 2 3
>>1~=1 4 5 6 4 5 6
ans = 7 8 9 7 8 9
0
>> B=[1:3;2:4;10:12] >> A==B
B= ans =

21
Gi¸o tr×nh Matlab vµ øng dông

1 2 3 1 1 1
2 3 4 0 0 0
10 11 12 0 0 0

Deleted: ¶
VÝ dô 2: >>12.2>12¶
ans =¶
Cho mét qu¶ cÇu nÆng cã khèi l­îng lµ 1¶
v >>1~=1¶
ans =¶
m=2kg ®­îc buéc vµo mét sîi d©y cã chiÒu dµi 0¶
>> A=[ 1:3;4:6;7:9]¶
l=1.5m (h×nh 3.5). Mét ng­êi n¾m vµo ®Çu d©y vµ A =¶
1 2 3¶
4 5 6¶
quay trßn qu¶ cÇu theo ph­¬ng th¼ng ®øng.VËn tèc 7 8 9¶

dµi cña qu¶ cÇu ë vÞ trÝ cao nhÊt lµ v =6m/s. lùc kÐo
T trªn sîi d©y thay ®æi theo gãc nghiªng cña d©y 
víi ph­¬ng n»m ngang x¸c ®Þnh theo c«ng thøc sau:
H×nh 3.5. Minh ho¹ vÝ dô 2
mv 2
T= + mg(2 3 sin )
l
Cho biÕt khi lùc kÐo T > 145N th× s¬i d©y bÞ ®øt. H·y x¸c ®Þnh nh÷ng vÞ trÝ d©y bÞ
®øt.
Ch­¬ng tr×nh nh­ sau:
function y = tinhluc(theta,T)
m=2;l=1.5;Tmax=145;v=6;g=9.8;
theta=0:10:360;
rad=pi*theta/180;
T=m*(v^2/l+g*(2-3*sin(rad)));
bang=[theta;T>Tmax]
plot(theta,T);
grid on
>>Tinhluc
bang =
Columns 1 through 12
0 10 20 30 40 50 60 70 80 90 100 110
0 0 0 0 0 0 0 0 0 0 0 0
Columns 13 through 24
120 130 140 150 160 170 180 190 200 210 220 230
0 0 0 0 0 0 0 0 0 0 0 0

22
Gi¸o tr×nh Matlab vµ øng dông

Columns 25 through 36
240 250 260 270 280 290 300 310 320 330 340 350
0 0 1 1 1 0 0 0 0 0 0 0
Column 37
360
0
Deleted: ,
Tõ kÕt qu¶ trªn ta thÊy t¹i c¸c vÞ trÝ øng víi c¸c gãc 2600,, 2700, , 2800, th× biÓu thøc
logic T>Tmax cã gi¸ trÞ lµ 1, tøc t¹i ®ã d©y cã thÓ sÏ bÞ ®øt.
3.3.3.2- C¸c phÐp to¸n logic
C¸c phÐp to¸n logic vµ, hoÆc, ®¶o ®­îc thùc hiÖn bëi c¸c to¸n tö sau:
- PhÐp vµ( and): Ký hiÖu lµ &
VD: phÐp & 2 ma trËn cïng cì A, B lµ mét ma trËn cã c¸c phÇn tö b»ng 1 nÕu c¸c
phÇn tö t­¬ng øng cña c¶ 2 ma trËn ®Çu ®Òu kh¸c 0 vµ b»ng 0 nÕu 1 trong 2 phÇn tö
t­¬ng øng cña 2 ma trËn b»ng 0.
>>A=[1 2 7; 0 4 9;1 3 5]; B=[0 2 4; 2 4 6; 3 0 7]; C=A&B
C=
0 1 1
0 1 1
1 0 1
- PhÐp hoÆc (or) : Ký hiÖulµ |
VD : phÐp or 2 ma trËn cïng cì A,B lµ mét ma trËn cã c¸c phÇn tö b»ng 0 nÕu c¸c
phÇn tö t­¬ng øng cña c¶ 2 ma trËn ®Çu ®Òu b»ng 0 vµ b»ng 1 nÕu 1 trong 2 phÇn tö
t­¬ng øng cña 2 ma trËn kh¸c 0.
>>A=[0 2 7; 0 4 9;1 3 0];
>> B=[0 2 4; 2 4 6; 3 0 0];
>> C=A | B
C=
0 1 1
1 1 1
1 1 0
- PhÐp ®¶o( not): Ký hiÖu lµ ~

23
Gi¸o tr×nh Matlab vµ øng dông

VÝ Dô : phÐp ®¶o cña mét ma trËn lµ mét ma trËn cã cïng cì víi c¸c phÇn tö cã gi¸
trÞ b»ng 1 nÕu c¸c phÇn tö cña ma trËn ®Çu cã gi¸ trÞ b»ng 0 vµ b»ng 0 nÕu c¸c phÇn tö cña
ma trËn ®Çu cã gi¸ trÞ kh¸c 0.
>>A=[0 2 7; 0 4 9;1 3 0]
>> B=~A
B=
1 0 0
1 0 0
0 0 1

3.3.4- C¸c vÝ dô:


 VÝ dô 1: Gi¶i ph­¬ng tr×nh bËc hai ax2 +bx +c = 0
Ta biÕt c¸c nghiÖm cña ph­¬ng tr×nh nµy cã d¹ng:
 b  b 2  4ac
x =
2a
V× Matlab lµ mét ch­¬ng tr×nh tÝnh to¸n sè nªn chóng ta ph¶i x¸c ®Þnh c¸c gi¸ trÞ a,
b, c.
DÊu = ®­îc sö dông ®Ó g¸n gi¸ trÞ cña a, b, c nh­ sau ( gâ phÝm Enter ë cuèi mçi
hµng)
>>a = 2
a=
2
>>b = 5;
>>c = -3; %DÊu “;” ë cuèi dßng th× Matlab sÏ kh«ng hiÓn thÞ l¹i gi¸ trÞ võa nhËp.
>> x1= (-b + sqrt(b^2- 4*a*c))/(2*a)
x1 =
0.5000
>> x2= (-b - sqrt(b^2- 4*a*c))/(2*a)
x2 =
-3
 VÝ dô 2: TÝnh gi¸ trÞ cña ®a thøc.
>> a = x^3 -2*x^2 - 6;
>>b = x^2 + 5*x -7;

24
Gi¸o tr×nh Matlab vµ øng dông

>>x=3;
>> w = a/b
w=
0.1765

3.4- Sè phøc vµ c¸c phÐp to¸n vÒ sè phøc.


Matlab chÊp nhËn sè phøc biÓu thÞ bëi hµm ®Æc biÖt i vµ j, c¶ hai lµ to¸n tö vµ c¸c
hµm.

3.4.1- BiÓu diÔn sè phøc:


Tªn = PhÇn thùc + phÇn ¶o i hoÆc Tªn = PhÇn thùc + phÇn ¶o j
Vidô:
>> a = 3 +4i 

3.4.2- C¸c phÐp to¸n ®èi víi sè phøc:


 Céng, trõ, nh©n sè phøc:
C1= a1+b1i ; C2=a2+b2i
Céng : c1+c2
Trõ : c1 - c2
Nh©n: c1*c2
Chia: c1/c2
 C¸c hµm ®Æc biÖt:
real(x) : t×m phÇn thùc cña sè phøc x.
imag(x): t×m phÇn ¶o cña sè phøc x.
conj(x): t×m sè phøc liªn hîp cña sè phøc x.
abs(x): T×m gi¸ trÞ tuyÖt ®èi cña sè phøc x ( ®é lín )
angle(x): gãc t¹o bëi gi÷a trôc thùc vµ ¶o.
VÝ dô:
>> a =3.0000 + 4.0000i
a=
3.0000 + 4.0000i
>> thuc=real(a);
>> ao=imag(a);

25
Gi¸o tr×nh Matlab vµ øng dông

>> lienhop=conj(a);
>> dolon=abs(a);
>> goc =angle(a);

3.5- Sö dông c¸c file lÖnh (lËp tr×nh M-file)


Nh÷ng lÖnh cña Matlab cã thÓ ®­îc ®­a vµo mét file. Sau ®ã b¹n sÏ h­íng dÉn
Matlab lµm viÖc víi c¸c lÖnh ®ã. B©y giê, víi vÝ dô 1, chóng ta sÏ ®­a toµn bé c¸c lÖnh
trªn vµo mét file lÊy tªn lµ vidu.m. Tªn cña file ph¶i ®­îc b¾t ®Çu b»ng mét ký tù vµ phÇn
më réng lµ .m. C¸c b­íc nh­ sau:
B­íc 1: File / New/ M-file, M«i tr­êng so¹n th¶o Editor / Debugger sÏ xuÊt hiÖn
B­íc 2: Trªn mµn h×nh so¹n th¶o, ta gâ c¸c lÖnh cña Matlab.
a = 2;
b = 5;
c=-3;
x1= (-b + sqrt(b^2- 4*a*c))/(2*a)
x2= (-b - sqrt(b^2- 4*a*c))/(2*a)
B­íc 3: Ghi l¹i néi dung tËp tin víi tªn vidu.m råi tho¸t khái m«i tr­êng so¹n th¶o
®Ó trë vÒ cöa sæ lÖnh (Matlab Command window).
B­íc 4: T¹i cöa sæ lÖnh ta gâ tªn tËp tin.
>>vidu.m 

3.6 - Dßng nh¾c g¸n gi¸ trÞ c¸c biÕn:


§Ó thay ®æi c¸c gi¸ trÞ a,b,c ta
ph¶i so¹n th¶o l¹i file vidu.m råi
ch¹y l¹i. Ta söa l¹i ch­¬ng tr×nh ®Ó
cã dßng nh¾c nhËp a,.b,c víi c¸c lÇn
ch¹y ch­¬ng tr×nh kh¸c nhau.
B­íc 1: File / New/ M-file,
M«i tr­êng so¹n th¶o
Editor/Debugger sÏ xuÊt hiÖn (h×nh
3.1)
B­íc 2: So¹n th¶o nh÷ng H×nh 3.1. Cöa sæ Matlab Editor/Debugger
dßng lÖnh sau trong cöa sæ Matlab Editor/Debugger:

26
Gi¸o tr×nh Matlab vµ øng dông

a=input('nhap a= ');
b=input('nhap b= ');
c=input('nhap c= ');
Deleted:
x1=(-b+sqrt(b^2-
Deleted:
4*a*c))/2*a) Deleted:
Deleted: (
x2=(-b-sqrt(b^2-
Deleted:
4*a*c))/2*a) Deleted: (

B­íc 3: L­u l¹i néi dung tËp tin víi tªn Deleted:

Deleted:
vidu.m
Deleted:
B­íc 4: Quay l¹i cöa sæ Matlab Deleted: (
Deleted:
Command Windows. T¹i cöa sæ lÖnh ta gâ tªn
H×nh 3.2. KÕt qu¶ khi ch¹y tËp tin Vidu Deleted: (
tËp tin.
>>vidu 
nhap vao a= 3
nhap vao b= -4
nhap vao c= 1
x1 =
1
x2 =
0.3333
Hai nghiÖm øng víi c¸c gia trÞ a,b,c
võa nhËp vµo vµ lµ nghiÖm thùc. H×nh 3.3
lµ tr­êng hîp ph­¬ng tr×nh cã nghiÖm ¶o.
VD vÒ Script file: Gi¶i bµi tËp m¹ch:
cho m¹ch ®iÖn nh­ h×nh vÏ
H×nh 3.3. Minh ho¹ tr­êng hîp nghiÖm ¶o
R L C

H·y tÝnh dßng trong m¹ch vµ ®iÖn ¸p trªn tõng phÇn tö .


H·y vµo cöa sæ so¹n th¶o vµ trong cöa sæ nµy ta viÕt ch­¬ng tr×nh nh­ sau:
R=input( 'nhap gia tri cho R = ')

27
Gi¸o tr×nh Matlab vµ øng dông

C=input( 'nhap gia tri cho C = ')


L=input( 'nhap gia tri cho L = ')
U=input( 'nhap gia tri cho U = ')
ZL=2*50*pi*L*i
ZC=1/(2*50*pi*C*i)
Z=R+ZL+ZC
i= U/Z
UR=i*R
UL=i*ZL
UC=i*ZC
Sau khi viÕt xong ch­¬ng tr×nh ta kÝch vµo biÓu t­îng save trong cöa sæ so¹n th¶o vµ tªn
lµ vd1.
Muèn ch¹y ta trë l¹i cöa sæ MATLAB command Window vµ tõ dÊu nh¾c lÖnh:
>> vd1
nhap gia tri cho R = 1000
R= 1000
nhap gia tri cho C = 0.1
C = 0.1000
nhap gia tri cho L = 0.2
L= 0.2000
nhap gia tri cho U = 220
U = 220
ZL = 0 +62.8319i
ZC = 0 - 0.0318i
Z = 1.0000e+003 +6.2800e+001i
i = 0.2191 - 0.0138i
UR = 2.1914e+002 -1.3762e+001i
UL = 0.8647 +13.7687i
UC = -0.0004 - 0.0070i

3.7- C¸ch t¹o mét hµm:


Mçi mét file hµm cña Matlab (M - file) ®Òu ®­îc khai b¸o nh­ sau:
Function [Tªn kÕt qu¶] = tªn hµm (danh s¸ch c¸c biÕn).

28
Gi¸o tr×nh Matlab vµ øng dông

PhÇn th©n cña ch­¬ng tr×nh trong hµm lµ c¸c lÖnh cña Matlab thùc hiÖn viÖc tÝnh
to¸n gi¸ trÞ cña ®¹i l­îng ®­îc nªu trong phÇn tªn kÕt qu¶ theo c¸c biÕn ®­îc nªu tronhg
phÇn danh s¸ch biÕn. C¸c biÕn chØ cã t¸c dông néi trong hµm võa ®­îc khai b¸o. Tªn cña
c¸c biÕn d­îc c¸ch nhau b»nh dÊu phÈy (,).
VÝ dô ta thµnh lËp hµm ®æi tõ ®é sang radian:
function rad = change(do)
rad = do*pi/180; % doi do sang radian
Trong Matlab c¸c dßng ghi chó sau dÊu % kh«ng cã t¸c dông thùc thi, chóng ®¬n
gi¶n lµ nh÷ng dßng nh¾c ®Ó ng­êi ®äc ch­¬ng tr×nh dÔ hiÓu mµ th«i. File.m th­êng lÊy
tªn lµ tªn cña hµm, ta ®Æt tªn file hµm võa lËp lµ change.m. NÕu muèn ®æi 450 sang
radian, chØ cÇn gâ:
>>rad = change(45)
rad =
0.7854
VÝ du: t¹o hµm gi¶i ph­¬ng tr×nh bËc hai, tªn tËp tin ®­îc ®Æt lµ bachai.m.
function [x1,x2] = bachai(a,b,c)
delta = b^2-4*a*c;
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
>>[x1,x2]=bachai1(4,6,-7)
x1 =
0.77707
x2 =
-2.2707

3.8- VÏ c¸c hµm


Khi muèn vÏ mét hµm nµo ®ã, ph¶i
x¸c ®Þnh hµm ®ã trong mét file.m sau ®ã
sö dông lÖnh :
Fplot(‘tªn hµm’,[khoange vÏ])
VÝ dô vÏ hµm y = 4x2+6x-7 trong ®o¹n [-6,
6], ta lËp file bachai1.m.

29
H×nh 3.4. KÕt qu¶ cña lÖnh fplot(‘bachai1’, [-6,6])
Gi¸o tr×nh Matlab vµ øng dông

function y = bachai1(x)
a = 4;b = 6; c = -7;
y =a*x^2 + b*x + c;
>>fplot(‘bachai1’, [-6,6])

3.9- L­u vµ lÊy d÷ liÖu:


Ta cã thÓ cã thÓ t¹o lËp mét file d÷ liÖu, sau ®ã khi cÇn dïng th× lÊy ra. VÝ dô t¹o lËp
mét ma trËn A:
1 1.1 1.2
2 2.1 2.2
3 3.2 3.2
Sau ®ã ta l­u ma trËn vµo mét file cã tªn lµ dulieu1.
>>A = [1 1.1 1.2;2 2.1 2.2;3 3.2 3.2]
A=
1.0000 1.1000 1.2000
2.0000 2.1000 2.2000
3.0000 3.2000 3.2000
>>save dulieu1
Nh­ vËy, ta ®· cã mét file d÷ liÖu (file nµy n»m trong th­ môc work cña Matlab).
Khi cÇn sö dông file d÷ liÖu nµy, ta lÊy nh­ sau:
>>load d­lieu
Sau lÖnh load, ta cã thÓ lÊy d÷ liÖu ®Ó sö dông:
>>A
A=
1.0000 1.1000 1.2000
2.0000 2.1000 2.2000
3.0000 3.2000 3.2000

3.10- CÊu tróc c©u lÖnh ®iÒu kiÖn:


 LÖnh if ®¬n:
Có ph¸p: if <biÓu thøc logic>
Nhãm lÖnh;
end

30
Gi¸o tr×nh Matlab vµ øng dông

NÕu biÓu thøc logic ®óng nhãm lÖnh sÏ ®­îc thùc hiÖn. NÕu biÓu thøc logic sai th×
ch­¬ng tr×nh chuyÓn ®Õn lÖnh sau end.
VD:
function y=f(a,b,c)
if a<b
disp(' hinh thang nguoc')
end
y=(a+b)*c/2;
Sau ®ã ghi (save) vµo file cã tªn lµ ht.m
Quay l¹i cöa sæ MatLab command Window, gâ vµo dßng lÖnh sau:
>> ht(2,4,2)
hinh thang nguoc
ans =
6
 CÊu tróc lÖnh if lång nhau:
Có ph¸p: if <biÓu thøc logic1>
Nhãm lÖnh 1;
if <biÓu thøc logic 2>
Nhãm lÖnh 2;
end
Nhãm lÖnh 3;
end
Nhãm lÖnh 4;
NÕu biÓu thøc logic 1 ®óng th×
- Thùc hiÖn nhãm lÖnh 1.
- KiÓm tra biÓu thøc logic 2.
- NÕu ®óng thùc hiÖn nhãm lÖnh 2
- NÕu sai bá qua nhãm lÖnh 2
- Thùc hiÖn nhãm lÖnh 3.
NÕu biÓu thøc logic 1 sai th×
- Thùc hiÖn nhãm lÖnh 4.
 LÖnh else:

31
Gi¸o tr×nh Matlab vµ øng dông

Có ph¸p: if <biÓu thøc logic>


Nhãm lÖnh A;
else
Nhãm lÖnh B;
end
Nhãm lÖnh A sÏ ®­îc thùc hiÖn nÕu biÓu thøc logic ®óng. NÕu kh«ng nhãm lÖnh B
sÏ ®­îc thùc hiÖn.
 LÖnh elseif
Có ph¸p: if <biÓu thøc logic1 >
Nhãm lÖnh A;
elseif < BT logic 2>
Nhãm lÖnh B;
elseif < BT logic 3>
Nhãm lÖnh C;
......
end
NÕu BT logic 1 ®óng nhãm lÖnh A sÏ ®­îc thùc hiÖn. NÕu sai kiÓm tra Btlogic 2,
nÕu ®óng thùc hiÖn nhãm lÖnh B. NÕu sai kiÓm tra BT logic3,nÕu ®óng thùc hiÖn nhãm
lÖnh C…NÕu kh«ng cã biÓu thøc logic nµo ®óng th× kh«ng cã lÖnh nµo trong cÊu tróc trªn
®­îc thùc hiÖn.
 KÕt hîp cÊu tróc elseif vµ else
Có ph¸p: if <biÓu thøc logic1>
Nhãm lÖnh A;
elseif < BT logic 2>
Nhãm lÖnh B;
elseif < BT logic 3>
Nhãm lÖnh C;
......
else < BT logic n>
Nhãm lÖnh n;
end

32
Gi¸o tr×nh Matlab vµ øng dông

NÕu BT logic 1 ®óng nhãm lÖnh A sÏ ®­îc thùc hiÖn. NÕu sai kiÓm tra Btlogic 2,
nÕu ®óng thùc hiÖn nhãm lÖnh B. NÕu sai kiÓm tra BT logic3, nÕu ®óng thùc hiÖn nhãm
lÖnh C…NÕu kh«ng cã biÓu thøc logic nµo ®óng th× nhãm lÖnh n ®­îc thùc hiÖn.
a=input(' vao a=')
b=input(' vao b=')
c=input(' vao c=')
d=b^2-4*a*c
if d < 0
disp(' pt vo nghiem')
elseif d==0
disp (' pt co nghiem kep')
x12=-b/2*a
else
disp (' pt co 2 nghiem phan biet')
x1=(-b+sqrt(d))/2*a
x2=(-b-sqrt(d))/2*a
end
 C©u ®iÒu kiÖn vµ lÖnh Break
Có ph¸p: if< biÓu thøc logic> break
end
tho¸t khái vßng lÆp nÕu ®iÒu kiÖn logic ®óng. Ng­îc l¹i sÏ thùc hiÖn lÖnh tiÕp theo trong
vßng lÆp.

3.11- CÊu tróc vßng lÆp.


 Vßng lÆp for:
có ph¸p: for chØ sè = biÓu thøc
nhãm lÖnh ;
end

VÝ dô 1: TÝnh tæng cña n sè tù nhiªn liªn tiÕp, n vµo tõ bµn phÝm (viÕt trong Script
file):

n=input('vao so tu nhien n=');


s=0;
for i=1:n;
s=s+i;
end

33
Gi¸o tr×nh Matlab vµ øng dông
disp(s)

VÝ dô 2: b­íc tÝnh cña biÕn cã thÓ kh¸c 1:


n=input('vao so tu nhien n=');
s=0;
for i=1:5:n;
s=s+i;
end
disp(s)

 Vßng lÆp for lång nhau:


có ph¸p: for chØ sè 1 = biÓu thøc 1
for chØ sè 2 = biÓu thøc 2
nhãm lÖnh 2
end
nhãm lÖnh 1;
end
VÝ dô:
n=input(' vao n=');
m=input(' vao m=');
for i=1:n;
for j=1:m;
a(i,j)=i+j;
disp([a(i,j)])
end
disp(i)
end
VD3:
n=4
a = zeros(n,n) % T¹o ma trËn kh«ng
for i = 1:n
for j = 1:n
a(i,j) = 1/(i+j –1);
end
end
disp(‘Ket qua =’)
disp(a)

 Vßng lÆp While


Có ph¸p: while < biÓu thøc>
Nhãm lÖnh A;
end
NÕu biÓu thøc ®óng th× thùc hiÖn nhãm lÖnh A. Khi thùc hiÖn xong th× kiÓm tra laÞ
®iÒu kiÖn. NÕu ®iÒu kiÖn vÉn ®óng l¹i thùc hiÖn nhãm lÖnh A. NÕu sai vßng lÆp kÕt thóc.
* C¸c lÖnh break, return, error:

34
Gi¸o tr×nh Matlab vµ øng dông

LÖnh break: kÕt thóc sù thù thi vßng lÆp for hoÆc while
LÖnh return: th­êng ®­îc sö dông trong c¸c hµm cña Matlab. LÖnh return sÏ cho
phÐp quay trë vÒ thùc thi nh÷ng lÖnh n»m trong t¸c dông cña lÖnh return.
LÖnh error (‘dßng nh¾n’): kÕt thóc thùc thi lÖnh vµ hiÓn thÞ dßng nh¾n trªn mµn
h×nh.
VÝ dô:
Chän mét sè d­¬ng bÊt kú. NÕu sè ®ã lµ sè ch½n th× chia hÕt cho hai. NÕu sè ®ã lµ
sè lÎ th× nh©n víi 3 råi céng 1. LÆp l¹i qu¸ tr×nh ®ã cho ®Õn khi kÕt qu¶ lµ 1.
Ch­¬ng tr×nh:
while 1
n=input ('Nhap vao mot so : ');
if n<=0
break
end
while n>1
if rem(n,2)== 0% phan du cua n chia cho 2
n=n/2
else
n= 3*n+1
end
end
Khi ch¹y ch­¬ng tr×nh ta sÏ thÊy t¸c dông cña lÖnh break (dõng ch­¬ng tr×nh khi
nhËp sè ©m hoÆc sè 0)

3.12- Mét sè hµm to¸n häc:


Môc nµy chØ giíi thiÖu mét sè hµm ®¬n gi¶n vµ th­êng gÆp trong khi lËp tr×nh:

Tªn hµm Có ph¸p Gi¶i thÝch


sin sin(x) hµm sin
cos cos(x) hµm cos
tan tan(x) hµm tang
asin asin(x) hµm arcsin
acos acos(x) hµm arccos
atan atan(x) hµm arctang
acos acos(x) hµm arccos
sinh sinh(x) hµm sin hyperbolic

35
Gi¸o tr×nh Matlab vµ øng dông

cosh cosh(x) hµm cos hyperbolic


tanh tanh(x) hµm tang hyperbolic
asinh asinh(x) hµm arcsin hyperbolic
acosh acosh(x) hµm arccos hyperbolic
atanh atanh(x) hµm arctang hyperbolic
abs abs (x) LÊy gi¸ trÞ tuyÖt ®èi hoÆc ®é lín cña sè phøc
round round(x) lµm trßn ®Õn sè nguyªn gÇn nhÊt
fix fix(x) lµm trßn h­íng vÒ kh«ng
floor floor(x) lµm trßn h­íng vÒ - 
ceil ceil(x) lµm trßn h­íng vÒ + 
rem rem(x) phÇn d­ sau khi chia
gcd gcd(x) ­íc sè trung lín nhÊt
lcm lcm(x) béi sè trung nhá nhÊt
exp exp(x) luü thõa e
log log(x) logarit c¬ sè e
log2 log2(x) logarit c¬ sè 2
log10 log10(x) logarit c¬ sè 10

36
Gi¸o tr×nh Matlab vµ øng dông

ch­¬ng 4 - Ma trËn vµ c¸c phÐp to¸n vÒ ma


trËn

4.1- Kh¸i niÖm:


Trong MATLAB d÷ liÖu ®Ó ®­a vµo xö lý d­íi d¹ng ma trËn. Ma trËn lµ mét m¶ng
hai chiÒu mµ c¸c phÇn tö cã thÓ lµ sè thùc hoÆc sè phøc. Th«ng th­êng hai thuËt ng÷ ma
trËn vµ m¶ng ®­îc sö dông thay thÕ cho nhau. ChÝnh x¸c h¬n th× ma trËn lµ mét m¶ng hai
chiÒu h×nh ch÷ nhËt víi c¸c phÇn tõ lµ c¸c sè thùc hoÆc sè phøc. C¸c phÐp to¸n ®¹i sè
tuyÕn tÝnh vÒ ma trËn ®­îc sö dông rÊt réng r·i trong c¸c lÜnh vùc kü thuËt. Trong Matlab,
c¸c phÇn tö cña ma trËn cã thÓ lµ c¸c ch÷ sè còng cã thÓ lµ c¸c ký tù kh«ng sè (symbol -
biÓu t­îng).
- Ma trËn A cã n hµng, m cét ®­îc gäi lµ ma trËn cì (kÝch th­íc) n  m vµ ®­îc ký
hiÖu lµ An  m
- PhÇn tö aij (i = 1n, j = 1m) cña ma trËn An  m lµ phÇn tö n»m ë hµng thø i, cét j.
- Ma trËn ®¬n (sè ®¬n lÎ) lµ ma trËn 1 hµng 1 cét. Nãi c¸ch kh¸c, mçi mét sè v« h­íng
(sè nguyªn, sè thùc hoÆc sè phøc) ®­îc coi lµ mét ma trËn ®¬n cã kÝch th­íc (1x1).
- Mét vÐc t¬ hµng lµ mét ma trËn cã kÝch th­íc (1xm) vµ ®­îc biÓu diÔn nh­ sau:
a11 a12 ... a1m
- Mét vÐc t¬ cét lµ mét ma trËn cã kÝch th­íc (nx1) vµ ®­îc biÓu diÔn nh­ sau:
a11
a21

an1

4.1.1- C¸c qui ®Þnh ®Ó ®Þnh nghÜa mét ma trËn:

- Tªn ma trËn lµ mét chuçi ký tù dµi tèi ®a 31 ký tù. Tªn ph¶i b¾t ®Çu b»ng ch÷ c¸i sau
®ã cã thÓ lµ sè, ch÷ c¸i, mét sè ký tù ®Æc biÖt trõ c¸c ký tù: +, -, *, /, &... Tªn ®Æt bªn
Deleted: ,
tr¸i dÊu b»ng, bªn ph¶i dÊu b»ng lµ c¸c phÇn tö cña ma trËn.
- Bao quanh c¸c phÇn tö cña ma trËn b»ng dÊu ngoÆc vu«ng [aij].
- C¸c phÇn tö trong mét hµng cña ma trËn ®­îc c¸ch nhau bëi ký tù tr¾ng (space) hoÆc
Deleted: ,
dÊu phÈy (,).

37
Gi¸o tr×nh Matlab vµ øng dông

- KÕt thóc mét hµng trong ma trËn bëi dÊu (;). Nãi c¸ch kh¸c dÊu (;) ph©n c¸ch gi÷a c¸c
hµng cña ma trËn

4.1.2- C¸c c¸ch ®Ó nhËp mét ma trËn:


- LiÖt kª trùc tiÕp:
VD: >>A =[1 2 3; 4 5 6 ;
>> B =[1 2 3;
456;
7 8 9]
- NhËp th«ng qua lÖnh input:
>> input('Nhap gia tri cho ma tran C = ') 
Nhap gia tri cho ma tran C = [1 3 4;4 5 7;7 5 8] 
ans =
1 3 4
4 5 7
7 5 8
Chó ý: - Khi kÕt thóc mét c©u lÖnh cã thÓ dïng dÊu (; ) hoÆc kh«ng dïng dÊu (;).
NÕu dïng dÊu (;) c©u lÖnh ®­îc thùc hiÖn nh­ng kÕt qu¶ kh«ng hiÖn ra mµn h×nh. NÕu
kh«ng dïng dÊu ( ; ) c©u lÖnh ®­îc thùc hiÖn vµ kÕt qu¶ ®­îc hiÖn ra mµn h×nh.
- Trong c¶ 2 tr­êng hîp trªn sau khi c©u lÖnh ®­îc thùc hiÖn (sau khi nhÊn enter)
kÕt qu¶ ®Òu ®­îc l­u trong kh«ng gian lµm viÖc Workspace vµ cã thÓ sö dông cho c¸c c©u
lÖnh tiÕp theo.
Vd:
>>a = [1 2 3;3 2 4;4 5 1];
>> b = [1 2 3;4 5 6;7 8 9]
b=
1 2 3
4 5 6
7 8 9
C¶ 2 ma trËn A, B ®Òu ®­îc l­u vµo trong bé nhí vµ cã thÓ ®­îc sö dông cho nh÷ng
c©u lÖnh tiÕp theo.
>> c = a*b
c=

38
Gi¸o tr×nh Matlab vµ øng dông

30 36 42
39 48 57
31 41 51
- C¸c phÇn tö trong ma trËn cã thÓ lµ c¸c sè phøc:
VD: >> a=[1+3i 2+2i;3+i 1+i]
a=
1.0000 + 3.0000i 2.0000 + 2.0000i
3.0000 + 1.0000i 1.0000 + 1.0000i
- C¸c phÇn tö trong ma trËn cã thÓ lµ c¸c ký tù (symbol). Nh­ng tr­íc tiªn ta ph¶i
khai b¸o c¸c phÇn tö b»ng lÖnh syms
VD >> syms sinx cosx a %sinx, cosx, a lµ c¸c biÕn Symbolic
>> b = [ sinx cosx; a cosx]
b=
[ sinx, cosx]
[ a, cosx]
>> c=[a sinx; a a]
c=
[ a, sinx]
[ a, a]

4.1.3- HiÓn thÞ l¹i ma trËn:


- §Ó hiÓn thÞ l¹i ma trËn ta gâ tªn ma trËn sau ®ã enter.
VD >> c
c=
30 36 42
39 48 57
31 41 51
- §Ó hiÓn thÞ néi dung cña ma trËn hoÆc lêi th«ng b¸o (trong dÊu nh¸y ®¬n) ta dïng
lÖnh: disp
VD >> disp (c)
c=
30 36 42
39 48 57

39
Gi¸o tr×nh Matlab vµ øng dông

31 41 51
>> disp('hiÓn thÞ lêi th«ng b¸o nµy')
hiÓn thÞ lêi th«ng b¸o nµy

4.2- Xö lý trong ma trËn:

4.2.1- T¹o vÐct¬:


C«ng thøc tæng qu¸t: BiÕn = giíi h¹n ®Çu : b­íc ch¹y : gíi h¹n cuèi
Giíi h¹n ®Çu, giíi h¹n cuèi, b­íc ch¹y cã thÓ lµ c¸c sè nguyªn hoÆc sè thùc
B­íc ch¹y cã thÓ d­¬ng hoÆc ©m.
VD T¹o 1 vect¬ t ch¹y tõ 0 ®Õn 0.6 víi b­íc ch¹y tiÕn lµ 0.1
>> t=0: 0.1:0.6
t=
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000
VD: T¹o 1 vect¬ t ch¹y tõ 0.6 ®Õn 0 víi b­íc ch¹y lïi lµ 0.1
>>t=0.6:-0.1:0
t=
0.6000 0.5000 0.4000 0.3000 0.2000 0.1000 0
Chó ý : Trong tr­êng hîp giíi h¹n trªn, gíi h¹n d­íi lµ c¸c sè nguyªn vµ b­íc ch¹y
b»ng 1 th× ta kh«ng cÇn ®­a b­íc ch¹y vµo trong biÓu thøc.
VD >> C = 1:5
C=
1 2 3 4 5

4.2.2- Gäi c¸c phÇn tö trong ma trËn.


MATLAB cho phÐp ta xö lý ®Õn tõng phÇn tö cña ma trËn. §Ó truy cËp ®Õn tõng
phÇn tö cña ma trËn ta ph¶i gäi ®­îc chóng th«ng qua chØ sè cña tõng phÇn tö.
Tªn cña ma trËn (ChØ sè hµng, chØ sè cét)
VD:
>> A = [1:3; 4:6; 7:9]
A=
1 2 3
4 5 6

40
Gi¸o tr×nh Matlab vµ øng dông

7 8 9
>> B = A(1,1)
B=
1
>> A(3,3) = A(2,2) + B
A=
1 2 3
4 5 6
7 8 6
Chó ý: Trong tr­êng hîp ta muèn gäi tÊt c¶ c¸c hµng hoÆc tÊt c¶ c¸c cét ta cã thÓ
dïng to¸n tö hai chÊm ( : )
VD: >> A = [1:3; 4:6; 7:9]
A=
1 2 3
4 5 6
7 8 9
>> B = A(2,:)
B=
4 5 6
>>C = A(:,2)
C=
2
5
8

4.2.3- Gäi 1 ma trËn con tõ mét ma trËn lín.


VD:
>> A = [1:3; 4:6; 7:9]
A=
1 2 3
4 5 6
7 8 9
>> B = A ( 2:3,1:2 )

41
Gi¸o tr×nh Matlab vµ øng dông

B=
4 5
7 8
>> c =[a(1,1) a(3,3); a(2,3) a(3,1)]
c=
1 9
6 7

4.3- C¸c ma trËn ®Æc biÖt:

4.3.1- Ma trËn zeros.


TÊt c¶ c¸c phÇn tö trong ma trËn ®Òu b»ng 0.
VD
>> C = zeros (2,3)
C=
0 0 0
0 0 0
>> d = zeros(3)
d=
0 0 0
0 0 0
0 0 0

4.3.2- Ma trËn ones.


TÊt c¶ c¸c phÇn tö trong ma trËn ®Òu b»ng 1
VD
>> C = ones (2,3)
C=
1 1 1
1 1 1
>> d = ones(3)
d=
1 1 1
1 1 1

42
Gi¸o tr×nh Matlab vµ øng dông

1 1 1

4.3.3- Ma trËn ma ph­¬ng Magic


Tæng tÊt c¶ gi¸ trÞ c¸c phÇn tö trªn hµng = Tæng tÊt c¶ gi¸ trÞ c¸c phÇn tö trªn cét =
Tæng tÊt c¶ gi¸ trÞ c¸c phÇn tö trªn ®­êng chÐo cña ma trËn
Vd
>> A = Magic (3)
A=
8 1 6
3 5 7
4 9 2

4.3.4- Ma trËn eye.


TÊt c¶ c¸c phÇn tö trªn ®­êng chÐo cã gi¸ trÞ 1, c¸c phÇn tö kh¸c cã gi¸ trÞ 0.
VD:
>> B = eye (3)
B=
1 0 0
0 1 0
0 0 1

4.3.5- Ma trËn Pascal:


>> pascal(4)
ans =
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20 Deleted: ¶

4.4- C¸c phÐp to¸n vector


PhÐp to¸n C«ng thøc Matlab
Céng, trõ A+B, A-B A+B, A-B
Nh©n m¶ng A.B = C A.*B
Chia tr¸i m¶ng B\A B.\A
Chia ph¶i m¶ng A/B A./B

43
Gi¸o tr×nh Matlab vµ øng dông

Luü thõa m¶ng AB A.^B

4.4.1- C¸c phÇn tö lµ c¸c sè thùc:


>>a=[1 1 2;2 1 1]
a=
1 1 2
2 1 1
>> b=[1 2 2; 1 1 1]
b=
1 2 2
1 1 1
>> c=a.*b
c=
1 2 4
2 1 1
Deleted: ¶
>> d=a./b
d=
1.0000 0.5000 1.0000
2.0000 1.0000 1.0000
>> e=a.\b
e=
1.0000 2.0000 1.0000
0.5000 1.0000 1.0000
>> f=a.^b
f=
1 1 4
2 1 1

4.4.2- C¸c phÇn tö lµ c¸c sè phøc.


>>a=[1+i 2+3i;3-4i 1+3i]
a=
1.0000 + 1.0000i 2.0000 + 3.0000i
3.0000 - 4.0000i 1.0000 + 3.0000i

44
Gi¸o tr×nh Matlab vµ øng dông
Deleted: ¶
>> b=[2+i 2+2i;1-4i 3+3i]
b=
2.0000 + 1.0000i 2.0000 + 2.0000i
1.0000 - 4.0000i 3.0000 + 3.0000i
>> c=a.*b
c=
1.0000 + 3.0000i -2.0000 +10.0000i
-13.0000 -16.0000i -6.0000 +12.0000i

4.4.3- C¸c phÇn tö lµ c¸c tham sè:


>> syms a b c % khai b¸o c¸c phÇn tö lµ c¸c ký tù
>>A=[a b; b c]
A=
[ a, b]
[ b, c]
>> B=A
B=
[ a, b]
[ b, c]
>> C=A.*B
C=
[ a^2, b^2]
[ b^2, c^2]
Deleted: ¶

4.5- C¸c phÐp to¸n vÒ ma trËn

4.5.1- PhÐp chuyÓn vÞ


PhÐp chuyÓn ®æi vÐct¬ hµng thµnh vÐct¬ cét gäi lµ phÐp chuyÓn vÞ. Thùc hiÖn phÐp
chuyÓn vÞ b»ng to¸n tö dÊu nh¸y ®¬n ( ‘ ).
VD:
>> A = [1:3; 4:6; 7:9]
A=
1 2 3
4 5 6

45
Gi¸o tr×nh Matlab vµ øng dông

7 8 9

>> B = A
B=
1 4 7
2 5 8
3 6 9
Ma trËn B ®­îc gäi lµ ma trËn chuyÓn vÞ cña ma trËn A. PhÐp chuyÓn vÞ biÕn ma trËn
hµng (hoÆc vÐc t¬) thµnh ma trËn cét, ma trËn cét thµnh ma trËn hµng (hoÆc vÐc t¬). NÕu
c¶ x vµ y lµ c¸c vÐc t¬ cét c¸c sè thùc, th× tÝch x*y kh«ng ®­îc ®Þnh nghÜa nh­ng hai tÝch
sè x’*y vµ ‘*x th× gièng nh­ tÝch v« h­íng.
§«Ýi víi ma trËn hay vÐc t¬ cã c¸c phÇn tö lµ sè phøc z, ®¹i l­îng z’ biÓu thÞ chuyÓn
vÞ liªn hîp cña z. PhÐp chuyÓn vÞ kh«ng liªn hîp cña sè phøc biÓu thÞ bëi z.’ t­¬ng tù nh­
c¸c phÐp to¸n m¶ng kh¸c. VÝ dô:
>>z = [1+2i 3+4i] 
>>z’ 
ans = 1-2i
3-4i
>>z.’
ans = 1+2i
3+4i
§èi víi c¸c vÐc t¬ phøc, hai tÝch v« h­íng x’*y vµ y’*x lµ liªn hîp phøc cña nhau vµ
tÝch v« h­íng cña mét vÐc t¬ sè phøc víi chÝnh nã x’*x lµ mét sè thùc.

4.5.2- PhÐp nghÞch ®¶o ma trËn


NÕu A lµ mét ma trËn vu«ng vµ kh«ng duy nhÊt, c¸c ph­¬ng tr×nh AX = I vµ XA = I
cã cïng mét lêi gi¶i. Lêi gi¶i nµy ®­îc gäi lµ phÐp nghÞch ®¶o cña A, ®­îc biÓu diÔn bëi
A-1 vµ ®­îc tÝnh to¸n bëi hµm inv.
Có ph¸p: B=inv(A)
Vd:
>> A=[1:2;2:3]  A = 1 2 >> B=inv(A)  B = -3 2 >> A*B ans = 1 0
2 3 2 -1 0 1

46
Gi¸o tr×nh Matlab vµ øng dông

L­u ý trong mét sè tr­êng hîp kÕt qu¶ cña phÐp nghÞch ®¶o cã thÓ kh«ng chÝnh x¸c
do sai sè lµm trßn. NÕu cã c¶nh b¸o (Warning) xuÊt hiÖn ta ph¶i kiÓm tra l¹i b»ng c¸ch
nh©n hai ma trËn tr­íc vµ sau khi thùc hiÖn phÐp nghÞch ®¶o.
NÕu A vu«ng vµ kh«ng duy nhÊt, kh«ng cã sai sè lµm trßn th× X = inv(A)*B vÒ lý
thuyÕt th× gièng nh­ X=A\B vµ Y= B*inv(A) gièng nh­ Y=B/A. Tuy nhiªn, c¸c phÐp to¸n
sö dông c¸c phÐp \ vµ / th­êng ®­îc sö dông h¬n v× chóng ®ßi hái thêi gian tÝnh to¸n, bé
nhí Ýt h¬n vµ cã ®Æc tÝnh x¸c ®Þnh sai sè tèt h¬n.
Deleted: 2

4.5.3- PhÐp céng - trõ ma trËn.( + , - )


PhÐp céng vµ trõ ma trËn ®­îc ®­îc ®Þnh nghÜa nh­ lµ ®èi víi m¶ng, céng hoÆc trõ t­¬ng
øng tõng phÇn tö. Céng vµ trõ yªu cÇu c¶ hai ma trËn ph¶i cã cïng kÝch th­íc hoÆc mét
trong hai ma trËn lµ v« h­íng. NÕu hai ma trËn kh«ng cïng kÝch th­íc, Matlab sÏ b¸o lçi.
Cij = Aij + Bij
Dij = AÞj - Bij
Deleted: ¶
>> A = [1:3; 4:6; 7:9]
A=
1 2 3
4 5 6
7 8 9

>> B = A
B=
1 4 7
2 5 8
3 6 9
>> C = A + B
C=
2 6 10
6 10 14
10 14 18
Deleted: 3

4.5.4- PhÐp nh©n, chia ma trËn:


PhÐp nh©n ma trËn ®­îc ®Þnh nghÜa theo c¸ch mµ ph¶n ¸nh thµnh phÇn cña c¸c phÐp
biÕn ®æi tuyÕn tÝnh c¬ b¶n vµ cho phÐp biÓu diÔn ng¾n gän c¸c hÖ ph­¬ng tr×nh tuyÕn tÝnh

47
Gi¸o tr×nh Matlab vµ øng dông

thuÇn nhÊt. PhÐp nh©n ma trËn C = A*B ®­îc ®Þnh nghÜa khi sè hµng cña A (ma trËn bÞ
nh©n) b»ng sè cét cña ma trËn B (ma trËn nh©n).
C¸c phÇn tö trong ma trËn C ®­îc tÝnh nh­ sau: cij = aikbkj
VD c¸c phÇn tö trong ma trËn lµ c¸c sè thùc.
>> A = [1 2 1; 1 0 1]
A=
1 2 1
1 0 1
>> B = [1 0 2; 2 1 1; 1 1 1]
B=
1 0 2
2 1 1
1 1 1
>> C = A * B
C=
6 3 5
2 1 3
Deleted: ¶
VD c¸c phÇn tö trong ma trËn lµ c¸c sè phøc.
>> a=[1+2i 2+2i;1+3i 2+2i]
a=
1.0000 + 2.0000i 2.0000 + 2.0000i
1.0000 + 3.0000i 2.0000 + 2.0000i
>> b=[1+i 2+i;1+3i 2+i]
b=
1.0000 + 1.0000i 2.0000 + 1.0000i
1.0000 + 3.0000i 2.0000 + 1.0000i
>> c=a*b
c=
-5.0000 +11.0000i 2.0000 +11.0000i
-6.0000 +12.0000i 1.0000 +13.0000i
VD c¸c phÇn tö trong ma trËn lµ c¸c tham sè
>> syms a b c
>>d=[2*a b c; a b c; 0 0 a]

48
Gi¸o tr×nh Matlab vµ øng dông
Deleted: ¶
d=
[ 2*a, b, c]
[ a, b, c]
[ 0, 0, a]
>> e=[a b c; 2*a 2*b^2 c ; a 0 b]
e=
[ a, b, c]
[ 2*a, 2*b^2, c]
[ a, 0, b]
>> f=d*e
f=
[ 2*a^2+2*b*a+c*a, 2*b*a+2*b^3, 2*c*a+2*c*b]
[ a^2+2*b*a+c*a, b*a+2*b^3, c*a+2*c*b]
[ a^2, 0, b*a]
PhÐp chia ma trËn thùc chÊt lµ phÐp nh©n víi ma trËn nghÞch ®¶o.
A 1
C  A*
B B Deleted: LÊy ma trËn nghÞch ®¶o thùc
>> A = [1 2 1; 1 0 1] hiÖn b»ng hµm inv.¶

A=
1 2 1
1 0 1
>> B = [1 0 2; 2 1 1; 1 1 1]
B=
1 0 2
2 1 1
1 1 1
>> C = inv(B)
C=
0 1.0000 -1.000
-0.5000 -0.5000 1.5000
0.500 -0.5000 0.5000
>> D = A*C
D=

49
Gi¸o tr×nh Matlab vµ øng dông

- 0.5000 -0.5000 2.5000


0.5000 0.5000 -0.5000
Chó ý: Trong c¸c phÐp tÝnh trªn nÕu mét trong hai ma trËn lµ v« h­íng (lµ mét sè
thùc hoÆc sè phøc) th× tÊt c¶ c¸c phÇn tö trong ma trËn sÏ ®­îc céng, trõ, nh©n, chia ( / )
víi sè thùc ®ã tuú thuéc vµo phÐp to¸n t­¬ng øng.
>> A = [1 2 1; 1 0 1]
A=
1 2 1
1 0 1
>> B = A*2
B=
2 4 2
2 0 2
Deleted: 4

4.5.5- PhÐp luü thõa vµ sè mò cña ma trËn


vµ p lµ mét sè nguyªn d­¬ng th× A^p nh©n A víi chÝnh nã p lÇn. VÝ dô:
>>A = magic(3); 
>>X = A^3 
X = 1197 1029 1149
1077 1125 1173
1101 1221 1053
NÕu A lµ mét ma trËn vu«ng vµ kh«ng duy nhÊt th× A^(-p) sÏ nh©n inv(A) víi chÝnh
nã p lÇn. VÝ dô:
>>Y = A^(-3) 
Y = 0.0053 -0.0068 0.0018
-0.0034 0.0001 0.0036
-0.0016 0.0070 -0.0051
Trong tr­êng hîp muèn luü thõa tõng phÇn tö th× sö dông phÐp to¸n m¶ng.
>>Z = A.^3 
Z = 512 1 216
27 125 343
64 729 8

50
Gi¸o tr×nh Matlab vµ øng dông

HÖ ph­¬ng tr×nh vi ph©n th­êng tuyÕn tÝnh cã hÖ sè kh«ng ®æi cã thÓ ®­îc
viÕt: dx/dt = Ax trong ®ã x = x(t) lµ mét vÐc t¬ cña c¸c hµm theo t vµ A lµ ma trËn
phô thuéc vµo t. Lêi gi¶i cã thÓ ®­îc biÓu diÔn d­íi thuËt ng÷ sè mò ma trËn:
x(t) = etAx(0)
vµ ®­îc tÝnh to¸n bëi hµm expm(A). VÝ dô:
>> A = pascal(3);
>>x0 = [1;1;1] ;
>>X = [];
>>for t = 0:.01:1 X = [X expm(A*t)*x0]
end
Deleted: 4

4.5.6- PhÐp quay ma trËn


Sö dông lÖnh rot90 ®Ó quay ma trËn ®i 1 gãc 90 ®é theo ng­îc chiÒu kim ®ång hå.
>> a=[1 2 3;4 5 6;7 8 9]
a=
1 2 3
4 5 6
7 8 9
>> b=rot90(a)
b=
3 6 9
2 5 8
1 4 7
LÖnh rot90(A,k) sÏ quay Matlab trËn ®i mét gãc k*90o víi k =  1,  2,…

4.5.7- PhÐp ®¶o ma trËn


§¶o c¸c phÇn tö cña ma trËn tõ tr¸i sang ph¶i b»ng lÖnh fliplr, ®¶o ma trËn tõ trªn
xuèng d­íi dïng lÖnh flipud
>> c=fliplr(b) >>d = flipud(pascal(3))
c= d=
9 6 3 1 3 6
8 5 2 1 2 3
7 4 1 1 1 1

51
Gi¸o tr×nh Matlab vµ øng dông

4.5.8- TÝnh ®Þnh thøc ma trËn


>> A=[2 3 7;4 1 5;1 9 8]
A=
2 3 7
4 1 5
1 9 8
>> det(A)
ans =
90

4.6- øng dông c¸c phÐp to¸n ma trËn

4.6.1- Nh©n ®a thøc


§Ó nh©n hai ®a thøc ta dïng lÖnh conv:
y1 = anxn + an-1xn-1+...+a0
y 2 = bnxn + bn-1xn-1+...+b0
B­íc1: LËp 2 ma trËn hµng tªn y1, y2 cã c¸c phÇn tö lµ c¸c hÖ sè tõ an ®Õn a0 vµ bn
®Õn b0 gi¶m dÇn theo bËc cña ph­¬ng tr×nh ( NÕu hÖ sè nµo kh«ng cã ghi 0 )
B­íc 2: dïng lÖnh conv ®Ó nh©n 2 ®a thøc.
>>y3= conv(y1,y2)
VD: y1 = 2x2 + 3x+1
y2 = 3x2 + 4x
>> y1 = [2 3 1]
>> y2 = [3 4 0]
>> y3 = conv(y1,y2)
>> y3 = 6 17 15 4 0
Chó ý: hµm conv chØ thùc hiÖn nh©n 2 ®a thøc. Muèn nh©n nhiÒu ®a thøc víi nhau ta
ph¶i thùc hiÖn nhiÒu lÇn hµm conv.

4.6.2- Gi¶i ph­¬ng tr×nh bËc cao


Sö dông lÖnh Roots ®Ó gi¶i ph­¬ng tr×nh bËc n:
y = anxn + an-1xn-1+...+a0

52
Gi¸o tr×nh Matlab vµ øng dông

B­íc1: LËp 1 ma trËn hµng cã c¸c phÇn tö lµ c¸c hÖ sè tõ an ®Õn a0 gi¶m dÇn theo
bËc cña ph­¬ng tr×nh ( NÕu hÖ sè nµo kh«ng cã ghi 0 )
B­íc 2: Dïng lÖnh Roots ®Ó gi¶i ma trËn võa t¹o ®­îc.
VD gi¶i ph­¬ng tr×nh sau: y = x5 -2x4 + 5x2 -1
>> y = [ 1 -2 0 5 0 -1]
y=
1 -2 0 5 0 -1
>> kq=roots(y)
kq =
1.5862 + 1.1870i
1.5862 - 1.1870i
-1.1606
-0.4744
0.4627

4.6.3- BiÕt nghiÖm t×m l¹i ph­¬ng tr×nh


Sö dông lÖnh poly. LÊy kÕt qu¶ cña vÝ dô trªn
>>A = [1 –1 2;1 3 4;2 –1 1];
>>poly(A)
ans =
1 -5 8 14

4.6.4- Gi¶i hÖ ph­¬ng tr×nh tuyÕn tÝnh:


Vd: gi¶i hÖ ph­¬ng tr×nh tuyÕn tÝnh sau:
2 x  3 y  z  7

3x  6 y  4 z  19
x  y  z  2

Thùc chÊt hÖ ph­¬ng tr×nh trªn cã thÓ ®­a vÒ phÐp to¸n ma trËn sau:
2 3 1 x 7
3 6  4  y  19
1 1 1 z 2

Nh­ vËy viÖc gi¶i hÖ PT tuyÕn tÝnh thùc chÊt lµ thùc hiÖn phÐp to¸n vÒ ma trËn.

>> A=[2 3 1;3 6 -4;1 1 1]

53
Gi¸o tr×nh Matlab vµ øng dông

A=
2 3 1
3 6 -4
1 1 1
>> B=[7;19;2]
B=
7
19
2
>> C=inv(A)
C=
-2.5000 0.5000 4.5000
1.7500 -0.2500 -2.7500
0.7500 -0.2500 -0.7500
>> kq=C*B
kq =
1.0000
2.0000
-1.0000
VD2:
>>A=[1+i 2i;3+i 1]
A= 1.0000 + 1.0000i 0 + 2.0000i
3.0000 + 1.0000i 1.0000
>> C=inv(A)
C=
0.0882 + 0.1471i 0.2941 - 0.1765i
-0.1176 - 0.5294i -0.0588 + 0.2353i
>> B=[1; 2+i]
B=
1.0000
2.0000 + 1.0000i
>> KQ=C*B
KQ =

54
Gi¸o tr×nh Matlab vµ øng dông

0.8529 + 0.0882i
-0.4706 - 0.1176i
VD3:
>>syms a1 a2 b1 b2 c1 c2
>>A=[a1 a2;b1 b2]
A=
[ a1, a2]
[ b1, b2]
>> B=[c1;c2]
B=
[ c1]
[ c2]
>> C=inv(A)
C=
[ -b2/(-a1*b2+b1*a2), a2/(-a1*b2+b1*a2)]
[ b1/(-a1*b2+b1*a2), -a1/(-a1*b2+b1*a2)]
>> KQ=C*B
KQ =
[ -b2/(-a1*b2+b1*a2)*c1+a2/(-a1*b2+b1*a2)*c2]
[ b1/(-a1*b2+b1*a2)*c1-a1/(-a1*b2+b1*a2)*c2]

55
Gi¸o tr×nh Matlab vµ øng dông
Deleted: ¶

Ch­¬ng 5 – Symbolic toolbox ¶



PhÇn 2¶
Symbolic Math Toolbox ®Þnh nghÜa mét kiÓu d÷ liÖu míi cña Matlab gäi lµ ®èi C¸c øng dông trong matlab¶

t­îng Symbolic. Mét ®èi t­îng Symbolic lµ mét cÊu tróc d÷ liÖu l­u tr÷ mét ®¹i diÖn kiÓu 1.4.3 LÖnh ezplot3: vÏ ®­êng xo¾n èc.
VD:¶
>> ezplot3(‘sin(t)’,’cos(t)’,’t’,[0,6*pi])¶
s©u ký tù cña mét biÓu t­îng (Symbol). Symbolic Math Toolbox sö dông c¸c ®èi t­îng ¶

Symbolic ®Ó biÓu diÔn c¸c biÕn, biÓu thøc vµ Matlab trËn Symbolic.

5.1- T¹o ®èi t­îng (biÕn, biÓu thøc) symbolic


LÖnh sym cho phÐp x©y dùng c¸c biÕn vµ biÓu thøc symbolic. VÝ dô:
>> x = sym(‘x’); y = sym(‘y’); % lÖnh nµy t¹o ra x,y lµ c¸c biÕn symbolic.
1+ 5
Gi¶ sö ta muèn sö dông mét biÕn symbolic ®Ó biÓu diÔn tû sè:  = ta sö
2
dông lÖnh sau:
>>ro = sym(‘(1+sqrt(5))/2’); 
sau lÖnh ë trªn ta cã thÓ thùc hiÖn rÊt nhiÒu phÐp to¸n ®èi víi ro, vÝ dô:
>>f = ro^2-ro-1
f = (1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)
Gi¶ sö b¹n muèn nghiªn cøu hµm bËc hai f = ax2 + bx +c.
>> f=sym('a*x^2+b*x+c')
f=
a*x^2+b*x+c
C©u lÖnh trªn ®· g¸n biÓu thøc symbolic ax 2 + bx +c vµo biÕn f. Tuy nhiªn, trong
tr­êng hîp nµy Matlab kh«ng t¹o ra c¸c biÕn t­¬ng øng víi c¸c sè h¹ng cña biÓu thøc (a,
b, c, x). §Ó thùc hiÖn c¸c phÐp to¸n symbolic ch¼ng h¹n nh­ tÝch ph©n, ®¹o hµm,… ®èi
víi f, cÇn t¹o ra c¸c biÕn mét c¸ch chÝnh x¸c b»ng c¸ch gâ:
>>a = sym('a')
>>b = sym('b')
>>c = sym('c')
>>x = sym('x')
HoÆc ta cã thÓ khai b¸o mét c¸ch ®¬n gi¶n:
>> syms a b c x
* T¹o c¸c biÕn thùc:
>> x = sym(‘x’, ‘real’);y =sym(‘y’,’real’) %x,y lµ biÕn kiÓu thùc symbolics

56
Gi¸o tr×nh Matlab vµ øng dông

hoÆc ®¬n gi¶n h¬n


>>syms x y real %LÖnh nµy t¹o ra c¸c biÕn x vµ y lµ biÕn symbolic kiÓu thùc.
>>syms x real y
hay x = sym(‘x’,’ real’);y = sym(‘y’)
% x lµ biÕn kiÓu thùc, y lµ biÕn bÊt kú kiÓu symbolic
§Ó xo¸ ®Æc tÝnh “real” cña c¸c biÕn x, y ta dïng lÖnh sau: syms x y unreal hay:
>>x = sym(‘x’, ‘unreal’)
syms t
Q = sym(‘Q(t)’);
% t biÕn symbolic vµ Q lµ hµm symbolic.
* BiÕn symbolic mÆc ®Þnh
Khi vËn dông c¸c hµm to¸n häc, viÖc chän biÕn ®éc lËp th­êng lµ râ rµng tõ ng÷
c¶nh. VÝ dô, ta xem xÐt biÓu thøc to¸n häc f = sin(a.t + b) ®­îc biÓu diÔn trong Matlab
nh­ sau: f =. NÕu ta cÇn tÝnh ®¹o hµm cña biÓu thøc nµy mµ kh«ng x¸c ®Þnh biÕn ®éc lËp
th× theo quy ­íc to¸n häc ta nhËn ®­îc f’ = a.cos(a.t + b). Gi¶ thiÕt r»ng biÕn ®éc lËp
trong biÓu thøc nµy lµ t th× c¸c biÕn cßn l¹i a, b ®­îc xem nh­ c¸c h»ng sè hoÆc tham sè.
Theo quy ­íc to¸n häc th× biÕn ®éc lËp th­êng lµ c¸c ch÷ in th­êng n»m ë cuèi b¶ng ch÷
c¸i (vÝ dô: x, y, z, t, u, v,…).
>>syms a b t
>>f = sin(a*t + b);
>>diff(f) %LÖnh nµy tÝnh ®¹o hµm cña biÓu thøc symbolic f.
trong c©u lÖnh diff(f), ta kh«ng x¸c ®Þnh lµ ®¹o hµm biÓu thøc f theo biÕn nµo (a, b
hay x). Lµm thÕ nµo Matlab x¸c ®Þnh ®­îc ta muèn ®¹o hµm theo biÕn t mµ kh«ng ph¶i lµ
a hoÆc b. Trong symbolic math toolbox sö dông mét biÕn symbolic ®Ó x¸c ®Þnh biÕn ®éc
lËp mÆc ®Þnh trong tr­êng hîp chóng ta kh«ng x¸c ®Þnh biÕn ®éc lËp, ®ã lµ mét hµm tiÖn
Ých findsym. BiÕn symbolic mÆc ®Þnh ®­îc sö dông trong c¸c phÐp to¸n tÝnh to¸n, ®¬n
gi¶n ho¸ biÓu thøc, gi¶i ph­¬ng tr×nh vµ c¸c phÐp biÕn ®æi.
>>findsym(f,1)
ans =
t
ë ®©y, ®èi sè thø hai trong hµm findsym biÓu thÞ sè biÕn symbolic mµ ta muèn t×m
trong biÓu thøc f. NÕu kh«ng x¸c ®Þnh ®èi sè thø hai th× findsym sÏ tr¶ vÒ mét danh s¸ch
liÖt kª tÊt c¶ c¸c biÕn trong biÓu thøc. VÝ dô:

57
Gi¸o tr×nh Matlab vµ øng dông

>> findsym(f)
ans =
a, b, t
LuËt findsym: BiÕn ®éc lËp trong mét biÓu thøc symbolic lµ mét ch÷ c¸i gÇn ch÷ x
nhÊt trong b¶ng ch÷ c¸i. NÕu cã hai ch÷ gÇn ch÷ x th× ch÷ sau x trong b¶ng ch÷ c¸i ®­îc
chän.
vÝ dô: >>findsym(a+c-v*y,1)
ans=
y

5.2- C¸c phÐp tÝnh


Symbolic Math Toolbox cung cÊp c¸c hµm ®Ó thùc hiÖn c¸c phÐp tÝnh c¬ b¶n nh­:
tÝch ph©n, ®¹o hµm, t×m giíi h¹n, tÝnh tæng cña chuçi, khai triÓn Taylor.

5.2.1- §¹o hµm


§Ó tÝnh ®¹o hµm cña mét biÓu thøc symbolic ta sö dông hµm diff()
+ diff(S): §¹o hµm biÓu thøc symbolic S víi biÕn tù do ®­îc x¸c ®Þnh bëi hµm
findsym(S).
+ diff(S,v) hay diff(S,sym(‘v’)): §¹o hµm biÓu thøc symbolic S víi biÕn lÊy ®¹o hµm
lµ biÕn symbolic v nghÜa lµ thùc hiÖn phÐp to¸n dS/dv.
+ diff(S,n) : §¹o hµm cÊp n biÓu thøc S, n lµ sè nguyªn d­¬ng.
VÝ dô:
>>syms x t
>> y = sin(x^2);
>>z = diff(y);
z = 2*cos(x^2)*x
>>pretty(z) %hiÓn thÞ d¹ng quen thuéc
2.cos2x.x
>>y = diff(t^6,6) % ®¹o hµm bËc 6 cña hµm t6.
y = 720
>>syms u v
>>y = u^2*v - u*v^3;
>> y2u = diff(y,u,2) %dao ham cap 2 theo u

58
Gi¸o tr×nh Matlab vµ øng dông

y2u = 2*v
>> y3u = diff(y,v,3) %dao ham cap 3 theo v

y3u = -6*u

5.2.2- TÝch ph©n


§Ó tÝnh tÝch ph©n cña mét biÓu thøc symbolic ta sö dông hµm int()
+ int(S): TÝch ph©n kh«ng x¸c ®Þnh cña biÓn thøc symbolic S theo biÕn mÆc ®Þnh
®­îc x¸c ®Þnh bëi findsym.
+ int(S, v): TÝch ph©n kh«ng x¸c ®Þnh cña biÓu thøc symbolic S víi biÕn tÝch ph©n v.
+ int(S,a,b): TÝch ph©n kh«ng x¸c ®Þnh cña biÓu thøc symbolic S víi biÕn tù do vµ
cËn lÊy tÝch ph©n tõ [a,b].
+ int(S,v,a,b): TÝch ph©n kh«ng x¸c ®Þnh cña biÓu thøc symbolic S víi biÕn tÝch
ph©n v vµ cËn lÊy tÝch ph©n tõ [a,b].
Vidô:
>>syms x t z alpha
>>int(-2*x/(1+x^2)^2)
ans = 1/(1+x^2)
>>int(x/(1+z^2),z)
ans = x*atan(z)
>>int(x*log(1+x),0,1)
ans = 1/4
>>int(-2*x/(1+x^2)^2)
ans = 1/(1+x^2)
>> int([exp(t),exp(alpha*t)])
ans = [ exp(t), 1/alpha*exp(alpha*t)]
 2
VÝdô: TÝnh tÝch ph©n I =  e  ( sx ) dx


>>Syms x s real
>>f = exp(-(s*x)^2);
>>I = int(f,x,-inf,inf)% inf - Infinity lµ v« cïng lín
I=
Signum(s)/s*pi^(1/2)

59
Gi¸o tr×nh Matlab vµ øng dông

Hµm signum chÝnh lµ hµm sign (hµm dÊu), nghÜa lµ sign(s) cho ta:
sign(s) = 1 khi s>0; sign(s) = 0 khi s =0; sign(s) = -1 khi s<0;

5.2.3- T×m giíi h¹n


§Ó t×m giíi h¹n cña biÓu thøc symbolic F ta dïng lÖnh limit()
+ limit(F, x, a) : T×m giíi h¹n cña biÓu thøc F khi x a.
+ limit(F, a) : T×m giíi h¹n cña biÓu thøc F víi biÕn ®éc lËp.
+ limit(F) : T×m giíi h¹n cña biÓu thøc F khi a = 0.
+ limit(F, x, a, ‘right’) hoÆc Lim it(F, x, a, ‘left’) : T×m giíi h¹n ph¶i hoÆc bªn tr¸i
VÝ dô:
>>syms x a t h
>>limit(sin(x)/x)
ans = 1
>>limit(1/x,x,0,’right’)
ans = inf
>>limit(1/x,x,0,’left’)
ans = -inf
>>limit((sin(x+h)-sin(x))/h,h,0)
ans = cos(x)
>>v = [(1+a/x)^x,exp(-x)];
>>limit(v,x,inf,’left’)
ans = [exp(a),0]

5.2.4- TÝnh tæng cña d·y sè symbolic


§Ó t×m tæng cña biÓu thøc symbolic S ta dïng lÖnh symsum()
+ symsum(S): Tæng cña biÓu thøc symbolic theo biÕn symbolic k , k ®­îc x¸c ®Þnh
b»ng lÖnh findsym tõ 0  k -1.
+ symsum(S,v): Tæng cña biÓu thøc symbolic S theo biÕn symbolic v,v ®­îc x¸c
®Þnh tõ 0  k - 1.
+ symsum(S,a,b), symsum(S,v,a,b): Tæng cña biÓu thøc symbolic S theo symbolic v,
v ®­îc x¸c ®Þnh tõ v = s ®Õn v = b.
VÝ dô:

60
Gi¸o tr×nh Matlab vµ øng dông

>>syms k n x
>>symsum(k^2)
ans = 1/3*k^3-1/2*k^2+1/6*k
>>symsum(k)
ans = 1/2*k^2-1/2*k
>>symsum(sin(k*pi)/k,0,n)
ans = -1/2*sin(k*(n+1))/k+1/2*sin(k)/k/(cos(k)-1)*cos(k*(n+1))-
1/2*sin(k)/k/(cos(k)-1)
>>symsum(k^2,0,10)
ans = 385
>>symsum(x^k/sym(‘k!’), k, 0,inf)
ans = exp(x)
Vi dô: Cho tæng cña 2 d·y
1 1
S1 = 1 +   ….
2 2 32
S2 = 1 + x + x2 +…..
>>syms x k
>>s1 = symsum(1/k^2,1,inf) %inf lµ v« cïng.
s1 = 1/6*pi^2
>>s2 = symsum(x^k,k,0,inf)
s2 = -1/(x-1)

5.2.5- Khai triÓn taylor


+ taylor(f): Lµ phÐp xÊp xØ ®a thøc bËc 5 gÇn ®óng víi f. VÒ mÆt kü thuËt, chuçi
Taylor (xÊp xØ xung quanh ®iÓm x00) chÝnh lµ tr­êng hîp tæng qu¸t cña chuçi Maclaurin
(xÊp xØ xung quanh ®iÓm x0 = 0)
+ taylor(f,n,v): Cho ta xÊp xØ ®a thøc theo Maclaurin bËc (n-1) cña biÓu thøc, hµm
khai triÓn symbolic f vµ v lµ biÕn ®éc lËp trong biÓu thøc. v cã thÓ lµ mét x©u (string) hay
lµ biÕn symbolic.
+ taylor(f,n,v,a): Khai triÓn Taylor cña biÓu thøc hay hµm symbolic f quanh ®iÓm a.
§èi sè cã thÓ lµ gi¸ trÞ sè, mét hµm symbolic hay mét x©u……NÕu kh«ng cho gi¸ trÞ n th×
mÆc ®Þnh trong Matlab n = 6.

61
Gi¸o tr×nh Matlab vµ øng dông

Vi dô: Khai triÓn Taylor cña hµm f = exsin(x) quanh ®iÓm x0 = 2 (NÕu x0 = 0 ta cã khai
triÓn Maclaurin).
>>syms x
>> f = exp(x*sin(x));
>>t = taylor(f,4,2)% khai triÓn 4 sè h¹ng ®Çu tiªn kh¸c o vµ xung quanh ®iÓm x0 = 2
KÕt qu¶:
exp(2*sin(2))+exp(2*sin(2))*(2*cos(2)+sin(2))*(x-2)+exp(2*sin(2))*(-
sin(2)+cos(2)+2*cos(2)^2+2*cos(2)*sin(2)+1/2*sin(2)^2)*(x-2)^2+exp(2*sin(2))*(-
1/3*cos(2)-1/2*sin(2)-cos(2)*sin(2)+2*cos(2)^2-
sin(2)^2+4/3*cos(2)^3+2*cos(2)^2*sin(2)+cos(2)*sin(2)^2+1/6*sin(2)^3)*(x-2)^3
B©y giê ta cã thÓ vÏ hµm ®· cho vµ hµm ®· khai triÓn b»ng chuçi Taylor quanh ®iÓm
x0 = 2 vµ cho nhËn xÐt.
>>syms x
>> f = exp(x*sin(x));
>>t = taylor(f,10,2);
>>xd= 1:0.05:3;
>>yd = subs(f,x,xd);% thay thÕ biÔn x b»ng xd
>>ezplot(t,[1,3])% vÏ hµm symbolic
>> hold on
>>plot(xd,yd,'r-')

5.3- §¬n gi¶n ho¸ biÓu thøc vµ thay thÕ

5.3.1- Gom sè h¹ng, biÕn


§Ó gom c¸c hÖ sè cã cïng luü thõa cña biÕn ®éc lËp ta sö dông lÖnh collect().
+ collect(S): S lµ ®a thøc, gom c¸c hÖ sè cã cïng luü thõa cña biÕn mÆc ®Þnh ®­îc
x¸c ®Þnh bëi findsym(S).
+ collect(S,v): S lµ ®a thøc, gom c¸c sè h¹ng chøa biÕn v
VÝ dô:
>>syms x y;
>>R1 = collect((exp(x)+x)*(x+2))
>>R2 = collect((x+y)*(x^2+y^2+1), y)
>>R3 = collect([(x+1)*(y+1),x+y])

62
Gi¸o tr×nh Matlab vµ øng dông

KÕt qu¶:
R1 = x^2+(exp(x)+2)*x+2*exp(x)
R2 = y^3+x*y^2+(x^2+1)*y+x*(x^2+1)
R3 = [(y+1)*x+y+1, x+y]

5.3.2- Khai triÓn biÓu thøc


C©u lÖnh expand(S) khai triÓn biÓu thøc symbolic S thµnh nh©n tö (d¹ng tæng cña
c¸c tÝch). LÖnh expand th­êng ®­îc dïng ®Ó khai triÓn ®a thøc nh­ng còng ®­îc dïng ®Ó
khai triÓn c¸c hµm l­îng gi¸c, c¸c hµm mò vµ hµm logarit.
expand(S): Khai triÓn biÓu thøc symbolic S, viÕt mçi phÇn tö cña S thµnh tÝch c¸c
thõa sè cña nã.
VÝ dô:
>>syms x y a b c t
>>expand((x-2)*(x-4))
ans = x^2-6*x+8
>>expand(cos(x+y))
ans = cos(x)*cos(y)-sin(x)*sin(y)
>>expand(exp((a+b)^2))
ans = exp(a^2)*exp(a*b)^2*exp(b^2)
>>expand(log(a*b/sqrt(c)))
ans = log(a)+log(b)-1/2*log(c)
>>expand([sin(2*t), cos(2*t)])
ans = [2*sin(t)*cos(t), 2*cos(t)^2-1]

5.3.3- Ph©n tÝch biÓu thøc thµnh thõa sè


* Factor(S): Ph©n tÝch biÓu thøc symbolic S thµnh thõa sè nguyªn tè. LÖnh nµy tr¶
vÒ mét vÐc t¬ c¸c thõa sè nguyªn tè cña S. NÕu S kh«ng thÓ ph©n tÝch thµnh c¸c sè h÷ tû
th× kÕt qu¶ sÏ lµ chÝnh nã.
VÝ dô:
>>syms x y a b
>>factor(x^3-y^3)
ans = (x-y)*(x^2+x*y+y^2)
>>factor([a^2-b^2, a^3+b^3])
ans = [(a-b)*(a+b), (a+b)*(a^2-a*b+b^2)]

63
Gi¸o tr×nh Matlab vµ øng dông

>>factor(sym('12345678901234567890'))
(2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541)
>>factor(x^3-6*x^2+11*x-5)
ans =(x^3-6*x^2+11*x-5)
* primes(n): T¹o vÐc t¬ hµng cã c¸c phÇn tö lµ c¸c sè nguyªn tè nhë h¬n hoÆc b»ng
n. Sè nguyªn tè ®­îc ®Þnh nghÜa lµ sè chØ chia hÕt cho 1 vµ cho chÝnh nã, ngoµi ra kh«ng
cßn mét thõa sè nµo kh¸c. VÝ dô:
>> primes(5)
ans =
2 3 5
* isprime(x): KiÓm tra xem x cã ph¶i lµ sè nguyªn tè kh«ng nÕu ph¶i th× gi¸ trÞ tr¶
vµ lµ 1, ng­îc l¹i th× tr¶ vÒ lµ 0. Tr­êng hîp x lµ mét ®a thøc hay mét ma trËn thi kiÓm tra
xem c¸c phÇn tö cña x cã ph¶i lµ sè nguyªn tè kh«ng. VÝ dô:
>> isprime(3)
ans =
1
>> isprime(4)
ans =
0
* Ph©n tÝch ®a thøc ra d¹ng thõa sè horner:
horner(f) BiÓu diÔn ®a thøc symbolic f d­íi d¹ng horner (lång vµo nhau)
VÝ dô:
>>syms x y
>>horner(x^3-6*x^2+11*x-6)
ans = -6+(11+(-6+x)*x)*x
>>horner([x^2+x;y^3-2*y])
ans = [ (1+x)*x]
[(-2+y^2)*y]
* T¸ch tö sè vµ mÉu sè cña mét biÓu thøc symbolic
[n,d] = numden(A): biÕn ®æi mçi phÇn tö cña A thµnh d¹ng h÷u tû trong ®ã tö sè vµ
mÉu sè lµ c¸c ®a thøc (t­¬ng ®èi) nguyªn tè víi c¸c hÖ sè nguyªn (integer).
VÝ dô:
>>syms x y a b

64
Gi¸o tr×nh Matlab vµ øng dông

>>A= (4-x)/5;
>>[n,d] = numden(A)
n = 4-x
d= 5
>>[n,d] = numden(x/y + y/x)
n = x^2+y^2
d = y*x
>>A = [a, 1/b]
>>[n,d] = numden(A)
n = [a, 1]
d = [1, b]

5.3.4- §¬n gi¶n biÓu thøc


§Ó ®¬n gi¶n biÓu thøc trong symbolic math toolbox ®Þnh nghÜa c¸c hµm sau:
+ R = simplify(S)
+ R = simple(S)
Hµm simplify lµ mét c«ng cô m¹nh, môc ®Ých tæng qu¸t, hµm nµy ¸p dông mét sè
®Æc tÝnh cña ®¹i sè nh­ tæng, luü thõa, c¨n bËc hai, ph©n sè vµ mét sè ®Æc tÝnh hµm gåm
cã hµm l­îng gi¸c, hµm mò vµ hµm logarit, c¸c hamf siªu viÖt,…
VÝ dô:
>>syms x y a b c
>>simplify(sin(x)^2 + cos(x)^2)
ans = 1
>>simplify(exp(c*log(sqrt(a+b))))
ans = (a+b)^(1/2*c)
>>S = [(x^2+5*x+6)/(x+2),sqrt(16)];
>>R = simplify(S)
R = [x+3,4]
>>simplify(log(x*y))
ans = log(x) + log(y)
Hµm simple cã môc tiªu to¸n häc kh«ng chÝnh thèng lµ t×m mét phÐp ®¬n gi¶n ho¸
cña mét biÓu thøc sao cho nã cã sè ký tù Ýt nhÊt. Hµm nµy hoµn thµnh môc tiªu cña nã
b»ng c¸ch ¸p dông mét c¸ch ®éc lËp c¸c hµm simplify, collect, factor, vµ c¸c hµm ®¬n

65
Gi¸o tr×nh Matlab vµ øng dông

gi¶n ho¸ kh¸c vµo mét biÓu thøc vµ theo dâi chiÒu dµi cña c¸c kÕt qu¶. Sau ®ã hµm simple
tr¶ vÒ kÕt qu¶ ng¾n nhÊt.
Hµm simple cã rÊt nhiÒu d¹ng kh¸c nhau, mçi d¹ng l¹i tr¶ vÒ mét kÕt qu¶ kh¸c
nhau. LÖnh [r,h] = simple(S) kh«ng tr¶ vÒ biÓu thøc ®¬n gi¶n ho¸ ngay mµ tr¶ vÒ biÓu
thøc ®¬n gi¶n nhÊt mµ nã t×m thÊy ®ång thêi víi mét s©u ký tù m« t¶ phÐp ®¬n gi¶n ho¸.
B¶ng sau minh ho¹ kÕt qu¶ tr¶ vÒ ®èi víi c¸c biÓu thøc S kh¸c nhau

S R How
cos(x)^2+sin(x)^2 1 combine(trig)
2*cos(x)^2-sin(x)^2 3*cos(x)^2-1 simplify
cos(x)^2-sin(x)^2 cos(2*x) combine(trig)
cos(x)+(-sin(x)^2)^(1/2) cos(x)+i*sin(x) radsimp
cos(x)+i*sin(x) exp(i*x) convert(exp)
(x+1)*x*(x-1) x^3-x collect(x)
x^3+3*x^2+3*x+1 (x+1)^3 factor
cos(3*acos(x)) 4*x^3-3*x expand

5.3.5- Thay thÕ


Ta cã thÓ thay thÕ c¸c biÕn trong biÓu thøc b»ng c¸c biÕn hay c¸c sè thuéc kiÓu kh¸c
bëi lÖnh subs hoÆc lÖnh subexpr.
LÖnh subs cã c¸c d¹ng sau:
+ subs(S): Thay thÕ tÊt c¶ c¸c biÕn symbolic trong biÓu thøc b»ng c¸c gi¸ trÞ cã ®­îc
tõ viÖc gäi hµm hoÆc tõ Workspace cña Matlab.
+ subs(S, new): Thay thÕ biÕn symbolic tù do trong S b»ng new.
+ subs(S, old, new): Thay thÕ old b»ng new trong biÓu thøc S. Old lµ mét biÕn
symbolic, mét s©u ®¹i diÖn cho mét tªn biÕn, hoÆc mét biÓu thøc s©u ký tù. New cã thÓ lµ
mét biÕn, mét biÓu thøc symbolic, biÕn sè hoÆc biÓu thøc sè.
VÝ dô:
>>subs(a+b,a,4)
ans = 4+b
gi¶ thiÕt trong Workspace tån t¹i a = 980 vµ C = 3, c©u lÖnh y=dsolve(‘Dy = -a*y’)
tr¶ vÒ y = exp(-a*t)*C, khi ®ã c©u lÖnh:
>>subs(y)

66
Gi¸o tr×nh Matlab vµ øng dông

ans = 3*exp(-980*t)
Ta cã thÓ thay thÕ nhiÒu biÕn mét lóc b»ng c¸ch sö dông có ph¸p sau:
+ subs(S, {old1, old2, …,oldn}, {new1, new2,…, newn})
vÝ dô: >> subs(cos(a)+sin(b),{a,b},{sym('x'),2})
ans = cos(x)+sin(2)
Hµm (S) viÕt l¹i biÓu thøc S theo c¸c biÓu thøc con chung:
[Y,SIGMA] = subexpr(X,SIGMA) hoÆc [Y,SIGMA] = subexpr(X,'SIGMA') viÕt l¹i
biÓu thøc X theo biÓu thøc con chung cña nã.

5.3.6- BiÓu diÔn biÓu thøc symbolic d­íi d¹ng to¸n häc
Sö dông hµm pretty(S) ®Ó hiÓn thÞ S d­íi d¹ng dÔ ®äc h¬n nh­ trong quy ­íc to¸n
häc th«ng th­êng. VÝ dô:
>>s=2*cos(x)^2-sin(x)^2
s=
2*cos(x)^2-sin(x)^2
>>pretty(s)
2 2
2 cos(x) - sin(x)
>>syms x a
>>s=solve(x^3+a*x+1);
>>pretty(s)

67
Gi¸o tr×nh Matlab vµ øng dông

5.4- Gi¶i ph­¬ng tr×nh

5.4.1- Gi¶i ph­¬ng tr×nh ®¹i sè


Sö dông lÖnh solve ®Ó gi¶i hÖ ph­¬ng tr×nh ®¹i sè. Gi¶ sö S lµ mét biÓu thøc
symbolic. LÖnh solve(S) sÏ cã g¾ng t×m c¸c gi¸ trÞ cña biÕn symbolic trong S (®­îc x¸c
®Þnh bëi findsym(S)) lµm cho S b»ng kh«ng. LÖnh solve( ) cã c¸c có ph¸p nh­ sau:
+ solve(‘PT1’, ‘PT2’, …, ‘PTn’)
+ solve(‘PT1’, ‘PT2’, …, ‘PTn’, ‘v1, v2,…, vn’)
+ solve(‘PT1’, ‘PT2’, …, ‘PTn’, ‘v1’, ‘v2’,…, ‘vn’) trong ®ã PT lµ ph­¬ng tr×nh, v1,
v2,…,vn lµ c¸c biÕn hay Èn. C¸c biÕn symbolic kh«ng ®­îc liÖt kª trong danh s¸ch ®èi sè
®­îc coi lµ c¸c tham sè.
VÝ dô 1:
>>S = solve('a*u^2 + v^2','u - v = 1','a,u') coi a vµ u lµ c¸c biÕn cßn v lµ tham sè.
>> s=a*x^2+b*x+c;
>>solve(s)
ans =
[ 1/2/a*(-b+(b^2-4*c*a)^(1/2))]
[ 1/2/a*(-b-(b^2-4*c*a)^(1/2))]
>>pretty(ans)

VÝ dô 2:
sin(x)+y^2+log(z)=7
3*x+2^y+z^3=4
x+y+z=2
>>[x,y,z]=solve('sin(x)+y^2+log(z)=7','3*x+2^y+z^3=4','x+y+z=2')
x = -2.3495756224572032187410536400368
y = 2.6835269194785219427270239079010
z = 1.666048702978681276014029732135

68
Gi¸o tr×nh Matlab vµ øng dông

VÝ dô:
x^2 + x*y + y = 3
x^2 - 4*x + 3 = 0
>>[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
x=
[ 1]
[ 3]
y=
[ 1]
[ -3/2]
L­u ý: NÕu lµ hÖ nhiÒu ph­¬ng tr×nh ch¼ng h¹n 10 ph­¬ng tr×nh, viÖc gâ
[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10]= solve(…) th× rÊt bÊt tiÖn vµ tèn thêi gian.
§Ó ph¸ vì khã kh¨n ®ã, solve tr¶ vÒ mét cÊu tróc mµ c¸c tr­êng cña nã lµ c¸c lêi gi¶i
(nghiÖm). VÝ dô:
>>S = solve('u^2–v^2 = a^2','u + v = 1','a^2–2*a = 3')
S=
a: [2x1 sym]
u: [2x1 sym]
v: [2x1 sym]
>> S.a
ans =
[ -1]
[ 3]

5.4.2- Ph­¬ng tr×nh vi ph©n


Hµm dsolve tÝnh to¸n lêi gi¶i symbolic cho c¸c ph­¬ng tr×nh vi ph©n th­êng. C¸c
ph­¬ng tr×nh ®­îc x¸c ®Þnh bëi biÓu thøc symbolic chøa ch÷ D ®Ó biÓu diÔn ký hiÖu vi
ph©n d/dt. C¸c ký hiÖu D2, D3,…, Dn t­¬ng øng víi ®¹o hµm bËc 2, 3,…, n. V× v©y, D2y
t­¬ng ®­¬ng víi d2y/dt2. Trong lêi gi¶i dsolve th× biÕn ®éc lËp mÆc ®Þnh lµ t. L­u ý r»ng
tªn cña biÕn symbolic kh«ng ®­îc chøa ký tù D.
§iÒu kiÖn ®Çu cã thÓ ®­îc x¸c ®Þnh b»ng c¸ch bæ xung thªm c¸c ph­¬ng tr×nh. NÕu
®iÒu kiÖn ®Çu kh«ng ®­îc x¸c ®Þnh th× lêi gi¶i sÏ chøa c¸c h»ng sè tÝch ph©n C1, C2,...
Có ph¸p cña lÖnh dsolve: dsolve(‘PT1’, ‘PT2’,…, ‘PTn’)

69
Gi¸o tr×nh Matlab vµ øng dông

VÝ dô:
>>y = dsolve('(D2y) =1','y(0) = 1')
y = 1/2*t^2+C1*t+1
>>[x,y] = dsolve('Dx = y', 'Dy = -x')
x= cos(t)*C1+sin(t)*C2
y = -sin(t)*C1+cos(t)*C2

5.5- PhÐp BiÕn ®æi tÝch ph©n


C¸c phÐp biÕn ®æi tÝch ph©n vµ c¸c phÐp biÕn ®æi gi¸n ®o¹n lµ c¸c c«ng cô tÝnh to¸n
m¹nh vµ quan träng trong kü thuËt, to¸n øng dông vµ khoa häc.

5.5.1- BiÕn ®æi fourier vµ fourier ng­îc


PhÐp biÕn ®æi fourier cña hµm f(x) ®­îc ®Þnh nghÜa nh­ sau:

F[f](w)   f (x )e iwx dx vµ phÐp biÕn ®æi fourier ng­îc lµ:


1 
F -1 [f](x)   f (w)e iwx dw
2  
 PhÐp biÕn ®æi tÝch ph©n fourier:
+ F = fourier(f): BiÕn ®æi fourier cña hµm v« h­íng f víi biÕn ®éc lËp mÆc ®Þnh lµ x.
KÕt qu¶ tr¶ vÒ mÆc ®Þnh lµ hµm cña w. NÕu f = f(w), th× fourier tr¶ vÒ mét hµm cña t:
F=F(t). Theo ®Þnh nghÜa, F(w) = int(f(x)*exp(-i*w*x),x,-inf,inf), phÐp tÝch ph©n ë trªn
®­îc thùc hiÖn theo x (do kÕt qu¶ cña hµm findsym).
+ F = fourier(f,v): KÕt qu¶ tr¶ vÒ F lµ hµm cña biÕn v thay cho biÕn mÆc ®Þnh w:
F(v) = int(f(x)*exp(-i*v*x),x,-inf,inf).
F = fourier(f,u,v): f lµ hµm cña u vµ F lµ hµm cña v, chóng thay thÕ c¸c biÕn mÆc
®Þnh x vµ w: F(v) = int(f(u)*exp(-i*v*u),u,-inf,inf).
VÝ dô:
>>syms x w u
>>f=exp(-x^2)
>>fourier(f)
ans = pi^(1/2)*exp(-1/4*w^2)
>>g = exp(-abs(w))
>>fourier(g)

70
Gi¸o tr×nh Matlab vµ øng dông

ans=2/(1+t^2)
>>f=x*exp(-abs(x))
>>fourier(f,u)
ans = -4*i/(1+u^2)^2*u
>>syms x v u real
>>f= exp(-x^2*abs(v))*sin(v)/v
>>fourier(f,v,u)
ans = -atan((u-1)/x^2)+atan((u+1)/x^2)
 PhÐp biÕn ®æi fourier ng­îc:
+ f = ifourier(F): lµ phÐp biÕn ®æi fourier ng­îc cña hµm v« h­íng F víi biÕn ®éc
lËp mÆc ®Þnh w. KÕt qu¶ tr¶ vÒ mÆc ®Þnh cña phÐp biÕn ®æi ng­îc nµy lµ mét hµm cña x.
PhÐp biÕn ®æi fourier ng­îc ®­îc ¸p dông cho mét hµm cña w vµ tr¶ vÒ mét hµm cña x:
F=F(w) =>f=f(x). NÕu F = F(x) th× IFOURIER tr¶ vÒ mét hµm cña t: t: f = f(t). Theo ®Þnh
nghÜa, f(x)=1/(2*pi)*int(F(w)*exp(i*w*x),w,-inf,inf) vµ phÐp tÝch ph©n ®­îc thùc hiÖn
víi w.
+ f =: f lµ hµm cña biÕn u thay thÕ biÕn mÆc ®Þnh x.
ifourier(F,u) <=> f(u) = 1/(2*pi) * int(F(w)*exp(i*w*u,w,-inf,inf).
+ f = ifourier(F,v,u): F lµ hµm cña v vµ f lµ hµm cña u, chóng thay thÕ c¸c biÕn mÆc
®Þnh w vµ x t­¬ng øng. ifourier(F,v,u) <=>f(u) =1/(2*pi)*int(F(v)*exp(i*v*u,v,-inf,inf),
phÐp tÝch ph©n ®­îc thùc hiÖn theo v.
VÝ dô:
>>syms a w x t v real
>>f = exp(-w^2/(4*a^2))
>>F = ifourier(f);
>>F = simple(F)
F = a*exp(-x^2*a^2)/pi^(1/2)
>>g=exp(-abs(x))
>>ifourier(g)
ans = 1/(1+t^2)/pi
>>f=2*exp(-abs(w))-1
>>simplify(ifourier(f,t))
ans = (2-pi*Dirac(t)-pi*Dirac(t)*t^2)/(pi+pi*t^2)
>>f=exp(-w^2*abs(v))*sin(v)/v;

71
Gi¸o tr×nh Matlab vµ øng dông

>>ifourier(f,v,t)
ans = 1/2*(atan((t+1)/w^2) - atan((-1+t)/w^2))/pi

5.5.2- BiÕn ®æi laplace vµ laplace ng­îc


PhÐp biÕn ®æi laplace cña hµm f(t) ®­îc ®Þnh nghÜa nh­ sau:

L[f](s)   f (t )e ts dt vµ phÐp biÕn ®æi laplace ng­îc lµ:


1 c  i
L-1 [f](t)   f (s)e st ds
2 j 
+ L = laplace(F): BiÕn ®æi Laplace cña hµm F víi biÕn ®éc lËp mÆc ®Þnh lµ t. KÕt
qu¶ tr¶ vÒ lµ mét hµm cña s. NÕu F = F(s) th× Laplace tr¶ vÒ mét hµm cña t: L = L(t). Theo
®Þnh nghÜa, L(s) = int(F(t)*exp(-s*t),0,inf) vµ phÐp tÝch ph©n ®­îc thùc hiÖn víi t.
+ L = laplace(F,t): L lµ mét hµm cña t thay thÕ biÕn mÆc ®Þnh s.
L = laplace(F,t) <=> L(t) = int(F(x)*exp(-t*x),0,inf)
+ L = laplace(F,w,z): L lµ hµm cña z vµ F lµ hµm cña w, nã thay thÕ c¸c biÕn
symbolic mÆc ®Þnh s vµ t t­¬ng øng.
L = laplace(F,w,z) <=> L(z) = int(F(w)*exp(-z*w),0,inf)
VÝ dô:
>>syms t v x a
>>f = t^4
>>laplace(f)
ans = 24/s^5
>>g=1/sqrt(s)
>>laplace(g)
ans = 1/s^(1/2)*pi^(1/2)
>>f=exp(-a*t)
>>laplace(f,x)
ans= 1/(x + a)
>>f=1- cos(t*v)
>>laplace(f,x)
ans = 1/x-x/(x^2+v^2)
 BiÕn ®æi laplace ng­îc

72
Gi¸o tr×nh Matlab vµ øng dông

+ F = ilaplace(L): lµ phÐp biÕn ®æi laplace ng­îc cña hµm v« h­íng L víi biÕn ®éc
lËp mÆc ®Þnh s. KÕt qu¶ tr¶ vÒ mÆc ®Þnh cña phÐp biÕn ®æi ng­îc nµy lµ mét hµm cña t.
PhÐp biÕn ®æi laplace ng­îc ®­îc ¸p dông cho mét hµm cña s vµ tr¶ vÒ mét hµm cña t:
L=L(t) =>F=F(s). NÕu L=L(s) th× ilaplace(L) tr¶ vÒ mét hµm cña x: F = F(x). Theo ®Þnh
nghÜa, F(t) = int(L(s)*exp(s*t),s,c-i*inf,c+i*inf) trong ®ã c lµ mét sè thùc, phÐp tÝch ph©n
®­îc thùc hiÖn ®èi víi s.
+ F = ilaplace(L,y): F lµ hµm cña y thay thÕ biÕn mÆc ®Þnh t.
ilaplace(L,y) <=> F(y) = int(L(y)*exp(s*y),s,c-i*inf,c+i*inf).
+ F = ilaplace(L,y,x): F lµ hµm cña x vµ L lµ hµm cña y, nã thay thÕ c¸c biÕn
symbolic mÆc ®Þnh t vµ s.
ilaplace(L,y,x) <=> F(y) = int(L(y)*exp(x*y),y,c-i*inf,c+i*inf),
phÐp tÝch ph©n ®­îc thùc hiÖn ®èi víi biÕn y.
VÝ dô :
>>syms s a t
>>f=1/s^2
>>ilaplace(f)
ans = t
>>g=1/(t-a)^2
>>ilaplace(g)
ans = x*exp(a*x)
>>syms u a x
>>f=1/(u^2-a^2)
>>ilaplace(f,x)
ans = 1/(-a^2)^(1/2)*sin((-a^2)^(1/2)*x)
>>syms s v x
>>f=s^3*v/(s^2+v^2)
>>ilaplace(f,v,x)
ans = s^3*cos(s*x)

5.5.3- PhÐp biÕn ®æi Z vµ Z ng­îc


PhÐp biÕn ®æi Z (mét phÝa) cña hµm f(n) ®­îc ®Þnh nghÜa nh­ sau:

Z[f ]( z )   f ( n )z n
n 0

73
Gi¸o tr×nh Matlab vµ øng dông

ký hiÖu Z[f] ¸m chØ phÐp biÕn ®æi z cña f t¹i z. PhÐp biÕn ®æi z cã c¸c có ph¸p nh­
sau:
F = ztrans(f) lµ biÕn ®æi z cña ®¹i l­îng v« h­íng f víi biÕn ®éc lËp n. KÕt qu¶ tr¶ vÒ
mÆc ®Þnh lµ mét hµm cña z: f = f(n) => F = F(z).
BiÕn ®æi z cña f ®­îc ®Þnh nghÜa nh­ sau: F(z) = symsum(f(n)/z^n, n, 0, inf), trong
®ã n lµ biÕn ®éc lËp cña f do hµm findsym quyÕt ®Þnh. NÕu f = f(z), th× ztrans(f) tr¶ vÒ mét
hµm cña w: F = F(w).
+ F = ztrans(f,w) tr¶ vÒ F lµ mét hµm cña biÕn symbolic w thay v× biÕn ®éc lËp mÆc
®Þnh z: ztrans(f,w) <=> F(w) = symsum(f(n)/w^n, n, 0, inf).
+ F = ztrans(f,k,w): f lµ hµm cña biÕn symbolic k thay v× biÕn ®éc lËp mÆc ®Þnh:
ztrans(f,k,w) <=> F(w) = symsum(f(k)/w^k, k, 0, inf).
VÝ dô:
>>syms k n w z
>>ztrans(2^n) kÕt qu¶ lµ: z/(z-2)
>>ztrans(sin(k*n),w) kÕt qu¶ lµ: sin(k)*w/(1-2*w*cos(k)+w^2)
>>ztrans(cos(n*k),k,z) kÕt qu¶ lµ: z*(-cos(n)+z)/(-2*z*cos(n)+z^2+1)
>>ztrans(cos(n*k),n,w) kÕt qu¶ lµ: w*(-cos(k)+w)/(-2*w*cos(k)+w^2+1)
>>ztrans(sym('f(n+1)')) kÕt qu¶ lµ: z*ztrans(f(n),n,z)-f(0)*z
 PhÐp biÕn ®æi z ng­îc
PhÐp biÕn ®æi z ng­îc cña mét hµm g(z) t¹i n ®­îc ®Þnh nghÜa nh­ sau:
1
Z 1 [g]( n )  g(z )z n 1 dz , trong ®ã n = 1,2,… vµ R lµ mét sè nguyªn d­¬ng sao
2 i |z| R

cho hµm g(z) gi¶i tÝch trªn vµ bªn ngoµi ®­êng trßn |z| = R. Ký hiÖu Z-1[f] cã nghÜa lµ biÕn
®æi z cña f t¹i n. PhÐp biÕn ®ái z ng­îc th­êng ®­îc dïng ®Ó gi¶i ph­¬ng tr×nh vi ph©n.
+ f = iztrans(F) lµ biÕn ®æi z cña ®¹i l­îng v« h­íng F theo biÕn ®éc lËp mÆc ®Þnh lµ
z. KÕt qu¶ tr¶ vÒ mÆc ®Þnh lµ mét hµm cña n: F = F(z) => f = f(n). NÕu F = F(n), th×
iztrans(F) tr¶ vÒ mét hµm cña k: f = f(k).
f = iztrans(F,k): f lµ mét hµm cña k thay v× biÕn ®éc lËp mÆc ®Þnh n.
f = iztrans(F,w,k): F lµ mét hµm cña w vµ tr¶ vÒ mét hµm cña k: F=F(w)&f=f(k).
VÝ dô:
>>iztrans(z/(z-2)) kÕt qu¶ lµ 2^n
>>iztrans(exp(x/z),z,k) kÕt qu¶ lµ x^k/k!

74
Gi¸o tr×nh Matlab vµ øng dông

5.5.4- ChuyÓn ph­¬ng tr×nh hÖ sè sang ph­¬ng tr×nh tham sè


§Ó chuyÓn ph­¬ng tr×nh hÖ sè sang ph­¬ng tr×nh tham sè, sö dông lÖnh poly2sym.
LÖnh nµy chuyÓn ®a thøc hÖ sè thµnh ®a thøc symbolic.
poly2sym(C) tr¶ vÒ mét ®a thøc theo biÕn x víi c¸c hÖ sè lµ c¸c phÇn tö cña vÐct¬ C.
poly2sym(C,'V') vµ poly2sym(C,sym('V') tr¶ vÒ mét ®a thøc theo biÕn ®­îc x¸c ®Þnh ë
®èi sè thø hai víi c¸c hÖ sè lµ c¸c phÇn tö cña vÐc t¬ C. VÝ dô:

>>poly2sym([1 0 -2 -5])
ans = x^3-2*x-5
>>poly2sym([1 0 -2 -5],'t')
>>t = sym('t')
>>poly2sym([1 0 -2 -5],t)
ans = t^3-2*t-5
>> y = [1 2 3 0 1]
y= 1 2 3 0 1
>> poly2sym(y)
ans = x^4+2*x^3+3*x^2+1
* ChuyÓn tõ ph­¬ng tr×nh tham sè sang ph­¬ng tr×nh hÖ sè:
Sö dông lÖnh sym2poly ®Ó chuyÓn ®a thøc symbolic thµnh vÐc t¬ c¸c hÖ sè cña ®a
thøc.
LÖnh sym2poly (P) tr¶ vÒ mét vÐc t¬ hµng chøa c¸c hÖ sè cña ®a thøc symbolic P.
VÝ dô:
>>sym2poly(x^3 - 2*x - 5) vµ kÕt qu¶ tr¶ vÒ [1 0 -2 -5].

5.5.5- T×m hµm ng­îc


§Ó t×m hµm ng­îc cña mét hµm symbolic f nµo ®ã ta sö dông lÖnh finverse(f).
+ g = finverse(f) tr¶ vÒ hµm ng­îc cña f, f lµ mét symbol v« h­íng biÓu diÔn mét
hµm mét biÕn symbolic x. Th× g lµ mét symbol v« h­íng tho¶ m·n: g(f(x)) = x.
+ g = finverse(f,v) sö dông biÕn symbolic v trong ®ã v lµ mét symbol nh­ lµ biÕn
®éc lËp. Th× g lµ mét symbol tho¶ m·n: g(f(v)) = v. Có ph¸p nµy ®­îc sö dông khi f
chøa nhiÒu h¬n mét biÕn symbolic. VÝ dô:
VÝ dô:
>>syms u v x y
>>finverse(1/tan(x))

75
Gi¸o tr×nh Matlab vµ øng dông

ans = atan(1/x)
>>finverse(exp(u-2*v),u)
ans = 2*v+log(u)
>>f = x^2+y;
>>finverse(f,y)
ans = -x^2+y.
>>finverse(f)
Warning: finverse(x^2+y) is not unique.
> In C:\matlabR12\toolbox\symbolic\@sym\finverse.m at line 43
ans =
(-y+x)^(1/2)
LÖnh finverse(x^2+y) mµ kh«ng x¸c ®Þnh biÕn ®éc lËp lµ y th× xuÊt hiÖn mét c¶nh
b¸o (Warning: finverse(x^2+y) is not unique) lµ hµm ng­îc cña f theo x lµ kh«ng
duy nhÊt.

76
Gi¸o tr×nh Matlab vµ øng dông

Môc lôc
Néi dung trang
PhÇn 1 - C¬ së Matlab................................ ................................ .......................... 1
Ch­¬ng 1 – Kh¸i niÖm chung ................................ ................................ .............. 1
1.1- Giíi thiÖu................................ ................................ ................................ .... 1
1.2- Cµi ®Æt ch­¬ng tr×nh:................................ ................................ ................. 2
1.2.1- Khëi ®éng windows................................. ................................ .............. 2
1.2.2- TiÕn hµnh cµi ®Æt ................................ ................................ ................... 2
1.2.3- NhËp th«ng tin cña ng­êi dïng vµ Personal License Password............... 4
1.2.5- Hoµn thµnh cµi ®Æt................................ ................................ ................. 4
1.3- M«i tr­êng lµm viÖc cña Matlab ................................ ............................... 5
1.3.1- Khëi ®éng vµ tho¸t khái Matlab................................ ............................. 5
1.3.2- Cöa sæ lÖnh cña Matlab (Matlab Command Window)............................ 7
1.3.3- Kh«ng gian lµm viÖc cña Matlab (Matlab Workspace)........................... 9
Ch­¬ng 2 - C¸c menu cña MATLAB ................................ ................................ 11
2.1- Menu File................................ ................................ ................................ .. 11
2.2- Menu Edits: ................................ ................................ .............................. 16
2.3- Menu View: ................................ ................................ .............................. 17
2.4- Menu Window: ................................ ................................ ........................ 17
Ch­¬ng 3 - C¸c kh¸i niÖm c¬ b¶n................................ ................................ ...... 18
3.1-Mét sè phÝm chuyªn dông vµ lÖnh th«ng dông ................................ ...... 18
3.2- BiÕn trong MATLAB................................ ................................ ............... 18
3.2.1- Tªn biÕn:................................ ................................ .............................. 19
3.2.2- Mét sè lÖnh víi biÕn:................................ ................................ ........... 19
3.2.3- Mét sè biÕn ®· ®­îc ®Þnh nghÜa tr­íc:................................ ................. 19
3.2.4- BiÕn toµn côc (global variables)................................ ........................... 20
3.3- C¸c phÐp to¸n trong matlab................................ ................................ .... 20
3.3.1- PhÐp to¸n sè häc:................................ ................................ ................ 20

77
Gi¸o tr×nh Matlab vµ øng dông

3.3.2- Thø tù ­u tiªn trong phÐp to¸n sè häc: ................................ ................. 21


3.3.3- C¸c phÐp to¸n quan hÖ vµ phÐp to¸n logic................................ ............ 21
3.3.4- C¸c vÝ dô: ................................ ................................ ............................ 24
3.4- Sè phøc vµ c¸c phÐp to¸n vÒ sè phøc. ................................ ..................... 25
3.4.1- BiÓu diÔn sè phøc: ................................ ................................ ............... 25
3.4.2- C¸c phÐp to¸n ®èi víi sè phøc: ................................ ............................ 25
3.5- Sö dông c¸c file lÖnh (lËp tr×nh M-file)................................ ................... 26
3.6 - Dßng nh¾c g¸n gi¸ trÞ c¸c biÕn:................................ .............................. 26
3.7- C¸ch t¹o mét hµm:................................ ................................ ................... 28
3.8- VÏ c¸c hµm ................................ ................................ ............................... 29
3.9- L­u vµ lÊy d÷ liÖu: ................................ ................................ ................... 30
3.10- CÊu tróc c©u lÖnh ®iÒu kiÖn: ................................ ................................ . 30
3.11- CÊu tróc vßng lÆp................................. ................................ .................. 33
3.12- Mét sè hµm to¸n häc:................................ ................................ ............. 35
ch­¬ng 4 - Ma trËn vµ c¸c phÐp to¸n vÒ ma trËn ................................ ............. 37
4.1- Kh¸i niÖm:................................ ................................ ................................ 37
4.1.1- C¸c qui ®Þnh ®Ó ®Þnh nghÜa mét ma trËn: ................................ ............. 37
4.1.2- C¸c c¸ch ®Ó nhËp mét ma trËn: ................................ ............................ 38
4.1.3- HiÓn thÞ l¹i ma trËn:................................ ................................ ............. 39
4.2- Xö lý trong ma trËn: ................................ ................................ ................ 40
4.2.1- T¹o vÐct¬:................................ ................................ ............................ 40
4.2.2- Gäi c¸c phÇn tö trong ma trËn. ................................ ............................. 40
4.2.3- Gäi 1 ma trËn con tõ mét ma trËn lín................................. .................. 41
4.3- C¸c ma trËn ®Æc biÖt: ................................ ................................ .............. 42
4.3.1- Ma trËn zeros................................. ................................ ...................... 42
4.3.2- Ma trËn ones................................. ................................ ....................... 42
4.3.3- Ma trËn ma ph­¬ng Magic................................ ................................ ... 43
4.3.4- Ma trËn eye................................. ................................ ......................... 43
4.3.5- Ma trËn Pascal: ................................ ................................ .................... 43
4.4- C¸c phÐp to¸n vector ................................ ................................ .............. 43

78
Gi¸o tr×nh Matlab vµ øng dông

4.4.1- C¸c phÇn tö lµ c¸c sè thùc:................................ ................................ ... 44


4.4.2- C¸c phÇn tö lµ c¸c sè phøc. ................................ ................................ .. 44
4.4.3- C¸c phÇn tö lµ c¸c tham sè:................................ ................................ .. 45
4.5- C¸c phÐp to¸n vÒ ma trËn................................ ................................ ........ 45
4.5.1- PhÐp chuyÓn vÞ................................ ................................ ..................... 45
4.5.2- PhÐp nghÞch ®¶o ma trËn................................ ................................ ...... 46
4.5.3- PhÐp céng - trõ ma trËn.( + , - )................................ ............................ 47
4.5.4- PhÐp nh©n, chia ma trËn:................................ ................................ ...... 47
4.5.5- PhÐp luü thõa vµ sè mò cña ma trËn ................................ ..................... 50
4.5.6- PhÐp quay ma trËn ................................ ................................ ............... 51
4.5.7- PhÐp ®¶o ma trËn ................................ ................................ ................. 51
4.5.8- TÝnh ®Þnh thøc ma trËn................................ ................................ ........ 52
4.6- øng dông c¸c phÐp to¸n ma trËn................................ ............................. 52
4.6.1- Nh©n ®a thøc................................ ................................ ........................ 52
4.6.2- Gi¶i ph­¬ng tr×nh bËc cao................................ ................................ .... 52
4.6.3- BiÕt nghiÖm t×m l¹i ph­¬ng tr×nh ................................ ........................ 53
4.6.4- Gi¶i hÖ ph­¬ng tr×nh tuyÕn tÝnh: ................................ .......................... 53
Ch­¬ng 5 – Symbolic toolbox ................................ ................................ ............ 56
5.1- T¹o ®èi t­îng (biÕn, biÓu thøc) symbolic................................ ................ 56
5.2- C¸c phÐp tÝnh ................................ ................................ ........................... 58
5.2.1- §¹o hµm ................................ ................................ .............................. 58
5.2.2- TÝch ph©n................................ ................................ ............................. 59
5.2.3- T×m giíi h¹n ................................ ................................ ........................ 60
5.2.4- TÝnh tæng cña d·y sè symbolic ................................ ............................ 60
5.2.5- Khai triÓn taylor................................ ................................ ................... 61
5.3- §¬n gi¶n ho¸ biÓu thøc vµ thay thÕ................................ ......................... 62
5.3.1- Gom sè h¹ng, biÕn................................ ................................ ............... 62
5.3.2- Khai triÓn biÓu thøc ................................ ................................ ............. 63
5.3.3- Ph©n tÝch biÓu thøc thµnh thõa sè................................ ......................... 63
5.3.4- §¬n gi¶n biÓu thøc................................ ................................ ............... 65

79
Gi¸o tr×nh Matlab vµ øng dông

5.3.5- Thay thÕ................................ ................................ ............................... 66


5.3.6- BiÓu diÔn biÓu thøc symbolic d­íi d¹ng to¸n häc ................................ 67
5.4- Gi¶i ph­¬ng tr×nh ................................ ................................ .................... 68
5.4.1- Gi¶i ph­¬ng tr×nh ®¹i sè................................ ................................ ....... 68
5.4.2- Ph­¬ng tr×nh vi ph©n................................ ................................ ............ 69
5.5- PhÐp BiÕn ®æi tÝch ph©n................................ ................................ ........... 70
5.5.1- BiÕn ®æi fourier vµ fourier ng­îc ................................ ......................... 70
5.5.2- BiÕn ®æi laplace vµ laplace ng­îc ................................ ........................ 72
5.5.3- PhÐp biÕn ®æi Z vµ Z ng­îc ................................ ................................ . 73
5.5.4- ChuyÓn ph­¬ng tr×nh hÖ sè sang ph­¬ng tr×nh tham sè ........................ 75
5.5.5- T×m hµm ng­îc................................ ................................ .................... 75

80

You might also like