Professional Documents
Culture Documents
1
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
2
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1
MATLAB s dng double-precision floating point arithmetic nn n c chnh
xc n khong 15 ch s. Tuy nhin, MATLAB ch hin th mc nh 5 ch s. hin
th thm ch s, bn chn nh dng format long khi bt u g cc lnh tnh ton trong
Command Window. Sau , tt c cc numerical output s c 15 ch s hin th. Chn
format short hin th tr li 5 ch s.
MATLAB c th cho kt qu chnh xc khi thc hin cc php tnh s hc, c bit
khi i tng cn tnh l cc phn s. V d, n c th cng hai phn s 1/2 v 1/3 c
kt qu chnh xc 5/6. Chng ta s tho lun lm th no thc hin iu ny trong phn
Symbolic Expressions, Variable Precision v Exact Arithmetic.
1.3. i s (Algebra)
S dng hp cng c Symbolic Math Toolbox ca MATLAB, bn c th thc hin
cc php tnh i s (algebraic) hoc biu tng (symbolic) nh phn tch cc a thc
thnh nhn t hoc gii phng trnh i s v siu vit. G help symbolic m bo
rng Symbolic Math Toolbox c ci t trn h thng ca bn.
thc hin tnh ton biu tng (symbolic canculation), bn phi s dng lnh
syms khai bo (declare) cc bin bn d nh s dng thnh cc bin biu tng (symbolic
variable). Xem xt cc chui lnh sau:
>> syms x y
>> (x+y)*(x+y)^3
ans =
(x + y)^4
>> expand(ans)
ans =
x^4 + 4*x^3*y + 6*x^2*y^2 + 4*x*y^3 + y^4
>> factor(ans)
ans =
(x + y)^4
Ch . Symbolic output nm u l tri song song vi du >>, trong khi
numerical output c tht l. Tnh nng ny thng hu ch trong vic phn bit gia
symbolic output v numerical output.
3
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1.4. Biu thc mang tnh biu tng (Symbolic Expressions), Variable
Precision v Exact Arithmetic (Php ton s hc chnh xc)
Nh chng ta bit, MATLAB s dng floating point arithmetic cho cc tnh
ton ca n. S dng Symbolic Math Toolbox, bn cng c th thc hin exact arthmetic
vi symbolic expressions. Xem xt v d sau:
>> cos(pi/2)
ans =
6.1232e-17
p n c vit bng nh dng floating point v 6.1232e-17 c ngha l
6.1232 1017 . Tuy nhin, chng ta bit rng cos / 2 c gi tr chnh xc bng 0. S
khng chnh xc ny l do khi g pi, MATLAB cho mt xp x chnh xc n khong 15
ch s, ch khng phi gi tr chnh xc ca . c kt qu chnh xc, thay v p n
gn ng, chng ta phi to mt exact symbolic representation ca / 2 bng cch nhp
sym ('pi / 2'). By gi chng ta hy ly cosin ca symbolic representation ca / 2 :
>> cos(sym('pi/2'))
4
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
ans =
0
Du ngoc kp quanh pi/2 trong sym ('pi /2') to ra mt chui gm cc k t pi / 2
v ngn khng cho MATLAB nh gi pi / 2 nh mt floating point number. Lnh sym
chuyn i chui thnh symbolic expression.
Cc lnh sym v syms lin quan cht ch vi nhau. Trn thc t, lnh syms x tng
ng vi x = sym ('x'). Lnh syms c tc ng lu di i vi cc bin m n bin
thnh symbolic variables (n tuyn b n l biu tng t by gi), trong khi sym ch c
mt nh hng tm thi tr khi bn ch nh output cho mt bin, nh trong x = sym ('x').
Sau y l cch cng hnh thc 1/2 vi 1/3:
>> sym('1/2')+sym('1/3')
ans =
5/6
Cui cng, bn cng c th thc hin variable-precision arithmetic vi vpa. V
d, in 50 ch s ca 2 , ta g
>> vpa('sqrt(2)',50)
ans =
1.4142135623730950488016887242096980785696718753769
Bn nn thn trng khi s dng lnh vpa. minh ha, hy nhp cc biu thc
3^45, vpa (3^45) v vpa ('3^45').
>> 3^45
ans =
2.9543e+21
>> vpa(3^45)
ans =
2954312706550833610752.0
>> vpa('3^45')
ans =
2954312706550833698643.0
5
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
6
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
7
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> [x(1),y(1)]
ans =
[ 1, 0]
Nghim th hai ca h chnh l cp [x(2),y(2)]
>> [x(2),y(2)]
ans =
[ -3/5, 4/5]
Nu s phng trnh t hn s bin, bn nn nh dng chui cho cc phng trnh
v cc bin m bn mun tm. V d, g solve ('2 * x -log (y) = 1', 'y') gii phng trnh
2x - log y = 1 vi nghim y c biu din theo x.
>> solve('2*x-log(y)=1','y')
ans =
exp(2*x - 1)
Lu rng khi gii h phng trnh bng lnh solve, chng ta gn u ra bng
vector [x, y]. Nu bn s dng lnh solve gii h phng trnh m khng gn u ra
bng mt vector th MATLAB khng t ng hin th cc nghim ca h. V d,
>> sol=solve('x+2*y=5','2*x+y=4')
sol =
x: [1x1 sym]
y: [1x1 sym]
bit cc vector x v y mang gi tr g ta g
>> sol.x
ans =
1
>> sol.y
ans =
2
8
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1.7.1 Vector
Vector l mt b gm cc s c sp th t. Bn c th nhp mt vector c chiu
di bt k trong MATLAB bng cch g mt b cc s, c phn tch bng du phy
hoc du cch, c bao xung quanh bi du ngoc vung. V d,
>> X=[2 3 5 8]
X=
2 3 5 8
>> X=[2,3,5,8]
X=
2 3 5 8
Gi s bn mun to mt vector vi cc s chy t 1 n 9. Di y l cch thc
hin iu m khng cn nhp mi s:
>> Y=1:9
Y=
1 2 3 4 5 6 7 8 9
>> Y=[1:9]
Y=
1 2 3 4 5 6 7 8 9
i vi cc vector m cc phn t ca n tnh t tri sang lp thnh mt cp s cng
vi cng sai d, th cch g l a:d:b vi a v b l hai phn t bin ca vector.
9
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> Z=1:2:13
Z=
1 3 5 7 9 11 13
>> Z=1:0.1:2
Z=
Columns 1 through 8
1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000
Columns 9 through 11
1.8000 1.9000 2.0000
>> Z=0:-1:-5
Z=
0 -1 -2 -3 -4 -5
Cc phn t ca vector Z c th c chit xut nh Z(1), Z (2), v.v .V d,
>> Z(1)
ans =
0
>> Z(2)
ans =
-1
thay i vector Z t vector dng sang vector ct, ta t du (') sao vector Z.
>> Z'
ans =
0
-1
-2
-3
-4
10
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
-5
Bn c th thc hin cc php ton trn vector. V d, bnh phng cc phn t
ca vector Z ta g
>> Z.^2
ans =
0 1 4 9 16 25
>> Z'.^2
ans =
0
1
4
9
16
25
Nu ta g Z^2 thay v Z.^2 th MATLAB s ly php nhn ma trn nhn Z vi
bn thn n (lc ny MATLAB hiu Z l mt ma trn c 1 dng). Khi , chng trnh s
bo li v i vi mt ma trn m mun nhn cho chnh bn thn n, ma trn phi l ma
trn vung.
>> Z^2
Error using ^
Inputs must be a scalar and a square matrix.
Do , nu ta ch mun bnh phng cc phn t ca Z mt cch ring r, ta phi
g Z.^2. Tng t, nu ta c hai vector U v V c cng s phn t, v ta mun nhn cc
phn t cng v tr ca U v V, ta ch cn g U.*V. V d,
>> U=[2 4 5 6]
U=
2 4 5 6
>> V=[-1 4 2 -3]
V=
11
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
-1 4 2 -3
>> U.*V
ans =
-2 16 10 -18
Nu bn mun chia cc phn t ca vector U cho cc phn t cng v tr ca vector
V ta g U./V. V d
>> U./V
ans =
-2.0000 1.0000 2.5000 -2.0000
Hu ht cc php ton ca MATLAB, theo mc nh, c thc hin (performed)
theo tng phn t (element-by-element). V d, bn c th g exp (Z) tnh m mi
phn t trong Z. Mt trong nhng im mnh ca MATLAB l kh nng hot ng hiu
qu trn vector. V d,
>> Z=[1 3 5 0]
Z=
1 3 5 0
>> exp(Z)
ans =
2.7183 20.0855 148.4132 1.0000
>> sin(Z)
ans =
0.8415 0.1411 -0.9589 0
1.7.2. Ma trn
Ma trn l mt tp hp cc s c sp di dng mt hnh ch nht. Cp ca ma
trn bng s dng nhn vi s ct. Vector l mt trng hp c bit ca ma trn vi s
dng bng 1. Ta xt mt ma trn c cp 2 4 nh sau:
1 1 4 8
A
2 3 5 1
Sau y l cch g c ma trn A nh trn
12
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
13
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1 2 2 7
-3 -2 -8 6
0 3 -2 3
>> A+2
ans =
3 5 6 8
3 5 1 6
5 6 2 1
>> A-3
ans =
-2 0 1 3
-2 0 -4 1
0 1 -3 -4
Nu hai ma trn A v B tha iu kin v cp php nhn hai ma trn tn ti (tc
ma trn A c cp m n , ma trn B c cp n p ) th ma trn tch AB, ta g A*B, s c cp
l m p . V nu gi s AB cij th
m p
n
cij aik bkj
k 1
Ta xt v d
>> A=[1 2 3;3 4 0]
A=
1 2 3
3 4 0
14
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
2 0 1
3 2 0
>> A*B
ans =
13 7 3
8 3 7
Nu mun nhn mt s thc c cho mt ma trn A th ta g c*A. Tch c*A l mt ma
trn c cng cp vi A v cc phn t ca n c hnh thnh bng cch nhn cc phn t
tng ng ca A cho c. Ta xt v d
>> A=[1 2 5;-1 3 4]
A=
1 2 5
-1 3 4
>> 5*A
ans =
5 10 25
-5 15 20
Ch : MATLAB c nhiu lnh tnh ton trn ma trn. Bn c th c cc vn
ny trong phn More about Matrices Chng 4 v trong online help. Mt s trong
c minh ha trong phn Cc m hnh kinh t tuyn tnh.
1.8. Hm
Trong MATLAB, ta s s dng nhng hm c sn trong th vin ca chng trnh
ln cc hm do chnh ta xy dng.
1.8.1 Hm c tnh hp
MATLAB c nhiu hm c tch hp sn. Chng bao gm cc hm c bn
sqrt, cos, sin, tan, log, exp, v atan (cho arctan) cng nh cc hm ton hc chuyn dng
hn nh gamma, erf, v besselj. MATLAB cng c mt s hng s c dng sn, bao
gm pi (s ), i (s phc i 1 ), v Inf ( ). Di y l mt s v d:
>> log(exp(9))
ans =
15
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
9
Hm log l hm logarithm vi c s e (cn gi l logarithm t nhin), c k hiu
"ln" trong nhiu ti liu. By gi xem xt
>> sin(pi/3)
ans =
0.8660
ra kt qu chnh xc ta g
>> sin(sym('pi/3'))
ans =
3^(1/2)/2
V d, xy dng hm f x x 2 2 x 3 ta g
>> f=inline('x^2+2*x+3','x')
f=
Inline function:
f(x) = x^2+2*x+3
i s u tin ca inline l mt chui cha biu thc xc nh hm. i s th hai
l mt chui xc nh cc bin c lp. tnh ton gi tr ca hm f ti mt im, chng
hn x 3 , ta g
>> f(3)
ans =
18
Cc hm c tch hp trong MATLAB c th hot ng trn cc vector cng nh
cc i lng v hng. to ra mt inline function c th hot ng trn cc vector,
chng ta s dng hm vectorize ca MATLAB. y l phin bn vector ca hm
f x x2 2x 3 :
>> g=inline(vectorize('x^2+2*x+3'),'x')
16
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
g=
Inline function:
g(x) = x.^2+2.*x+3
>> g(1:5)
ans =
6 11 18 27 38
Hm inline c th c dng xy dng cc hm s nhiu bin. Chng hn,
>> h=inline('x^4-y^3','x','y')
h=
Inline function:
h(x,y) = x^4-y^3
>> h(4,5)
ans =
131
Ta cng c th dng hm vectorize cho cc hm nhiu bin hot ng trn cc
vector. Xt v d
>> h=inline(vectorize('x^2+y^2'),'x','y')
h=
Inline function:
h(x,y) = x.^2+y.^2
>> [h(1:4,2);h(1:4,3)]
ans =
5 8 13 20
10 13 18 25
>> [h(1:4,2:2:8)]
ans =
5 20 45 80
17
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1.9. th
Trong phn ny, ta s tm hiu hai lnh c bn ca MATLAB dng v th v
cch s dng chng.
1.9.1. V th vi ezplot
Cch n gin nht v th hm mt bin l dng lnh ezplot, i s c
mong i l mt string hoc symbolic expression i din cho hm c v. V d, v
th hm s y x 2 x 1 trn khong -3 n 3 (s dng dng chui ca ezplot), ta g
Hnh 1-2: th hm s y x 2 x 1
Chng ta bit rng ezplot chp nhn mt string argument hoc mt symbolic
expression. S dng mt symbolic expression, bn c th to ra Hnh 1-2 bng cch g
>> syms x
>> ezplot(x^2-x+1,[-3 3])
18
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1.9.2. Sa i th
Ta c th sa i th theo mt s cch. Ta thay i tiu (title) ca th bng
cch g title Tn tiu trong Command Window (ch l khng c thot ca s
graphic window khi g lnh title). V d,
>> ezplot(x^2,[-2 2])
>> title 'A Parabola'
Hnh 1-3: th hm s y x 2
Bn c th i nhn (label) trn trc ngang (horizontal axis) vi lnh xlabel hoc
thay i nhn trn trc dc vi lnh ylabel. V d, qung ng s ca mt vt th ang di
chuyn ti thi im t (n v s) c xc nh bi hm s t 2 3t vi t 0;5 . Sau y
l th th hin qung ng di chuyn ca vt th theo thi gian t cng vi cc lnh g.
>> ezplot('t^3+3*t',[0 5])
>> title 'Distance of a moving Object'
>> xlabel 'time t(s)'
>> ylabel 'Distance s'
19
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 1-3: th hm s s t 3 3t
1.9.3. V th vi plot
Lnh plot lm vic trn cc vector ca d liu s (vectors of numerical data). C
php c bn l plot(X,Y) trong X v Y l hai vector c cng kch thc. V d,
>> X=[1 1.1 1.2 1.4 1.7 1.8 2 2.1 2.2 4.1 5];
>> Y=[2 1.9 2.4 2.7 1.1 3.1 5 2.1 3.4 4.5 4];
>> plot(X,Y)
20
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 1-4
Lnh plot(X,Y) to ra mt th bao gm cc on thng ni hai im k nhau l
(X(i),Y(i)) v (X(i+1),Y(i+1)) (xem Hnh 1-4).
21
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 1-5
Hnh 1-6
22
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 1-7
23
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 1-8
24
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Trong chng ny chng ta s tho lun cch s dng script M-file v function M-
file mt cch hiu qu nht. Ngoi ra, chng ta cng a ra mt s gi n gin sa
li M-file ca bn.
2.1. M-File
i vi nhng vn phc tp, cc cng c c cung cp bi Command Window
v c ch lch s ca n l khng y . Cch tip cn tt hn l to ra mt M-file. C
hai loi M-file khc nhau: script M-file v function M-file. Chng ta s minh ho vic s
dng c hai loi M-file ny.
M-file l nhng tp tin vn bn thng thng cha lnh ca MATLAB. Bn c
th to v sa i chng bng bt k trnh son tho vn bn no c kh nng lu cc tp
v dng vn bn ASCII thun ty (plain ASCII text). Cc trnh son tho vn bn nh
vy bao gm notepad trong Windows hoc emacs, textedit, v vi trong UNIX. Tin li
hn, bn c th s dng Editor/Debugger c tch hp sn trong MATLAB (ch vic
chn Home\ New Script), ngoi ra bn cng c th bt u to ra mt M-file bng cch
g lnh edit vo ca s Command Window. Nu bn mun gi mt M-file c to
ra t trc bn ch vic g lnh edit + tn ca M-file.
25
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
y=sin(x)./x
Lnh echo. Nh cp trn, cc lnh trong script M-file s khng t ng
hin th trong Command Window. Nu bn mun cc lnh c hin th cng vi kt qu
trong Command Window, hy s dng lnh echo:
echo on
format long
x=[0.1 0.001 0.001 0.0001 0.00001 0.000001]
y=sin(x)./x
echo off
Phn ch thch. Bao gm cc ch thch trong mt script M-file di. Nhng ch
thch ny c th gii thch cc lnh m bn ang s dng cho vic tnh ton, hoc n c th
gii thch cc kt qu tnh ton. Bt k dng no trong script M-file m bt u vi du
phn trm u c coi nh mt ch thch v khng c thc hin bi MATLAB. y
l phin bn mi ca Ex1.m vi mt vi nhn xt thm:
echo on
% Turn on 15 digit display
format long
x=[0.1 0.001 0.001 0.0001 0.00001 0.000001]
y=sin(x)./x
% These values illustrate the fact that the limit of
% sin(x)/x as x approaches 0 is 1.
echo off
Ch . Nu bn s dng lnh echo trong mt script M-file, th MATLAB cng s
echo cc ch thch, v vy chng s xut hin trong Command Window.
Cu trc ca mt script M-File. Mt script M-File nn c t cha (self-
contained), tc khng b nh hng bi cc bin m bn c th nh ngha ni khc
trong MATLAB, v khng b hng bi cc th cn st li. Vi iu ny trong tm tr,
bn c th g lnh clear all u mt script M-File m bo rng cc nh ngha trc
ca cc bin khng nh hng n kt qu. Bn cng c th g thm lnh close all ng
tt c cc th trc. V d, bn to script M-file nh sau:
clear all % xoa sach
close all % dong sach
echo on
f=inline('x^2','x')
ezplot(f,[-3 3])% ve do thi ham so x^2
hold on % giu do thi
ezplot('exp(x)',[-3 3])
% Ve do thi ham e^x trong doan [-3 3]
title 'x^2 and exp(x)' % Doi nhan
xlabel 'x axis' % Doi ten truc Ox
ylabel 'y axis' % Doi ten truc OY
echo off
Kt qu xut hin trong Command Window v Graphic Window l
26
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> Ex2
f=inline('x^2','x')
f=
Inline function:
f(x) = x^2
Hnh 2-1
Ch . Thnh thong bn phi g, hoc trong Command Window hoc trong mt
M-file, mt lnh di n ni mt dng khng cha ht. Nu c, khi bn n gn cui dng,
bn g ba du chm lin tip ri nhn ENTER, v tip tc g lnh trn dng mi. Trong
Command Window, bn s khng nhn thy du nhc lnh trn dng mi.
27
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
28
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
0.998334166468282
0.999983333416666
0.999999833333342
0.999999998333333
0.999999999983333
0.999999999999833
0.999999999999998
1.000000000000000
1.000000000000000
1.000000000000000
29
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> giaithua(12)
f=
479001600
Thnh thong bn c th dng vng lp for-end v cc th c cng loi trn
cng mt Graphic Window. Sau y l cc lnh trong mt function M-file c tn gi
loopforofdothi, dng v th cc hm s y sin x , y sin 2 x , y sin 3x v
y sin 4 x vi x ; .
function dt=loopforofdothi(n)
syms x
for i=1:n
ezplot(sin(i*x),[-pi pi]);
hold on
end
title 'Do thi cac ham so y=sin(ix) voi i=1,2,3,4';
xlabel 'x axis';
ylabel 'y axis';
G loopforofdothi(4) trong Command Window ta c kt qu
Hnh 2-2
Ngoi cch dng lnh ezplot, ta c th dng lnh plot.
function dt=loopfordothibyplot(n)
30
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
x=-pi:0.2:pi;
for i=1:n
plot(x,sin(i*x));
hold on
end
title 'Do thi cac ham so y=sin(ix) voi i=1,2,3,4';
xlabel 'x axis';
ylabel 'y axis';
G loopfordothibyplot(4) trong Command Window ta c kt qu
Hnh 2-3
31
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
32
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> x=9;
>> disp(x)
9
hoc
>> disp(solve('x+y=2','y'))
2-x
3.2. Cc lp d liu
Mi bin bn nh ngha trong MATLAB, cng nh mi input, output v
command l mt mng (array) cc d liu thuc mt lp c th. Trong cun sch ny, ta
s dng ch yu bn loi d liu, bao gm: floating point number, symbolic
expression, character string v inline function. Ta tm hiu tng loi trong Chng
1. Tuy nhin, bn c tin theo di, chng ti lit k cc loi d liu, lp cha n v
cch to cc loi d liu ny trong bng di y.
Bng 3-1
Bn c th xem mt mng (array) nh mt li d liu hai chiu (two-dimensional
grid of data). Mt s n l (hoc mt symbolic expression, hoc mt inline function)
c MATLAB coi l mng c cp 1 1, i khi c gi l mt v hng (scalar). Mt
mng kch thc 1 n c gi l mt vector hng v mt mng c kch thc m1 c
gi l mt vector ct (mt chui thc s l mt vector hng ca cc k t). Mt mng gm
cc s c kch thc m n c gi l mt ma trn (matrix). Lu , bn c th thy cc
lp v kch thc mng ca mi bin m bn nh ngha trong Workspace.
Nhiu lnh cho php nhiu hn mt lp input, mc d ta thy ch c mt lp d
liu c cp trong online help. Tnh linh hot ny c th tin li trong mt s trng
hp nhng cng l mt mi nguy him trong vi trng hp khc. V d, lnh tnh tch
phn, int, chp nhn chui cng nh symbolic input, mc d help text ca n ch cp
n symbolic input. Mt v d khc, lnh factor c dng a cc symbolic
expression v dng n gin nht c th. Tuy nhin, lnh ny cng c dng phn
tch mt s nguyn v dng tiu chun. Chng hn,
33
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> factor(45)
ans =
3 3 5
trong khi
>> syms x y
>> factor(x^2-y^2)
ans =
(x - y)*(x + y)
Ch : hiu thm v cch dng cc lnh. Bn g help+tn lnh.
i khi bn cn chuyn i mt lp d liu no sang mt lp d liu khc
chun b cho vic output ca lnh ny phc v nh l input cho mt lnh khc. V d, s
dng lnh plot trn mt symbolic expression ly t solve, thc hin iu ta s dng
lnh vectorize v sau n lnh inline, bi v lnh inline khng cho php symbolic input
v vectorize chuyn symbolic expression sang dng string. Bn c th thc hin cng
mt chuyn i m khng vectorizing cc expression bng cch s dng lnh char. Cc
lnh chuyn i hu ch khc m chng ta thng gp l double (symbolic to numerical),
sym (numerical or string to symbolic), v inline (string to inline function). Ngoi ra,
cc lnh num2str v str2num chuyn i gia s v chui.
3.2.1. X l chui
Trong qu trnh x l cc bi ton bng MATLAB, bn thng c yu cu ni
cc chui (string) vi nhau. Cch n gin nht lm iu ny l s dng khi nim
vector ca MATLAB, lu rng mt chui l mt vector hng cc k t. V d: g
[string1, string2] kt hp string1 v string2 thnh mt chui.
Sau y l mt ng dng hu ch ca vic ni chui. Bn cn xc nh mt bin
chui (string variable) cha mt biu thc phi mt nhiu dng g. (Trong hu ht cc
trng hp, bn c th tip tc nhp MATLAB input vo dng k tip bng cch g ba
du chm lin tip v nhn ENTER, nhng iu ny khng c php gia mt chui).
Gii php l ph v chui thnh cc chui nh hn v sau ni chng li bng vector,
nh trong:
>> tamgiacdeu=['Mot tam giac co ba canh bang nhau thi ' ...]
'ba goc cua tam giac do cung bang nhau']
34
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
tamgiacdeu =
Mot tam giac co ba canh bang nhau thi ba goc cua tam giac do cung bang nhau
3.2.2. Symbolic v Floating Point Number
Chng ti cp trn rng bn c th chuyn i gia symbolic number v
floating point number vi lnh double v sym. Cc con s m bn g, theo mc nh, l
floating point. Tuy nhin, nu bn kt hp cc symbolic number v floating point
number trong mt biu thc s hc, cc floating point number s t ng chuyn thnh
symbolic number. iu ny gii thch ti sao bn c th g syms x v sau x^2 m
khng cn phi chuyn i s 2 sang symbolic number. V d,
>> b=1/3
b=
0.3333
>> c=1/(sym(3))
c=
1/3
MATLAB c thit k sao cho mt s floating point number c th khi phc
gi tr chnh xc khi chuyn i sang symbolic nh: cc s nguyn, s hu t vi t s v
mu s nh, cn bc hai ca mt s nguyn dng nh, s v cc kt hp nht nh ca
cc s ny. V d,
>> c=sqrt(5)
c=
2.2361
>> c=sym(sqrt(5))
c=
5^(1/2)
Rt kh d on khi no MATLAB s gi cc gi tr chnh xc, tt nht l ta nn
ngn chn floating point evaluation ca numeric argument bng cch t s trong
du ri mi tc ng lnh sym. V d,
>> sym(1+sqrt(3))
ans =
35
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
6152031499462229/2251799813685248
>> sym('1+sqrt(3)')
ans =
3^(1/2) + 1
36
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> f=inline('x^2+3*x+1','x');
>> f(2)
ans =
11
>> syms x;
>> subs(x^2+3*x+1,x,2)
ans =
11
3.4. S phc
S phc l cc s c dng a bi , trong i 2 1 v a v b l s thc. S phc i
c biu din di dng i trong MATLAB. Mc d bn t khi c c hi nhp mt s phc
trong MATLAB, MATLAB thng a ra mt cu tr li lin quan n s phc. V d,
nhiu a thc vi h s thc c nghim l cc s phc:
>> solve('x^2+4*x+5=0','x')
ans =
-2+i
-2i
C hai nghim ca phng trnh bc hai trn u l cc s phc. Mt vi function
ph bin cng tr v gi tr phc cho mt s gi tr ca i s. V d,
>> log(-1)
ans =
0.0000 + 3.1416i
37
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
38
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
c to ra bng cch g A (2: 3,2: 4). Du hai chm s biu th ton b mt hng hoc
mt ct. V d, A (:, 2) biu th ct th hai ca A, v A (3, :) cho ra hng th ba ca A.
>> A=[1 2 5 4;3 6 9 7;1 0 5 8];
>> A(2,4)
ans =
7
>> A(2,[2 4])
ans =
6 7
>> A(2,2:4)
ans =
6 9 7
>> A(2,:)
ans =
3 6 9 7
>> A(:,1)
ans =
1
3
1
>> A(1:2,2:4)
ans =
2 5 4
6 9 7
Nu bn mun xy dng mt ma trn c cp m n vi cc phn t u bng 0 th
bn g zeros(m,n), cn u bng 1 th bn g ones(m,n). Ngoi ra, nu bn g eye(n) th
ma trn n v cp n s c to ra.
>> zeros(2)
39
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
ans =
0 0
0 0
>> ones(2)
ans =
1 1
1 1
>> eye(2)
ans =
1 0
0 1
40
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
1.0000
1.0000
4.0000
>> [U,R]=eig(A)
U=
0.4082 0.7071 0.5774
0.4082 -0.7071 0.5774
-0.8165 0 0.5774
R=
1.0000 0 0
0 1.0000 0
0 0 4.0000
c c symbolic output ta g
>> A=[2 1 1;1 2 1;1 1 2];
>> [U,R]=eig(sym(A))
U=
[ 1, -1, -1]
[ 1, 1, 0]
[ 1, 0, 1]
R=
[ 4, 0, 0]
[ 0, 1, 0]
[ 0, 0, 1]
41
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
3.6.1. o hm
Bn c th s dng lnh diff tnh o hm cc symbolic expression, v cng
xp x o hm ca nhng hm c cho bi bng s liu.
>> syms x
>> diff(x^4)
ans =
4*x^3
C php tnh o hm cp hai l diff (f (x), 2), v i vi o hm cp n l diff (f
(x), n).
>> f=inline('sin(2*x)','x');
>> diff(f(x))
ans =
2*cos(2*x)
>> diff(f(x),2)
ans =
-4*sin(2*x)
>> diff(f(x),5)
ans =
32*cos(2*x)
Lnh diff cng c th tnh cc o hm ring ca cc biu thc c nhiu bin, nh
trong diff (x^2*z+y^2*z^2,y), nhng tm cc o hm ring cp cao, bn phi s dng
lnh diff nhiu ln, nh trong diff (diff(x^2*z+y^2*z^2, x), y). (Hy nh khai bo x,y v
z l cc biu tng.)
>> syms x y z
>> f=inline('x^2*z+y^2*z^2','x','y','z')
f=
Inline function:
f(x,y,z) = x^2*z+y^2*z^2
42
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> diff(f(x,y,z),y)
ans =
2*y*z^2
>> diff(diff(f(x,y,z),y),y)
ans =
2*z^2
C mt trng hp m o hm phi c th hin bng ch D, c th l khi bn
cn ch nh mt phng trnh vi phn nh l input cho mt lnh. V d, gii phng
trnh vi phn y '-2*y/x=0, bn nhp dsolver(Dy-2*y/x=0, x).
>> dsolve('Dy-2*y/x=0','x')
ans =
C2*x^2
43
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> syms x
>> int(x^5,0,3)
ans =
243/2
>> int(sym(log(x)/x),1,2)
ans =
log(2)^2/2
>> int(sym(x*sin(x)),0,pi)
ans =
pi
Bn chc chn bit c rng khng phi mi function u tnh c nguyn hm,
ko theo tnh phn xc nh ca n khng th c dng symbolic output. Do , vic cho
ra kt qu dng numerical output l iu cn thit. MATLAB c hai lnh thc hin
iu l: quad v quadl. Chng ti ngh quadl, v quad nh l mt s la chn th
hai. y l mt v d:
>> syms x
>> int(exp(x^2),0,1)
ans =
(pi^(1/2)*erfi(1))/2
>> quadl(vectorize(exp(x^2)),0,1)
ans =
1.4627
>> quad(vectorize(exp(x^2)),0,1)
ans =
1.4627
Cc lnh quad v quadl khng th dng tnh tch phn c cn l inf hoc -inf,
m ch dng lnh int. Tuy nhin, cc tt nht tnh tch phn suy rng l ta thay inf bng
mt s rt ln v -inf bng mt s rt nh. V d,
>> syms x
44
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> int(1/(x^2),1,inf)
ans =
1
>> int(1/(x^2),1,10^(10))
ans =
9999999999/10000000000
>> quadl(vectorize(1/(x^2)),1,10^(10))
ans =
1.0000
MATLAB cng c th x l tch phn bi 2 bng lnh int. Sau y l mt v d:
1 x
Tnh tch phn x y dxdy .
0 0
>> int(int(x+y,y,0,x),0,1)
ans =
1/2
tnh gn ng tch phn bi 2 ta dng lnh dblquad. V d
3 3
x y 2 dxdy
2
Tnh tch phn
0 0
>> syms x y;
>> int(int(x^2+y^2,y,0,3),0,3)
ans =
54
>> dblquad(vectorize(x^2+y^2),0,3,0,3)
ans =
54.0000
45
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
3.6.3. Gii hn
Bn c th dng lnh limit tnh gii hn, gii hn tri, gii hn phi, gii hn ti
v cng. V d,
>> limit((exp(x)-1)/x,x,0)
ans =
1
>> limit(abs(x)/x,x,0,'left')
ans =
-1
>> limit(abs(x)/x,x,0,'right')
ans =
1
>> limit(x/(sqrt(x^2+1)),x,inf)
ans =
1
>> limit(x/(sqrt(x^2+1)),x,-inf)
ans =
-1
46
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
>> sum(sym(c.^2))
ans =
2737280785
tnh tch 3 5 7 11 19 25 ta lm nh sau:
>> syms k n;
>> symsum(k^2,1,n)
ans =
(n*(2*n + 1)*(n + 1))/6
1
tnh chui k k 1
k 1
ta g
>> syms k ;
>> symsum(1/(k*(k+1)),1,inf)
ans =
1
k
tnh chui a
k 0
ta g
>> syms a k;
>> symsum(a^k,0,inf)
ans =
piecewise([1 <= a, Inf], [abs(a) < 1, -1/(a - 1)])
47
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
48
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
49
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
50
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-3.
Bn c th ch nh mt tp gm mt s ng mc ca hm z x 2 y 2 m bn
mun v bng cch b sung mt vector vi cc phn t l bn knh ca cc ng mc .
V d, v cc ng mc ca hm z x 2 y 2 vi bn knh ln lt bng i , i 1, 64
ta g (trn mt script M-File c tn l contourplot2)
[X Y]=meshgrid(-8:0.01:8 -8:0.01:8);
51
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
contour(X,Y,X.^2+Y.^2,[1:64])
axis square
G contourplot2 trn Command Window ta c
Hnh 4-4.
52
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-5.
2
v ng lemniscate x 2 y 2 x 2 y 2 , ta vit li phng trnh
2
x 2
y 2 x2 y 2 0
Hnh 4-6.
53
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-7.
54
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
4.2. th ba chiu
4.2.1. ng cong trong khng gian ba chiu
i vi cc ng cong v trong khng gian 3, lnh c bn l plot3 v n hot ng
ging nh lnh plot, ngoi tr phi c ba vect thay v hai, mt cho ta x, mt cho ta
y, v mt cho ta z. V d, chng ta c th v mt helix (ng xon c) bng cch
g (trn mt script M-File c tn l helix)
X=-2:0.01:2;
plot3(cos(2*pi*X),sin(2*pi*X),X)
axis([-1.5 1.5 -1.5 1.5 -1.5 1.5]);
G lnh helix trn Command Window ta c
Hnh 4-8.
Ngoi ra, bn c th dng lnh ezplot3 v ng helix bng cch g (trn
Command Window) lnh
>> ezplot3('cos(2*pi*x)','sin(2*pi*x)','x',[-2 2]);axis([-1.5 1.5 -1.5 1.5 -1.5 1.5]);
55
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
C hai cch khc nhau dng lnh mesh v surf. Cch th nht dng v nhng
mt c phng trnh tng qut z f x, y ; cch th hai dng v nhng mt c phng
trnh tham s x x u, v ; y y u; v v z z u; v . Sau y l mt s v d minh ha:
Hnh 4-9.
v bng lnh surf ta g (trn mt script M-File c tn l plot3forsurf)
[X Y]=meshgrid(-1.2:0.1:1.2 -1.2:0.1:1.2);
Z=X.^2-Y.^2;
surf(X,Y,Z)
G trn Command Window lnh plot3forsurf ta c
56
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-10.
v mt cu x 2 y 2 z 2 1 , ta chuyn v phng trnh tham s
x cos u sin v
y sin u sin v
z cos v
vi u, v ; . Sau dng lnh mesh bng cch g (trn mt script M-File c tn l
plot3formeshpara)
[u v]=meshgrid(-pi:0.1*pi:pi -pi:0.1*pi:pi);
X=cos(u).*sin(v);
Y=sin(u).*sin(v);
Z=cos(v);
mesh(X,Y,Z)
axis equal
xlabel 'x axis';
ylabel 'y axis';
xlabel 'z axis';
G plot3formeshpara trn Command Window ta c
57
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-11.
v bng lnh surf ta g (trn mt script M-File c tn l plot3forsurfpara)
[u v]=meshgrid(-pi:0.1*pi:pi -pi:0.1*pi:pi);
X=cos(u).*sin(v); Y=sin(u).*sin(v);
Z=cos(v); surf(X,Y,Z)
axis equal; xlabel 'x axis'; ylabel 'y axis'; xlabel
'z axis';
G plot3forsurfpara trn Command Window ta c
Hnh 4-12.
58
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
59
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-13
4.3.2. Hnh ng
Cch n gin nht to ra hnh ng l ta dng lnh comet. Cch dng lnh
comet tng t nh cch dng lnh plot. Bn xem v d sau y:
60
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
axis square;
hold on
for i=1:6
subplot(3,2,i);
comet(t,cos(t*pi*i));
end
to ra cc hnh ng phc tp hn, bn c th s dng lnh getframe v movie.
Lnh getframe chp li active figure window cho mt khung ca phim, v lnh movie s
pht li kt qu. V d sau y to ra mt b phim ca mt dy rung (c g trn mt
script M-File c tn l hinhdong3):
x = 0:0.01:1;
for j = 0:50
plot(x, sin(j*pi/5)*sin(pi*x))
axis([0, 1, -1, 1]);
M(j+1) = getframe;
end
movie(M)
Cn lu rng lnh axis trong trng hp ny rt quan trng, n m bo mi
khung ca phim c v trn cng mt h trc ta (nu khng, t l ca cc trc s khc
nhau mi khung v kt qu ca b phim s hon ton gy hiu nhm). Du chm phy
sau lnh getframe cng rt quan trng, n ngn cn vic pht sinh rt nhiu d liu s vi
mi khung ca b phim. Cui cng, trong lc MATLAB thc hin vng lp to ra cc
khung ca b phim, bn khng nn g cc lnh to ra th trn Command Window.
4.4. Ty chnh v thao tc trn th
Mt khi th c to ra v hot ng, ta c hai cch c bn ty chnh v
thao tc trn th. Cc th hot ng (active figure) c th c sa i bi cc lnh
trong Command Window, chng hn nh cc lnh title v axis square m chng ta
tm hiu. Hoc ta c th sa i th bng cch s dng menu hoc tool trong figure
window cha th . Hy xem xt mt vi v d. chn nhn hoc vn bn vo mt
th, ta c th s dng cc lnh text, xlabel, ylabel, zlabel, legend, v thm vo tiu
bng lnh title. Cc lnh xlabel, ylabel, v zlabel ln lt thm vn bn bn cnh cc trc
ta Ox, Oy v Oz; lnh legend t mt "cu ch gii" trn th, v lnh text thm
vn bn vo mt im c th. Cc lnh ny c cc i s ty chn khc nhau c th c
s dng thay i font v font size ca vn bn. Chng hn, ta xem xt v d sau (vit
trn mt Script M-File c tn l Tuychinhhinh1)
close all
clear all
syms x y
a=ezplot('-x^2+y^2+(x^2+y^2)^2=0',[-1.1 1.1],[-1.1
1.1])
hold on
b=ezplot('x^2+y^2=1',[-1 1],[-1 1])
axis square
61
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-14
Trong v d trn ta c s dng lnh set (cu trc l set(a, Color, character of
color)). Khi v cc th trn cng mt figure window bng lnh ezplot, kt qu mc
nh l cc th s c cng mu nn gy kh khn cho ta trong vic s dng lnh legend.
Lnh set gip ta khc phc nhc im trn bng cch gn mt th cho mt mu c th
m ta chn.
Ta xt thm mt v d (vit trn mt Script M-File c tn l Tuychinhhinh2)
close all
62
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
clear all
syms x y
dothi=ezplot('(x^2+y^2+x)^2-x^2-y^2=0',[-2.1 2.1],[-2.1
2.1])
axis square;
title('Cardioid curve','Fontname','Bell
MT','FontSize',13,'Color','r','FontWeight','bold')
xlabel('x axis','FontName','Bell
MT','FontSize',13,'Color','b')
ylabel('y axis','FontName','Bell
MT','FontSize',13,'Color','b')
set(dothi,'Color','m')
text(0.1,0,'\leftarrow a node','FontName','Bell
MT','FontSize',11)
G Tuychinhhinh2 ln Command Window ta c th nh sau:
Hnh 4-15
Ch rng nhiu k hiu (trong Hnh 4-15 l mt mi tn ch bn tri) c th c
chn vo mt chui vn bn (text string) bng cch gi chng vi tn bt u bng \ (nu
bn s dng chng trnh sp ch khoa hc TEX, bn s nhn ra quy c ny). Trong
hu ht cc trng hp, cc tn sau du \ l self-explanatory. V d, bn nhn k t
bng cch g \pi, nhn du bng cch g \Sigma hoc \sum, v cc mi tn tr theo cc
63
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
hng khc nhau vi \leftarrow, \uparrow, v.v. bit thm chi tit v danh sch y
cc biu tng c sn, hy xem danh sch "Text Properties" trong Browser Help.
Hnh 4-16
Nu ta g tip (yu cu khng thot figure window)
>> view(3)
th kt qu nhn c l
64
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-17
close all
clear all
X=(0:0.01:2)*pi;
Y1=sin(X);
Y2=cos(X);
a=plot(X,Y1,':r');
hold on
b=plot(X,Y2,'-b');
hold on
X1=[0 pi/2 pi 3*pi/2 2*pi];
Y1=[0 1 0 -1 0];
Y2=[1 0 -1 0 1]
plot(X1,Y1,'+b',X1,Y2,'*m')
xlabel('x axis','FontName','Bell MT','FontSize',11)
ylabel('y axis','FontName','Bell MT','FontSize',11)
axis([-0.1 7 -1.1 1.1])
title('sin curve and cos curve','FontName','Bell
MT','FontSize',15,'Color','b')
legend([a,b],'y=sin(x)','y=cos(x)','Location','SouthOut
side')
G plotstyle1 trn Command Window ta c
Hnh 4-18
66
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-19
Nu ta mun cc mc xut hin k hiu thay v pi th ta g
set(gca,'FontName','Symbol')
set(gca,'XTick',(0:1/2:2)*pi,'XTicklabel','0|pi/2|pi|3p
i/2|2pi')
4.4.3. Nhng ty chnh khc
Cc lnh hu ch nh get v set c th c s dng thu mt danh sch y
cc thuc tnh ca graphic window v sau l sa i chng. Cc thuc tnh ny c
sp xp theo cu trc c th bc, xc nh bi cc du hiu (cc du hiu ny thng c
i din bi cc s thc) m ta gi l handle. Nu bn g get(gcf), bn s thu c mt
danh sch cc thuc tnh ca thi va mi v. Chng hn, trn mt Script M-File c tn
l Plotstyle2 ta g
67
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
clear all
close all
t=(0:0.001:100)*pi;
X=sin(t)+1/2*sin(5*t)+1/4*cos(2.3*t);
Y=cos(t)+1/2*cos(5*t)+1/4*sin(2.3*t);
plot(X,Y,'Color','b');
axis([-1.8 1.8 -1.8 1.8]);
axis square;
G Plotstyle2 trn Command Window v sau chp mn hnh, ta c hnh nh
sau y
Hnh 4-20
G tip get(gcf) trn Command Window th cc thuc tnh ca Hnh 4-20 s c
lit k y . Sau y l hai thuc tnh tiu biu
Color = [0.8 0.8 0.8]
PaperSize = [8.5 11]
Thuc tnh PaperSize cho ta bit kch thc ca figure window vi gi tr mc
nh [8.5 11]. Thuc tnh Color cho ta mu nn ca figure window trong ta RGB
(red-green-blue), y [0 0 0] l mu en v [1 1 1] l mu trng, [0.8 0.8 0.8] l mu
xm nht.
thay i thuc tnh ca Hnh 4-20, chng hn nh Color, ta g trong Command
Window nh sau (khng c tt figure window):
>> set(gcf,'Color',[0.1 0.4 0.5])
v c kt qu
68
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-21
69
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-22
Ta c th t mu cc nh ca a gic bng lnh fill. Sau , bt k im no thuc
a gic s c mu l s phi hp ca cc mu nh. Ta xt v d sau (trn mt Script M-
File c tn l lenhfill2.m)
close all
A=[1 1];B=[3 1];C=[3 2];D=[1 2];
hv=[A;B;C;D];
M=[0 3 7 10];
figure;
hold on
axis([0 4 0 3])
fill(hv(:,1),hv(:,2),M)
title('To mau cho hinh chu
nhat','Color','b','FontName','Bell MT','FontSize',16)
axis square
G lenhfill2 ln Command Window ta c
Hnh 4-23
70
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
71
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
fill(node([a a(1)],2),node([a
a(1)],3),den)
hold on
else
a=node_elem(k,[2 3 4 5]);
fill(node([a a(1)],2),node([a
a(1)],3),trang)
hold on
end
else
if rem(k,2)==1
a=node_elem(k,[2 3 4 5]);
fill(node([a a(1)],2),node([a
a(1)],3),trang)
hold on
else
a=node_elem(k,[2 3 4 5]);
fill(node([a a(1)],2),node([a
a(1)],3),den)
hold on
end
end
end
end
set(gca,'XTick',[],'YTick',[]); axis square;
G covua(8,8) trn Command Window ta c
Hnh 4-24
72
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-25
73
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
d=plot(2*cos(i/50*pi)+cos(v*pi),2*sin(i/50*pi)+sin(v*pi
));
e=plot(2*(1-cos(i/50*pi))*cos(i/50*pi)+1,2*(1-
cos(i/50*pi))*sin(i/50*pi),'ok');
writeVideo(obj,getframe(gcf));
end
close(obj)
G videoCordioid trn Command Window ta s c mt file video c phn m
rng l '.avi'. Sau y l mt nh chp t video
74
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
Hnh 4-26
75
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
MC LC
76
Hunh Hu Dinh Trng i hc Cng Nghip TP.HCM
77