You are on page 1of 16

Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

54
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Chng 4

HA VI MATLAB

4.1. im v ng
4.1.1. Hm Plot - V cc im v ng trong mt phng (2D)
Phn ln cc cu lnh v th trong mt phng u l lnh plot. Lnh plot v
th ca mt mng d liu trong mt h trc thch hp v ni cc im bng
ng thng.
V d:
>>x=linspace(0,2*pi,30);
>> y=sin(x);
>> plot(x,y)
Lnh plot m ra ca s ha gi l ca s figure:













Trong ca s ny n s to ra chia ph hp vi d liu, v th qua cc
im, v th c to thnh bi vic ni cc im ny bng ng nt lin.
C th v nhiu hn mt th trn cng mt hnh v bng cch a thm vo
plot mt cp i s, plot t ng v th th hai bng mu khc trn mn hnh.
Nhiu ng cong c th cng v mt lc nu nh cung cp cp i s cho
lnh plot.






Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

55
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
V d: Ta cng c th s dng cng h trc ca v d trn v thm th cosx
>>z=cos(x);















Nu nh ta thay i trt t cc i s th th s xoay mt gc bng 90
o
.
>> plot(y,x,z,x)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0
1
2
3
4
5
6
7

4.1.4. Kiu ng, nh du v mu sc
MATLAB mc nh ng v l ng lin, khng nh du, mu xanh da tri.
Ta c th thay i kiu ng v v nh du ln th bng cch a vo mt
i s th ba. Cc i s ty chn ny l mt xu k t, c th cha mt hoc
nhiu hn theo bng di y.
Nu mt mu, du v kiu ng tt c u cha trong mt xu, th kiu mu
chung cho c du v kiu nt v. khai bo mu khc cho du, ta phi v cng
mt d liu vi cc kiu khai bo chui khc nhau.
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

56
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Biu
tng
Mu Biu
tng
nh du Biu
tng
Kiu nt v
b xanh da tri . chm - nt lin
g xanh l cy o vng trn : nt chm
r x du x -. nt gch - chm
c xanh da tri nht + du + -- nt t
m tm * du hoa th
y vng s hnh vung
k en d hnh thoi
w trng

tam gic hng xung


tam gic hng ln

<
tam gic hng phi

>
tam gic hng tri
p sao nm cnh
h sao su cnh

V d:>>plot(x,y,'m*',x,y,'b--')













rng ca ng v (lines) c xc nh km vi m t Linewidth trong lnh
plot. rng ng v c mc nh l 0.5 point 1/72 inch.
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

57
Chiu cao ca du (marker) c xc nh km vi m t Markersize trong lnh
plot. Chiu cao ca du c mc nh l 6 point.

V d:
>>plot(x,y,'p-','linewidth',4,'markersize',6)
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Ngoi ra, xem th t cc mu trong MATLAB, ta g lnh:
>> get(gca,'colororder')
ans =
0 0 1.0000
0 0.5000 0
1.0000 0 0
0 0.7500 0.7500
0.7500 0 0.7500
0.7500 0.7500 0
0.2500 0.2500 0.2500
Theo th t trn th:
0 0 1 : mu xanh da tri (b)
0 0.5 0 : mu xanh l cy (g)
1 0 0 : mu (r)
0 0.75 0.75 : mu xanh da tri nht (c)
0.75 0 0.75 : mu hng nht (m)
0.75 0.75 0 : mu vng (y)
0.25 0.25 0.25 : mu xm
Ngoi 7 mu trn, ta c th s dng thm 2 mu c bn l mu en v mu trng
0 0 0 : mu en (k)
1 1 1 : mu trng (w)
Thay i gi tr cc s m mu ta c th c nhiu mu khc na.

Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

