Professional Documents
Culture Documents
Do Hoa Voi Matlab
Do Hoa Voi Matlab
Chng 4 : ha vi MATLAB
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:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
55
Chng 4 : ha vi MATLAB
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
-1
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
Chng 4 : ha vi MATLAB
r
c
m
y
k
w
x
+
*
s
d
du x
du +
du hoa th
hnh vung
hnh thoi
tam gic hng xung
<
>
p
h
-.
--
nt gch - chm
nt t
sao nm cnh
sao su cnh
V d:
>>plot(x,y,'m*',x,y,'b--')
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
57
Chng 4 : ha vi MATLAB
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Chng 4 : ha vi MATLAB
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')
do thi ham sin va cos
1
0.8
0.6
y = sinx
z = cosx
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
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 .
V d:
>> x=linspace(0,2*pi,30);
>> y=sin(x);
>> z=cos(x);
>>plot(x,y)
>> plot(x,y)
59
Chng 4 : ha vi MATLAB
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Chng 4 : ha vi MATLAB
>> plot(z,x)
1
0.5
-0.5
-1
0
-1
0.5
-0.5
-1
0
-1
-0.5
0.5
-0.5
0.5
sint
Chng 4 : ha vi MATLAB
- 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];
plot(x,y)
loglog(x,y)
10000
10
>> y=100*x;
9000
>> subplot(1,2,1)
8000
>> plot(x,y,'.')
7000
>> title('plot(x,y)')
6000
>> xlabel('x tuyen tinh')
5000
10
>> ylabel('y tuyen tinh')
4000
>> grid on
3000
>> subplot(1,2,2)
2000
>> loglog(x,y,'.')
>> title('loglog(x,y)')
1000
>> xlabel('x log')
0
10
0
50
100
10
10
10
x tuyen tinh
>> ylabel('y log')
x log
>> grid on
y log
y tuyen tinh
semilogx(x,y)
semilogy(x,y)
10000
10
9000
8000
7000
6000
y log
y tuyen tinh
>> 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
>> subplot(1,2,2)
>>semilogy(x,y,'.')
>>title('semilogy(x,y)')
>>xlabel('x tuyen tinh')
>>ylabel('y log')
>>grid on
5000
10
4000
3000
2000
1000
0
0
10
10
x log
10
10
50
x tuyen tinh
100
Chng 4 : ha vi MATLAB
10
0.8
z log
0.6
z
>> 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
0.4
-1
10
0.2
-2
0
1
10
1
1
0
y
1
0
0
-1 -1
0
-1 -1
Chng 4 : ha vi MATLAB
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%
10%
38%
23%
29%
38%
23%
29%
xuong A
xuong D
xuong B
xuong C
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(Vx, Vy, kch thc)
Trong Vx v Vy l nhng vect c cng kch thc, cc gi tr cao ca ct
trong Vy s tng ng vi cc gi tr trn trc ngang ca Vx, iu ch quan trng l cc
gi tr trong Vx 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)
64
Chng 4 : ha vi MATLAB
8
7
6
5
4
3
2
1
0
65
Chng 4 : ha vi MATLAB
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.
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: z (x, y ) = xe x
>> 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
-4.0000 -1.5000 -1.0000
-4.0000 -1.5000 -1.0000
-4.0000 -1.5000 -1.0000
-4.0000 -1.5000 -1.0000
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
-0.5000
-0.5000
-0.5000
-0.5000
-0.5000
-2
0
0
0
0
0
0.5000
0.5000
0.5000
0.5000
0.5000
-2 -2
66
y2
Chng 4 : ha vi MATLAB
>> Z=X.*exp(-X.^2-Y.^2)
Z=
Columns 1 through 6
-0.0007 -0.0029 -0.0067
-0.0135 -0.0582 -0.1353
-0.0366 -0.1581 -0.3679
-0.0135 -0.0582 -0.1353
-0.0007 -0.0029 -0.0067
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
-1 -1
0 0
1 1
2 2
-1
0
1
2
-0.0071
-0.1433
-0.3894
-0.1433
-0.0071
>> 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')
0
0
0
0
0
0.0071
0.1433
0.3894
0.1433
0.0071
0.4
0.4
0.2
0.2
-1
0
1
2
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
-0.2
-0.2
-0.4
2
-0.4
2
2
0
2
0
-2 -2
67
0
-2 -2
Chng 4 : ha vi MATLAB
68
Chng 4 : ha vi MATLAB
1
0.8
0.6
0.4
0.2
0
1
0.5
1
0.5
-0.5
-0.5
-1
-1
69
Chng 4 : ha vi MATLAB
0.4
0.5
0.2
0
-0.2
-0.4
2
-0.5
2
2
0
2
0
0
-2
0
-2
-2
-2
70