Bài giảng Matlab ứng dụng trong kỹ thuật
Khoa xaây döïng vaø cô hoïc öùng duïng
Chöông I
trang 1
MATLAB CÔ BAÛN
I. TOÅNG QUAN MOÂI TRÖÔØNG LAØM VIEÄC CUÛA MATLAB:
1. Khôûi ñoäng vaø thoaùt khoûi Matlab
Khôûi ñoäng Matlab:
Treân cöûa soå Window nhaáp ñuùp leân bieåu töôïng cuûa Matlab
Vaøo Start -> All Programs -> Matlab release 12 -> Matlab 12.
Sau khi khôûi ñoäng öùng duïng Matlab seõ ñöôïc môû, giao dieän chính cuûa Matlab nhö
hình
Thoaùt khoûi Matlab:
Ñeå thoaùt khoûi öùng duïng Matlab coù theå choïn Exit Matlab töø menu File treân
Desktop hoaëc nhaäp quit trong Command Window
exit, quit
finish
Thoaùt khoûi Matlab
Keát thuùc Mfile
2. Giôùi thieäu moâi tröôøng laøm vieäc vaø caùc coâng cuï cuûa Matlab
Giôùi thieäu khaùi quaùt giao dieän laøm vieäc chính cuûa Matlab
Khi khôûi ñoäng Matlab giao dieän chính seõ môû ra, giao dieän nayø chöùa caùc coâng cuï
(giao tiepá ngöôøi duøng) ñeå quaûn lyù caùc tapä tin, bieán vaø caùc öùng duïng phuï trôï khaùc.
Command window.
Help Browser.
Current Directory Browser.
Command history.
WorkSpace Browser.
Editor/Debugger.
Profiler.
Söû duïng Matlab nhö moät maùy tính
Khi daáu nhaéc “>>” nhaáp nhaùy trong Command Window chæ ra raèng Matlab ñaõ
saún saøng cho vieäc nhaäp döõ lieäu. Khi nhìn thaáy dauá nhaéc “>>” luùc ñoù baïn coù theå
nhaäp vaøo moät bieán hoaëc chaïy moät haøm naøo ñoù.
Baïn chæ caàn nhaäp vaøo bieåu thöùc baïn muoán tính. Ví duï ta muoán tính bieåu thöùc
baïn nhaäp bieåu thöùc sau daáu nhayù “>>” nhö sau
1 23
Neáu khoâng nhaäp vaoø bieán ñeå laáy giaù trò ra, Matlab söû duïng bieán maëc ñònh ans
(answer) ñeå nhaän giaù trò cuûa pheùp tính vöaø thöïc hieän. ans cuõng nhö caùc bieán khaùc,
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 2
baïn coù quyeàn tham chieáu ñeán noù khi canà thieát. Trong tröônø g hôïp baïn muoán duøng
bieán ñeå laáy giaù trò ñaàu ra, baïn chæ caàn nhaäp
Teân biená cuõng ñöôïc söû duïng ñeå tham chieáu ñeán keát quaû cuûa pheùp tính tröôùc. Khi
ta caàn tính
ta chæ caàn nhaäp
4 x
Keát thuùc moãi doøng leänh, nhaán <Enter> neáu baïn muoán kieåm tra keát quaû cuûa
vieäc thöïc thi doøng leänh ngay laäp töùc. Ngöôïc laïi, nhaäp daáu “;” tröôùc khi nhaán
<Enter> keát quaû thöïc thi cuaû doøng leänh vöøa nhaäp seõ khonâ g hieån thò treân maøn
hình.
Ta coù theå nhaäp nhieàu bieåu thöùc treân cuøng moät doøng
3. Bieåu thöùc ( EXPRESSION)
Cuõng gioáng nhö haàu heát caùc ngoân ngöõ laäp trình khaùc, MATLAB cuõng
cung caáp nhöõng bieåu thöùc toaùn hoïc, nhöng khoâng gioáng caùc ngoân ngöõ laäp trình
khaùc, haàu heát caùc bieåu thöùc naøy ñeàu lieân quan ñeán ma traän.
Bieán soá ( variables)
Soá (Numbers)
Toaùn töû ( Operaters)
Haøm ( Functions)
3.1.Bieán ( Variables):
MATLAB khoâng yeâu caàu khai baùo kieåu vaø kích thöôùc cuûa bieán. Khi
MATLAB baét gaëp teân moät biená môùi, noù seõ töï ñoäng taïo ra bieán vaø phanâ phaùt giaù
trò vuøng nhôù cho bieán. Neáu bieán naøy ñaõ tonà taïi thì noù seõ löu giaù trò môùi vaø neáu caàn
thieát Matlab phaân phaùc giaù trò môùi cho bieán.
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 3
Bieán chæ söû ñöôïc toái ña 31 kyù töï coù nghóa, bieán phaân bieät giöõa chöõ hoa vaø chöõ
thöôøng.
Bieán baét ñaàu baèng moät töø theo sau laø töø hay soá hoaëc daáu gaïch chaân (_).
Coù hai loaïi bieán:
Bieán toaøn cuïc: coù taùc duïng trong toaøn boä chöông trình.
Bieán cuïc boä: chæ coù taùc duïng trong phaïm vi khai baoù (noäi trong haøm)
Ngoaøi ra MATLAB coøn cung caáp moät soá bieán ñaëc bieät ví duï nhö pi, i, j, ans …
Duøng caùc leänh who vaø whos ñeå kieåm tra bieán, leänh clear vaø clear all ñeå xoùa
bieán ñaõ söû duïng
Ví duï:
3.2. Soá (Numbers):
MATLAB söû duïng caùc quy öôùc thaäp phaân. Söû duïng ghi chuù khoa hoïc (
scientific notation) e vaø soá aûo ( imaginary Numbers) ñeå bieåu dieån giaù trò soá.
Taát caû nhöõng con soá ñeàu ñöôïc löu kieåu ñònh daïng (format)
Duøng haøm format ñeå ñònh daïng kieåu soá:
Leänh söû duïng Keát quaû
Ví duï: soá pi
3.14159265358979
3.141592653589793e+00
3.1416
format long
format long e
format short
16 con soá sau daáu chaám
16 con soá coù daáu
5 con soá sau daáu chaám
format short e 5 con soá coù daáu
3.1416e+00
format rat
Tæ leä
355/113
format bank
Thaäp phaân hai chöõ soá
3.14
Ví duï:
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
3.3. Toaùn töû:
trang 4
Kí hieäu Moâ taû
Ví duï
2 3
2 3
2*3
2/ 3
Coäng
Tröø
+
-
Nhaân
Chia
*
/
Chia traùi
Muõ
3\ 2
\
^
2 ^3
3.4. Haøm:
MATLAB cung caáp moät löôïng lôùn cacù haøm toaùn hoïc cô baûn bao goàm abs,
sqrt, exp, sin,… Trong MATLAB coù hai loaïi haøm:
Caùc haøm build-in laø nhöõng haøm chuùng ta chæ ñöôïc söû duïng chöù khoâng
ñöôïc hieäu chænh.
Caùc haøm M-file chuùng ta coù theå xem vaø hieäu chænh noäi dung cuûa haøm.
Moät vaøi haøm ñaëc bieät, cho giaù trò laø haèng soá:
pi:
3.141759…
i,j:
eps:
ñôn vò aûo i,j =
1
ñieåm chaám ñoäng coù quan heä ñeán ñoä chính xaùc, 2-52
realmin:Soá chaám ñoäng nhoû nhaát, 2-1022
realmax: Soá ñieåm chaám ñoäng lôùn nhaát, 21023
NaN:
Not a number( Khoâng phaûi laø moät con soá)
Inf:
Infinity( Soá voâ cuøng lôn, khoâng xaùc ñònh)
4. Nhaäp vaø xuaát döõ lieäu thoâng qua taäp tin
Matlab söû duïng hai daïng taäp tin döõ lieäu.
Daïng thöù nhaát mat-file laø taäp tin ñöôïc ñònh daïng kieåu nhò phaân, taäp tin loaïi
naøy coù phaàn môû roäng *.mat. Taäp tin loaïi naøy coù theå löu nhieuà hôn moät bieán nhöng
noù chæ ñöôïc sö duïng trong önù g duïng Matlab vaø khoâng chia seõ ñöôïc vôùi nhöõng
chöông trình khaùc.
Daïng thöù hai dat-file laø taäp tin ñöôïc ñònh daïng kieåu ASCII, taäp tin loaïi naøy coù
phaàn môû roäng *.mat. dat-file coù theå ñöôïc chia seõ vôùi caùc öùng duïng khaùc, tuy
nhieân noù chæ coù theå löu ñöôïc moät bieán duy nhaát.
Ñeå löu vaø taûi taäp tin ta söû duïng haøm save vaø load
Ví duï löu taäp tin döõ lieäu mat-file trong thö muïc hieän haønh vaø layá döõ lieäu trôû laïi töø
mat-file
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 5
Neáu muoán löu döõ lieäu naøy vaøo taäp tin dat-file trong thö muïc hieän haønh ta laøm nhö
sau:
Ngoaøi ra ta coøn coù theå taïo moät tin döõ lieäu coù phaàn môû roäng *.m
Chöông trình
Keát quaû
5. Nhaäp vaø xuaát döõ lieäu baèng baøn phím
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
Leänh ‘input’ yeâu caàu ngöôøi duøng nhaäp döõ lieäu töø phím.
trang 6
Ñeå theå hieän giaù trò cuûa moät bieán vaø chuoãi treân maøn hình ta söû duïng hai leänh
‘disp()’ vaø ‘fprintf’
6. Löu vaø taûi taäp tin coù phaàn môû roäng *.txt
6.1.Löu taäp tin *.txt
Chöông trình
Keát quaû
6.2.Taûi taäp tin *.txt
Chöông trình
Keát quaû
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
II. CAÙC HAØM TOAÙN HOÏC
trang 7
Coù raát nhieàu haøm chuaån ñöôïc xaây döïng trong Matlab ñeå hoå trôï vieäc tính toaùn cho ngöôøi
söû duïng.
Nhöõng haøm toaùn hoïc cô baûn trong Matlab
Haøm
cos(x)
sin(x)
Moâ taû
Tính cos cuûa x
Ví duï
cos(2)
cos(10)
sin(7)
Tính sin cuûa x
Tính tang cuûa x
Tính acos cuûa x
Tính asin cuûa x
Tính atan cuûa x
ex
tan(x)
acos(x)
asin(x)
atan(x)
exp(x)
sqrt(x)
tan(2)
acos(5)
asin(4)
atan(6)
exp(5)
x
log(x)
Laáy logarit cô soá e
sqrt(8)
log10(x) Laáy logarit cô soá 10
log(4)
abs(x)
sign(x)
max(x)
min(x)
ceil(x)
Trò tuyeät ñoái cuûa x
Laáy daáu cuûa x
Laáy giaù trò lôùn nhaát
Laáy giaù trò nhoû nhaát
Laøm troøn veà döông voâ cuøng ceil([1.25, -4.54, 6.5, -7.1 ])
= [1, -4, 7, -7]
log10(10)
sign([1 -1 5]) = [1 -1 1]
max([1 -1 5]) = 5
min([1 -1 5]) = -1
floor(x)
Laøm troøn veà aâm voâ cuøng
floor([1.25, -4.54, 6.5, -7.1 ])
= [1, -5, 6, -8]
round(x) Laøm troøn
round([1.25, -4.54, 6.5, -7.1 ])
= [1, -5, 7, -7]
fix(x)
sort (x)
Laøm troøn veà khoâng
Saép xeáp töø nhoû ñeán lôùn
fix([1.25, -4.54, 6.5, -7.1 ])
= [1, -4, 6, -7]
sort ([1.25, -4.54, 6.5, -7.1 ])
= [-7.1, -4.54, 1.25, 6.5]
III. MA TRAÄN
Trong Matlab ma traän laø moät maûng chöõ nhaät caùc phaàn töû. Neáu ma traän coù duy
nhaát moät phaàn töû ta coù ma traän voâ höôùng, ma traän coù moät haøng hoaëc moät coät ta coù
veùc tô. Caùc pheùp toanù treân ma traän ñöôïc thieát keá moät caùch töï nhieân vaø tieän lôïi cho
ngöôøi söû duïng.
1. Taïo ma traän
Baïn coù theå taïo ma traän theo nhieàu caùch khaùc nhau:
Xaây döïng ma traän baèng vieäc nhaäp töøng phaàn töû moät
Taûi moät file döõ lieäu töø beân ngoaøi
Xaây döïng caùc ma traän nhôø caùc haøm build-in
Taïo moät ma traän baèng haøm do ta taïo ra.
Moät vaøi nguyeân taéc cô banû ñeå xaây döïng ma traän laø:
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 8
Phaân bieät giöõa caùc phaàn töû trong haøng laø khoaûng trané g hoaëc daáu phaåy.
Söû duïng daáu chaám phaåy (;) ñeå ngaên caùch giöõa caùc haøng.
Bao quanh moät ma traän laø caëp daáu: “ [ ] ”
Ví duï: caàn khai baoù moät ma traän nhö sau:
1 2 3
A 4 5 6
7 8 9
Khi nhaäp vaøo ma traän nhö treân, Matlab töï ñoäng löu bieán A trong Workspace
baïn coù theå tham chieáu ñená noù chæ ñôn giaûn nhaäp vaøo A.
Khi ta khoâng nhaäp moät bieán laáy döõ lieäu ra, Matlab töï ñonä g söû duïng bieán ans
ñeå gaùn keát quaû cuûa pheùp tính. Vaø biená naøy cuõng ñöôïc söû duïng nhö nhöõng bieán
khaùc.
Vec tô haøng laø ma traän 1 x n goàm 1 haøng vaø n coät
Vec tô coät laø moät ma traän côõ m x1, goàm moät coät vaø m haøng .
Söû duïng daáu “ ’ ” ñeå chuyeån ñoåi qua laïi giöõa caùc vec tô haøng vaø vectô coät
Ma traän soá phöùc
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 9
2. Chæ soá ma traän
Phaàn töû ôû doøng i coät j cuûa ma traän A ñöôïc kí hieäu A(i,j). Ví duï A(4,2) laø phaàn
töû ôû donø g boán, coät hai cuûa ma traän A.
Ma traän
Gaùn
Laáy giaù trò
Ta cuõng coù theå tham chieáu ñeán caùc phaàn töû cuûa moät ma traän baèng moät chæ soá
duy nhaát A(k), caùch naøy thöônø g duøng ñeå tham chieáu ñeán caùc phaàn töû cuûa vector
haøng hoaëc coät. Tuy nhieân ta cuõng coù theå aùp duïng cho caùc ma traän hai chieàu, trong
tröôøng hôïp naøy chæ soá laø vò trí cuûa phaàn töû trong ma traän.
Neáu ta truy xuaát vaøo phaàn töû ôû beân ngoaøi ma traän Matlab seõ baùo loãi
Ngöôïc laïi, neáu ta gaùn moät giaù trò cho moät phaàn töû ôû beân ngoaøi ma traän thì kích
thöôùc ma traän seõ töï ñoäng taêng leân ñeå cung caáp vò trí cho caùc phanà töû môùi.
Truy xuatá vaøo haøng thöù i, coät baát kì cuûa ma traän A ta thöïc hieän A(i ,: ). Ngöôïc
laïi khi caàn truy xuaát vaøo haøng baát kì, coät j cuaû ma tranä A ta thöïc hieän A(:,j)
Ma traän
Phaàn töû haøng cuûa ma
Phaàn töû coät cuûa ma
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 10
traän
traän
Toaùn töû “ : ” ñaây laø moät trong nhöõng toaùn töû quan troïng nhaát cuûa Matlab, noù
xuaát hieän trong caùc daïng khaùc nhau.
Bieåu thöùc
Vôùi khai baùo nhö treân ta thu ñöôïc moät vactor coù moät haøng, namê coät vôùi böôùc nhaûy
maëc ñònh laø moät.
Ñeå ñònh giaù trò böôùc nhaûy ta khai baùo nhö sau:
Khai baùo chæ soá phaàn töû cuûa ma traän A(1:k,j) nghóa laø laáy caùc phaàn töû ôû doøng moät
ñeán doøng k vaø coät j cuûa ma traän A.
Khi khai baùo A(:,end) coù nghóa laø laáy caùc phaàn töû ôû haøng baát kyø, coät cuoái
cuøng cuaû ma tranä A
Truy xuaát vaøo ma traän con cuûa moät ma traän, ví duï Eixj laø ma traän con cuûa ma
traän Amxn ta thöïc hieän nhö sau:
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 11
Neáu muoán truy xuaát vaøo phanà töû cuoái cuûa haøng hoaëc coät trong moät ma traän ta
coù theå thöïc hieän nhö sau:
Xoùa moät haøng hoaëc moät coät cuûa moät ma traän thöïc hieän pheùp gaùn haøng hoaëc
coät caàn xoaù boû baèng [ ]
Theâm vaøo moät ma traän moät haøng hoaëc moät coät ta thöïc hieän nhö sau:
Gheùp chuoãi: laø quaù trình xöû lyù laép gheùp nhieàu ma traän con (nhoû) thaønh moät ma
traän lônù , yeâu caàu cuûa pheùp gheùp laø caùc ma traän con phaûi coù kích thöôùc phuø hôïp.
clear all; clc
A1=[1 2;5 6], A2=[3 4;7 8], A3=[9 10 11 12;13 14 15 16],
A=[A1 A2;A3]
3. Caùc haøm lieân quan ñeán xöû lyù ma traän
Teân haøm
Moâ taû
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 12
Cho bieát kích thöôùt cuûa ma traän
Tính giaù trò trung bình cuûa ma traän
Tìm phaàn töû lôùn nhaát trong ma traän
Tìm phaàn töû nhoû nhaát trong ma traän
Tính giaù trò trung bình cuûa daõy
Tính toång cuaû moät ma traän
size
median:
max
min
mean
sum
Haøm traû veà chieàu daøi cuûa moät maûng
length
4. Moät soá haøm taïo nhanh ma traän
Teân haøm
Moâ taû
eye(m,n)
eye(n)
Taïo ma traän ñoàng nhaát coù kích thöôùc mxn
Taïo ma traän vuoâng ñoàng nhaát coù kích
thöôùc nxn
zeros(m,n) Taïo ma traän coù kích thöôùc mxn vôùi taát caû
caùc phaàn töû baèng khoâng
ones(m,n)
Taïo ma traän coù kích thöôùc mxn vôùi taát caû
caùc phaàn töû baèng moät
diag(A)
Cheùo hoùa ma traän A
rand(m,n)
Taïo ma traän ngaãu nhieân coù kích thöôùc mxn
5. Caùc pheùp tính treân ma traän
Pheùp tính
Chuù thích
+, -
A*B
A/B
A\B
A.*B
A./B
A.\B
.^
Coäng hoaëc tröø hai ma traän cuøng kích thöôùt
Nhaân hai ma traän A vaø B
Chia hai ma traän (chia phaûi) A vaø B
Chia traùi hai ma traän B vaø A
Nhaân tönø g phaàn töû cuûa hai ma traän A vaø B
Chia töøng phaàn töû cuûa hai ma traän A vaø B
Chia töøng phaàn töû cuûa hai ma traän B vaø A
Muõ cho töøng phaàn töû cuûa maûng
1
2
3
4
5
6
1/2
1
3/2
2
1
x
y
2\x
x/y
x/2
2./x
2/3
1/4
2/5
1/2
1/2
1
x’
1 2 3
y’
4 5 6
0 0 1/6
0 0 1/3 x./y
0 0 1/2
1/2
5
7
9
3
4
-3
-3
-3
-1
x+y
x-y
1
3/2
x./2
x+2
x-2
3/2
0
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 13
5
1
4
10
1
39
729
1
4
9
2
4
8
x^y
x^2
2^x
Error
Error
Error
x.^y
x.^2
2.^x
x*y
x’*y
x*y’
Error
x.*y
18
32
5
10 12
x’.*y Error
x.*y’ Error
2
4
8
6
12 15 18
2
4
6
(x+i*y)’
(x+i*y).'
1 - 4i 2 - 5i 3 - 6i
1 + 4i 2 + 5i 3 + 6i
x*2
x\y
x.*2
4
6
4
5/2
16/7
x.\y
2
IV. CAÙC LEÄNH VEÕ CÔ BAÛN
Caùc böôùc ñoà hoïa:
Böôùc
MATLAB code
X= 0:0.1:2*pi;
1. Chuaån bò döõ lieäu
Y= sin(X);
figure(‘Name’,’Hinh sine’);
subplot(2,2,1);
2. Choïn cöaû soå vaø vò trí cuûa ñoái töôïng ñoà
hoïa trong cöûa soå.
h =plot(X,Y);
3. Goïi hamø veõ ñoà thò
4. Xaùc ñònh thuoäc tính cho hình nhö kieåu
ñöôøng, maøu saéc, …
set(h, ‘LineStyle’,’-‘,’Color’,’r’)
axis([-1 6 -1.2 1.2]);
grid on;
5. Xaùc ñònh caùc thuoäc tính cuûa axis, axes,
löôùi veõ, …
xlabel(‘X’);
ylabel(‘Y=SIN(X)’);
title(‘Ñoà thò hình sine’);
6. Chuù thích cho ñoà thò: labels, legend,
text, …
7. Xuaát keát quaû
MATLAB code
Ñoà thò
X=0:0.01:2*pi;
Y1=sin(X);
Y2=cos(X);
figure('Name','Hinh Sine');
Subplot(2,1,1);
h=plot(X,Y1);
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 14
set(h,'linestyle','-','Color','r');
xlabel('Truc X');
ylabel('Y=sin(X)');
title('Hinh Sine');
grid on
subplot(2,1,2);
h=plot(X,Y2);
set(h,'linestyle','.','Color','b');
xlabel('Truc X');
ylabel('Y=cos(X)');
title('Hinh COS');
grid on;
V. LAÄP TRÌNH VÔÙI MATLAB
MATLAB cho pheùp ngöôøi duøng laäp trình theo hai loaïi : scripts vaø function
SCRIPTS:Laø hình thöùc ñôn giaûn nhaát cuûa M-file bôûi vì noù khoâng coù thoâng soá
vaøo vaø ra. Chuùng laø moät taäp hôïp caùc leänh vaø caùc haøm cuûa MATLAB. Scripts hoaït
ñoäng döaï vaøo ñoái töôïng tonà taïi trong Workspace. Taát caû caùc bieán taïo ra trong
scripts ñeàu coù theå söû duïng sau khi scripts keát thuùc.
Ví duï:
Thöïc hieän ôû doøng command line
%%% M-file: ex_3_1.m
theta=-pi:0.01:pi;
rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(theta).^2;
rho(4,:)=5*cos(3.5*theta).^3;
FUNCTION : Laø scripts tuy nhieân coù theâm ñoái soá vaøo ( input arguments)
vaø ñoái soá ra ( output arguments). Hoaït ñoäng cuûa bieán trong moät workspace rieâng,
caùc bieán naøy chia reõ vôùi caùc bieán trong workspace maø ta thöïc hieän trong scripts
hay ôû command line.
Caùc thaønh phaàn cô baûn cuûa moät haøm (function)
. Doøng ñònh nghóa haøm.
. Doøng cho bieát yù nghóa cuûa hamø (Doøng H1)
. Doøng chuù thích yù nghóa cuûa haøm ( Doøng Help line)
. Noäi dung cuûa haøm
Doøng ñònh nghóa haøm cho bieát: Teân cuaû haøm vaø caùc ñoái soá cuûa haøm ñöôïc minh
hoïa nhö sau:
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 15
Vieäc ñaët teân haøm cuõng coù raøng buoäc gioáng nhö vieäc ñaët teân bieán: baét ñaàu
baèng teân haøm baèng kí töï tieáp theo laø caùc con soá vaø daáu gaïch döôùi.
Ñoái soá cuûa haøm: Neáu haøm coù nhieàu giaù trò traû veà thì ta ñaët taát caû caùc ñoái soá
naøy trong daáu ngoaëc vuoâng []
function [x,y,z]= sphere(theta, phi, rho)
Neáu haøm khoâng coù giaù trò traû veà ta coù theå ñeå troáng hay ñeå daáu []
function print_result(x) hay function []=print_result(x)
Doøng H1: Ñaây laø doøng trôï giuùp ñaàu tieân, cho bieát yù nghóa cuûa haøm, doøng naøy
ngay sau doøng ñònh nghóa haøm vaø baét ñauà vôùi kí töï “ %”
Ví duï : hamø average.m
% AVERAGE means of vectô Elements
Doøng naøy seõ laø doøng ñaàu tienâ xuaát hienä khi baïn goõ help function_name ( Teân haøm
) taïi doøng nhaéc (>>) cuûa MATLAB. Doøng naøy chöùa thoâng tin raát quan troïng cuûa
haøm.
Caùc doøng trôï giuùp ( Help line):
Caùc doøng naøy ñöôïc taïo ra nhmaè muïc ñích chuù thích caùc thoâng soá cuûa hamø cuõng nhö
caùc ví duï khi söû duïng haøm nayø . Caùc doøng naøy xuatá hieän sau doøng H1 line khi baïn goõ
help function_name taïi doøng nhaéc cuûa MATLAB. Caùc doøng naøy seõ keát thuùc khi coù
doøng traéng giöaõ hai doøng coù “ %”
Ví duï baïn goõ help sin taïi doøng nhaéc MATLAB:
Coù keát quaû nhö sau:
Noäi dung cuûa haøm: ñaây chính laø phaàn chính cuûa haøm
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 16
Doøng H1
Caùc doøng trôï giuùp
Noäi dung cuûa haøm
Chuù thích trong MATLAB :
Nhö ñaõ ñeà caäp ôû treân, Doøng chuù thích laø doøng baét ñaàu vôùi daáu % . Doøng chuù
thích coù theå xuaát hieän baát cöù ñaâu trong *.m ( taäp tin cuûa MATLAB) vaø ta coù theå
ñaët ôû cuoái doøng leänh.
Ví duï:
%% Tinh tong cac phan tu
y=sum(x) % su dung ham sum
Haøm hoaït ñoäng nhö theá naøo:
Ngöôøi duøng coù theå goïi haøm ôû doøng nhaéc Matlab hay baát cöù nôi naøo trong
*.m ( taäp tin cuûa MATLAB) chaéc raèng caùc thoâng soá caàn thieát cho haøm ñuû laø ñöôïc
Khi gaëp moät teân môùi MATLAB :
1. Kieåm tra xem coù phaûi laø teân biená hay khoâng.
2. Kieåm tra xem coù phaûi laø haøm con (subfunction) vaø haøm rieâng
( private function( Haøm naèm trong thö muïc con cuûa thö muïc
hieän haønh goïi laø haøm rieâng)) hay khoâng.
3. Kieåm tra xem haøm naøy coù trong ñöôøng daån hieän haønh hay
khoâng.
function a = mean(v,n)
% Calculate average.
a = sum(v)/n;
function [avg,med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal
functions.
n = length(u);
function m = median(v,n)
% Calculate median.
w = sort(v);
avg = mean(u,n);
if rem(n,2) == 1
med = median(u,n);
m = w((n+1)/2);
else
m = (w(n/2)+w(n/2+1))/2;
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 17
Kieåm tra bieán vaøo vaø ra cuûa moät haøm:
Ta söû duïng hai haøm sau: nargin vaø nargout ñeå kieåm tra thoâng soá vaøo vaø ra
cuûa moät haøm.
Ví duï:
function c = testarg1(a,b)
if (nargin == 1)
c = a.^2;
elseif (nargin == 2)
c = a + b;
end
Caùc pheùp toaùn logic:
Pheùp toaùn
YÙ nghóa
&
|
Vaø
Hoaëc
Phuû ñònh
~
Baûng toaùn logic
Caùc haøm logic ( Logical function :
1. C = xor(A,B)
YÙ nghóa:
Toaùn töû quan heä:
Toaùn töû
YÙ nghóa
Nhoû hôn
Nhoû hôn hoaëc baèng
Lôùn hôn
<
<=
>
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 18
>=
==
~=
Lôùn hôn hoaëc baèng
Baèng nhau
Khoâng baèng
Caùc caâu leänh ñieàu kieän:
Daïng 1:
if (bieåu thöùc logic)
leänh
end
Leänh chæ thöïc hienä khi bieåu thöùc logic nhaän giaù trò ñuùng. Neáu bieåu thöùc logic
naøy khoâng thoaû maõn thì lenä h khoâng ñöôïc thöïc hieän.
Löu ñoà:
ÑK if
Leänh
Ví duï:
x = input('x = ');
if x<0
x = -x;
end;
disp('|x | = ');
disp(x);
Daïng 2:
if (bieåu thöùc logic)
leänh 1
else
leänh 2
end
Leänh 1 thöïc hieän khi bieåu thöùc logic ñuùng vaø ngöôïc laïi khi bieåu thöùc logic
sai thì leänh 2 thöc hieän.
Löu ñoà:
Ví duï:
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 19
x = input('Nhaäp x:')
if x<-1
y = abs(x+1)
else
y = abs(x-1)
end
disp('x=')
disp(x)
disp('y=')
disp(y)
Daïng 3:
if (bieåu thöùc logic 1)
leänh 1
elseif (bieåu thöùc logic 2)
leänh 2
else
leänh 3
end
ÔÛ daïng naøy leänh 1 thöïc hienä khi bieåu thöùc logic 1 thoûa maõn. Neáu bieåu thöùc
logic 1 khoâng ñuùng, chöông trình tieáp tuïc kieåm tra bieåu thöùc logic 2, neáu ñuùng
thöïc hieän leänh 2 neáu sai seõ thöïc hieän leänh 3.
Löu ñoà:
Ví duï:
if temperature > 100
disp(’Too hot - equipment malfunctioning.’)
elseif temperature > 90
disp(’Normal operating range.’)
elseif temperature > 50
disp(’Below desired operating range.’)
else
disp(’Too cold - turn off equipment.’)
end
Matlab öùng duïng trong kyõ thuaät
Khoa xaây döïng vaø cô hoïc öùng duïng
trang 20
Voøng laëp for:
for index = start:increment:end
statements
end
start vaø end laàn löôït laø giaù trò baét ñaàu vaø keát thuùc cuûa index, increment laø
böôùc nhaûy, neáu khoâng caøi ñaët böôùc nhaûy thì MATLAB maëc ñònh increment =1,
moãi laàn laëp seõ keát thuùc khi gapë töø khoùa end . Vieäc ñaàu tieân khi thöïc hienä voøng laëp
for laø MATLAB kieåm tra xem seõ laëp bao nhieâu laàn, sau ñoù môùi baét ñauà thöïc thi
voøng laëp.
Löu ñoà:
Ví duï1:
Matlab öùng duïng trong kyõ thuaät
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Matlab ứng dụng trong kỹ thuật", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_matlab_ung_dung_trong_ky_thuat.pdf