58
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x
y
do thi ham sin va cos
y = sinx
z = cosx
V d:
0.4 0 0 : mu m
0.5 0.5 0.5 : mu xm va phi
4.1.3. th li, hp cha trc, nhn v li ch gii
Lnh grid on s thm ng li vo th hin ti. Lnh grid off xa b cc
nt ny.
Ta c th a tn trc x, y v tn ca th vo hnh v nh cc lnh xlabel v
ylabel. Lnh title s thm vo th tiu nh.
Dng ghi ch c a vo th nh hm legend. Trong legend th mu v
kiu ca mi loi ng ph hp vi cc ng trn th.
V d:
>> x=linspace(0,2*pi,30);
>> y=sin(x);
>> z=cos(x);
plot(x,y,'mx-',x,z,'bp--')
>> grid on
>> xlabel('x')
>> ylabel('y')
>> title('do thi ham sin va cos')
>> legend ('y = sinx','z = cosx')













4.1.3. Thao tc vi th
Ta c th thm nt v vo th c sn bng cch dng lnh hold. Khi dng
lnh hold on, MATLAB khng b i h trc tn ti trong khi lnh plot mi
ang c thc hin, thay vo , n thm ng cong mi vo h trc hin ti.
Tuy nhin, nu d liu khng ph hp h trc ta c, th trc c chia li.
Dng lnh hold off s b i ca s figure hin ti v thay vo bng mt th
mi. Lnh hold khng c i s s bt tt chc nng ca ch thit lp hold
trc .
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

59

V d:
>> x=linspace(0,2*pi,30);
>> y=sin(x);
>> z=cos(x);
>>plot(x,y)
>> plot(x,y)
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

By gi gi nguyn th v thm vo ng cos:
>> hold on
>> plot(x,z,'m')
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Mt khc, mt ca s figure c th cha nhiu hn mt h trc. Lnh
subplot(m,n,p) chia ca s hin ti thnh mt ma trn m x n khong v th,
v chn p l ca s hot ng. Cc th thnh phn c nh s t tri qua
phi, t trn xung di, sau n hng th hai

Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

60
0 2 4 6 8
-1
-0.5
0
0.5
1
-1 -0.5 0 0.5 1
0
2
4
6
8
0 2 4 6 8
-1
-0.5
0
0.5
1
-1 -0.5 0 0.5 1
0
2
4
6
8
-1
0
1
-1
0
1
0
10
20
30
40
sint
helix
cost
-1
0
1
-1
-0.5
0
0.5
1
0
10
20
30
40
cost
helix
sint
V d:
>> subplot(2,2,1)
>> plot(x,y)
>> subplot(2,2,2)
>> plot(y,x)
>> subplot(2,2,3)
>> plot(x,z)
>> subplot(2,2,4)
>> plot(z,x)













4.1.5. Hm plot3 - V im v ng trong khng gian
Hm plot3 cho php v cc im v ng trong khng gian. Ngoi vic c thm
trc z, cch s dng hm ny ging nh cch s dng hm plot.
V d:
>> t=linspace(0,10*pi);
>> subplot(1,2,1)
>> plot3(sin(t),cos(t),t)
>> xlabel('sint')
>> ylabel('cost')
>> title('helix')
>> subplot(1,2,2)
>> plot3(sin(t),cos(t),t)
>> view([10,35])
>> xlabel('sint')
>> ylabel('cost')
>> title('helix')

Trong tp hp cc lnh trn, chng ta gp lnh:
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

61
View([,]): l gc phng v tnh bng ngc chiu kim ng h t pha m ca
trc y. Gi tr mc nh ca l -37.5
o
. l gc nhn tnh bng xung mt phng x, y.
Gi tr mc nh ca l 30
o
. Khi thay i cc gi tr

v s nhn c hnh v di
cc gc khc nhau.
Vi tp hp lnh trn, khi cho cc gi tr v ln lt l 0
o
v 90
o
ta s thy r hm v
2D l mt trng hp c bit ca hm v 3D.
4.1.6. Cc hm v loglog, semilogx v semilogy v cc ng trong mt
phng
- loglog: tng t nh plot nhng thang chia l logarithm cho c hai trc.
- semilogx: tng t nh plot nhng thang chia ca trc x l logarithm cn thang
chia trc y l tuyn tnh.
- semilogy: tng t nh plot nhng thang chia ca trc y l logarithm cn thang
chia ca trc x l tuyn tnh.
V d:
>> x=[2:4:98];
>> y=100*x;
>> subplot(1,2,1)
>> plot(x,y,'.')
>> title('plot(x,y)')
>> xlabel('x tuyen tinh')
>> ylabel('y tuyen tinh')
>> grid on
>> subplot(1,2,2)
>> loglog(x,y,'.')
>> title('loglog(x,y)')
>> xlabel('x log')
>> ylabel('y log')
>> grid on

>> x=[2:4:98];
>> y=100*x;
>> subplot(1,2,1)
>>semilogx(x,y,'.')
>>title('semilogx(x,y)')
>>xlabel('x log')
>>ylabel('y tuyen tinh')
>>grid on
0 50 100
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
plot(x,y)
x tuyen tinh
y

t
u
y
e
n

t
i
n
h
10
0
10
1
10
2
10
2
10
3
10
4
loglog(x,y)
x log
y

l
o
g
10
0
10
1
10
2
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
semilogx(x,y)
x log
y

t
u
y
e
n

t
i
n
h
0 50 100
10
2
10
3
10
4
semilogy(x,y)
x tuyen tinh
y

l
o
g
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

62
-1
0
1
-1
0
1
0
0.2
0.4
0.6
0.8
1
x
Ve 3D voi truc z tuyen tinh
y
z
-1
0
1
-1
0
1
10
-2
10
-1
10
0
x
Ve 3D voi truc z logarith
y
z

l
o
g
>> subplot(1,2,2)
>>semilogy(x,y,'.')
>>title('semilogy(x,y)')
>>xlabel('x tuyen tinh')
>>ylabel('y log')
>>grid on
MATLAB khng c cc hm v tng ng vi loglog, semilogx, semilogy trong
khng gian. V vy, mun v vi h ta logarithm trong khng gian 3D, ta
phi s dng hm plot3. Ch tuyn tnh lun c mc nh. thay i t l
trn cc trc sang t l logarithm, ta dng lnh:

set(gca,Xscale,log)
V d:
>> t=[0.01:0.005:0.99];
>> x=cos(20*pi*t);
>> y=sin(20*pi*t);
>> z=t;
>> subplot(1,2,1)
>>plot3(x,y,z)
>>set(gca,'Zscale','linear')
>>title('Ve 3D voi truc z
tuyen tinh')
>>xlabel('x')
>>ylabel('y')
>>zlabel('z')
>> grid on
>>subplot(1,2,2)
>>plot3(x,y,z)
>>set(gca,'Zscale','log')
>>title('Ve 3D voi truc z
logarith')
>>xlabel('x')
>>ylabel('y')
>>zlabel('z log')
>> grid on
4.1.7. th bnh (pie) v th ct (bar)
4.1.7.1. th bnh
v th bnh trong mt phng ta dng hm pie, cn mun v trong khng
gian, ta dng hm pie3. V mt c php hai hm pie v pie3 ging nhau. C php
c dng: pie(V)
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

63
Trong V l vect cha cc phn t c th hin trn th bnh. Nu tng
cc phn t trong vect nh hn hoc bng 1 th th bnh s th hin cc phn
t nh l thnh phn phn trm. Nu tng cc phn t ln hn 1, th mi phn t
c chia cho tng xc nh phn chia trn th bnh ng vi mi phn
t.
Th t phn chia trn th bnh theo ng th t phn t m t trong vect.
ng chia u tin l ng ni tm v im cao nht trn ng trn, cc
ng k tip c phn chia theo th t ngc chiu kim ng h.
Mun tch phn chia no ra khi th th ta thm vo hm pie mt vect na
c cng kch thc vi vect c m t trn. Phn t ca vect ny tng
ng vi phn cn tch ra khi th th ta cho gi tr khc 0, phn t tng ng
vi phn khng tch ra ta cho gi tr bng 0.
Cc mu ca tng phn trong th bnh c MATLAB la chn khng trng
nhau v rt d phn bit.
V d:
Trong mt sn phm hon thin c 5 chi tit ca phn xng A, 12 chi tit ca
phn xng B, 15 chi tit ca phn xng C v 20 chi tit ca phn xng D. Ta
th hin s phn trm chi tit ca mi phn xng trong sn phm hon thin
trn th bnh bng hm pie nh sau:
>> subplot(2,1,1)
>> pie([5 12 15 20])
>> subplot(2,1,2)
>> pie([5 12 15 20],[0 0 0 1])
>> pie([5 12 15 20],{'xuong A','xuong B','xuong C','xuong D'})
















10%
23%
29%
38%
10%
23%
29%
38%
xuong A
xuong B
xuong C
xuong D
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

64
4.1.7.4. th ct (bar)
Hm bar v bar3 cho php v th trong mt phng v trong khng gian.
Hm barh v hm barh3 cho php v th ct nm ngang trong mt phng v
trong khng gian.
C php: bar(V
x
, V
y
, kch thc)
Trong V
x
v V
y
l nhng vect c cng kch thc, cc gi tr cao ca ct
trong V
y
s tng ng vi cc gi tr trn trc ngang ca V
x
, iu ch quan
trng l cc gi tr trong V
x
phi n iu tng hoc gim. Tham s kch thc
xc nh b rng ca ct.


V d: V th ct vi cc s liu:
X Y
2 7.5
3 5.2
4 3

>> bar([2 3 4],[7.5 5.2 3],0.4)














Nu ta khng a vo cc gi tr ca X, ngha l trong hm bar va s dng ta b
[2 3 4], th MATLAB s mc nh cc gi tr ca X l [1 2 3]. Trong trng hp
V
y
l ma trn th s nhm ct chnh bng kch thc ca vect V
x
.




2 3 4
0
1
2
3
4
5
6
7
8
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

65
V d: th hin th ct vi cc s liu sau:

X Y
1 7.5
6
4
3 5.2
3
5

>> bar([1 3],[7.5 6 4;5.2 3 5],0.4)
1 3
0
1
2
3
4
5
6
7
8

4.4. V cc mt
4.4.1. V cc mt t mt ma trn bng cc lnh mesh, meshz, meshc,
waterfall
MATLAB nh ngha b mt li bng cc im theo hng trc z trn ng
k hnh vung trn mt phng x - y. N to ln mu mt th bng cch ghp
cc im gn k vi cc ng thng. Kt qu l n trng nh mt mng li
nh c vi cc mc li l cc im d liu. th li ny thng c s
dng quan st nhng ma trn ln hoc v nhng hm c hai bin.
Bc u tin l a ra th li ca hm hai bin z = f(x,y), tng ng vi ma
trn X v Y cha cc hng v cc ct lp i lp li, MATLAB cung cp hm
meshgrid cho mc ch ny:
X,Y] = meshgrid (x,y): to mt ma trn X, m cc hng ca n l bn sao ca
vet x, v ma trn Y c cc ct ca n l bn sao ca vect y. Cp ma trn ny
sau c s dng c lng hm hai bin s dng c tnh ton hc v
mng ca MATLAB.
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

66
v b mt ta s dng cc hm:
mesh (X,Y,Z): ni cc im vi nhau trong mt li ch nht.
meshc (X,Y,Z): v cc ng contour bn di th.
meshz (X,Y,Z): v cc ng thng ng vin quanh th.
waterfall X,Y,Z): v mt vi hiu ng nh thc .



V d: V mt xc nh bi phng trnh: ( )
2 2
,
y x
xe y x z

=
>> x=-2:0.5:2;
>> y=-2:1:2;
>> [X,Y]=meshgrid(x,y)
X =
Columns 1 through 6
-4.0000 -1.5000 -1.0000 -0.5000 0 0.5000
-4.0000 -1.5000 -1.0000 -0.5000 0 0.5000
-4.0000 -1.5000 -1.0000 -0.5000 0 0.5000
-4.0000 -1.5000 -1.0000 -0.5000 0 0.5000
-4.0000 -1.5000 -1.0000 -0.5000 0 0.5000
Columns 7 through 9
1.0000 1.5000 4.0000
1.0000 1.5000 4.0000
1.0000 1.5000 4.0000
1.0000 1.5000 4.0000
1.0000 1.5000 4.0000
Y =
-2 -2 -2 -2 -2 -2 -2 -2 -2
-1 -1 -1 -1 -1 -1 -1 -1 -1
0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2

>> Z=X.*exp(-X.^2-Y.^2)
Z =
Columns 1 through 6
-0.0007 -0.0029 -0.0067 -0.0071 0 0.0071
-0.0135 -0.0582 -0.1353 -0.1433 0 0.1433
-0.0366 -0.1581 -0.3679 -0.3894 0 0.3894
-0.0135 -0.0582 -0.1353 -0.1433 0 0.1433
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

67
-0.0007 -0.0029 -0.0067 -0.0071 0 0.0071
Columns 7 through 9
0.0067 0.0029 0.0007
0.1353 0.0582 0.0135
0.3679 0.1581 0.0366
0.1353 0.0582 0.0135
0.0067 0.0029 0.0007

>> subplot(1,2,1)
>> mesh(X,Y,Z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>> title('ve mat voi lenh mesh')
>> subplot(1,2,2)
>> meshc(X,Y,Z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>>title('ve mat voi lenh meshc')



>> subplot(1,2,1)
>> meshz(X,Y,Z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>> title('ve mat voi lenh meshz')
>> subplot(1,2,2)
>> waterfall(X,Y,Z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>> title('ve mat voi lenh
waterfall')
Lu khi s dng hm mesh khi c cc s phc hoc i lng khng phi l s
(NaN - not a number)
V d: phng trnh ca mt bn cu:
2 2
1 y x z =
>> x=-1:0.2:1;
>> y=-1:0.2:1;
-2
0
2
-2
0
2
-0.4
-0.2
0
0.2
0.4
x
ve mat voi lenh meshz
y
z
-2
0
2
-2
0
2
-0.4
-0.2
0
0.2
0.4
x
ve mat voi lenh waterfall
y
z
-2
0
2
-2
0
2
-0.4
-0.2
0
0.2
0.4
x
ve mat voi lenh mesh
y
z
-2
0
2
-2
0
2
-0.4
-0.2
0
0.2
0.4
x
ve mat voi lenh meshc
y
z
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

68
>> [X,Y]=meshgrid(x,y);
>> Z=sqrt(1-X.^2-Y.^2);
>> mesh(X,Y,Z)
??? Error using ==> surface
X, Y, Z, and C cannot be complex.
Nhn thy rng trong ma trn Z c mt s phn t phc. V vy khi dng lnh
mesh MATLAB thng bo li.
Do , v bn cu ny ta phi gii quyt vn ny sinh vi s phc nh sau:
Cch 1: Thay tt c cc phn t phc trong ma trn Z bng phn t 0.
>> Z=real(Z);
>> mesh(X,Y,Z)
Cch 2: Thay tt c cc phn t phc ca ma trn Z bng i lng NaN. Trong
trng hp ny MATLAB s khng v li n cc im .

>> I=find(imag(Z)~=0) % tm ch s ca cc v tr cc phn t c phn o khc khng
I =
[]
>> Z(I)=NaN;
>> mesh(X,Y,Z)














4.4.4.V cc mt c t bng t mt ma trn bng cc lnh surf, surfc
V d:
>> x=-2:0.5:2;
>> y=-2:1:2;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*exp(-X.^2-Y.^2);
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
0.2
0.4
0.6
0.8
1
Chng 4: ha vi MATLAB Bin son: Nguyn Th Hng Thy

69
>> surf(X,Y,Z)
>> colormap(hot)
Ta c th to nhiu li hn c mt mt mn hn:
>> x=-2:0.2:2;
>> y=-2:0.4:2;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*exp(-X.^2-Y.^2);
>> surf(X,Y,Z)
>> colormap(cool)

Lnh surfc (X,Y,Z): v mt c cc n contour pha di.
Lnh surfl (X,Y,Z,s): v mt c bng sng. i s s xc nh hng ca ngun
sng trn b mt v. s l mt vect tu chn trong h to decac hay trong to
cu. Nu khng khai bo gi tr mc nh ca s l 45
o
theo chiu kim ng h
t v tr ngi quan st.
Khi v th ta c th thay i mt s c im ca th nh t l trn cc trc,
gi tr gii hn ca cc trc, mu v kiu ng cong th, hin th
legendngay trn figure bng cch vo menu tools ri vo mc axes properties,
line properties hay show legend
-2
0
2
-2
0
2
-0.4
-0.2
0
0.2
0.4
-2
0
2
-2
0
2
-0.5
0
0.5

You might also like