Professional Documents
Culture Documents
Chuong 4 - Do Thi Trong Matlab
Chuong 4 - Do Thi Trong Matlab
CHƯƠNG 4
FETEL 2019
Basic 2D Plotting plot
3
>> x=0:0.05:10*pi;
>> y=exp(-.1.*x).*sin(x);
>> plot(x,y)
>> xlabel('X axis description')
>> ylabel('Y axis description') Title for plot goes here
1
>> title('Title for plot goes here') Legend for graph
>> legend('Legend for graph')
>> grid on
Y axis description 0.5
NOTE #1:
Đảo thứ tự (x,y) thành 0
(y,x) sẽ quay đồ thị 900
>> x=0:0.1:2*pi;
>> plot(x,sin(x))
>> axis >> x=0:0.1:2*pi;
ans = >> plot(x,sin(x))
0 7 -1 1 >> hold on
>> axis([0 7 -.5 .5]) >> plot(x,cos(x))
0.5 1
0.5
0 0
-0.5
-0.5 -1
0 1 2 3 4 5 6 7 FETEL
0 2019
2 4 6 8
Lines, Markers, Color
5
FETEL 2019
6
FETEL 2019
7
FETEL 2019
8
>> yr=[1988:1:1994];
>> sle=[8 12 20 22 18 24 17];
>> plot(yr, sle,'--r*','linewidth', 2, 'markersize',12)
24
22
20
18
16
14
12
10
8
1988 1989 1990 1991 FETEL 2019
1992 1993 1994
Dùng kết hợp Markers & Lines
9
>> x=0:.02:1;
>> x=0:0.02:1;
>> y=x.^1.5;
>> plot(x,cos(x),'r:') >> y=x.^1.5;
>> yr=randn(size(x));
>> hold on >> yr=randn(size(x));
>> yy=y+0.1.*yr;
>> plot(x,sin(x),'b--') >> yy=y+0.1.*yr;
>> plot(x,yy,'ro',x,yy)
1 >> plot(x,yy,'rx') 1.2
1.2
1
0.5 1
0.8
0.8
0.6
0.6
0
0.4
0.4
0.2
0.2
-0.5
0
0
-0.2 -0.2
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
-1
0 2 4 6 8
FETEL 2019
Dùng kết hợp Markers & Lines
10
>> x=0:.02:1;
>> y=x.^1.5;
>> yr=randn(size(x));
>> yy=y+0.1.*yr;
>> plot(x,yy,'x')
>> x=0:0.2:2.*pi;
>> p=polyfit(x,yy,1)
>> y=sin(x);
p = >> yr=randn(size(x));
1.0159 -0.0927 >> plot(x,10.*y+yr,'ro')
>> hold on >> hold on
>> plot(x,polyval(p,x),'r') >> plot(x,10.*y)
1.2 15
1 10
0.8
5
0.6
0
0.4
-5
0.2
0 -10
-0.2 -15
0 0.2 0.4 0.6 0.8 1 0 FETEL 22019 4 6 8
Vẽ nhiều đường
11
>> X = 0.0:pi/100:2*pi;
>> Y1 = cos(X);
>> Y2 = 3*cos(X);
>> Y3 = cos(2*X);
>> Y4 = sin(X);
>> plot(X,Y1)
>> hold on 2
>> plot(X,Y2)
>> plot(X,Y3) 1
>> plot(X,Y4)
0
-1
-2
-3
0 1 2 3 4 5 6 7
FETEL 2019
Vẽ nhiều đường
3
12 1
>> plot(X,Y1,X,Y2,X,Y3,X,Y4)
0
-2
>> Z = [Y1;Y2;Y3;Y4];
>> plot(X,Z) -3
0 1 2 3 4 5 6 7
thì sao? 1
-1
-2
FETEL 2019
-3
0 1 2 3 4 5 6 7
Vẽ 2 đường với hai trục Y
13
50 0.5 50
0 0 0
-100 -1 -100
0 2 4 6 8 10 0 2 4 6 8 10
FETEL 2019
Một số lệnh liên quan đới đồ thị
14
>> x=linspace(.1,10,1000);
>> damp=0.05;
>> y=1./sqrt((1-x.^2).^2 + (2.*damp.*x).^2);
>> plot(x,y) 1
>> semilogx(x,y) y = 1/ 2
(1 − x 2 )2 + (2 x )2
>> loglog(x,y)
1
10 10 10
8 8
0
10
6 6
4 4 -1
10
2 2
-2
0 0 10
0 2 4 6 8 10 -1 0 1 -1 0 1
10 10 10 10 10 10
FETEL 2019
Vẽ đồ thị trên các của sổ con
16
subplot(m,n,k)
m= hàng, n= cột
k= cửa sổ hiện tại
Ví dụ: subplot(2,3,1)
3
1 2 3
2
4 5 6
FETEL 2019
Ví dụ, chạy thử đoạn chương trình
17
sau
X=0:0.5:50;
Y=5*x.^2;
subplot(2,2,1), plot(X,Y), title(‘Polynomial – Linear/Linear’), ...
ylabel(‘y’), grid
subplot(2,2,2), semilogx(X,Y), title(‘Polynomial – Log/Linear’), ...
ylabel(‘y’), grid
subplot(2,2,3), semilogy(X,Y), title(‘Polynomial – Linear/Log’), ...
ylabel(‘y’), grid
subplot(2,2,4), loglog(X,Y), title(‘Polynomial – Log/Log’), ...
ylabel(‘y’), grid
FETEL 2019
Một số vấn đề khác
18
>> x = -2.9:0.2:2.9;
>> y = exp(-x.*x);
>> subplot(2,2,1)
FETEL 2019
19
bar(x,y)
title('Figure 1: 2-D Bar Chart')
>> subplot(2,2,2)
>> bar3(x,y,'r')
>> title('Figure 2: 3-D Bar Chart<')
FETEL 2019
20
>> subplot(2,2,3)
>> stairs(x,y)
>> title('Figure 3: Stair Chart')
>> subplot(2,2,4)
>> barh(x,y)
>> title('Figure 3: Horizontal Bar Chart')
FETEL 2019
Tóm lược một số lệnh cơ bản
21
FETEL 2019
Ví dụ
23
FETEL 2019
24
FETEL 2019
25
FETEL 2019
Hiển thị chữ Hy lạp,
chỉ số trên/dưới
26
FETEL 2019
Bảng ký tự Hy Lạp
27
FETEL 2019
FETEL 2019 28
CHƯƠNG 3 (TT)
Plot3(x, y, z)
x,y,z là các vector chứa tọa độ điểm
t=0:0.1:6*pi;
x=sqrt(t).*sin(2*t);
y=sqrt(t).*cos(2*t);
z=0.5*t;
plot3(x,y,z,'k','linewidth',3)
grid on
xlabel('x'); ylabel('y'); zlabel('z')
FETEL 2019
Tạo lưới
30
FETEL 2019
Lệnh mesh(X,Y,Z) và surf(X,Y,Z)
31
Ví dụ vẽ
x=-1:0.1:3;
y=1:0.1:4;
[X,Y]=meshgrid(x,y);
Z=X.*Y.^2./(X.^2+Y.^2);
mesh(X,Y,Z)
xlabel('x'); ylabel('y'); zlabel('z')
FETEL 2019
32
surf(X,Y,Z)
FETEL 2019
meshc(X,Y,Z) x=-3:0.25:3;
y=-3:0.25:3;
Vẽ lưới và đường viền 0.4
[X,Y]=meshgrid(x,y);
0.3
Z=1.8.^(-1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X);
0.2
33 0.1
0
meshc(X,Y,Z)
z
-0.1
xlabel('x'); ylabel('y')
-0.2 zlabel('z')
-0.3
-0.4
3
2
3
1
2
0 1
0
-1
-1
-2
-2
-3 -3
y
x
x=-3:0.25:3;
meshz(X,Y,Z) y=-3:0.25:3;
Vẽ lưới và đường màn [X,Y]=meshgrid(x,y);
0.4
0.3 Z=1.8.^(-1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X);
0.2
0.1
meshz(X,Y,Z)
0
xlabel('x'); ylabel('y')
-0.1
zlabel('z')
-0.2
-0.3
-0.4
3
2
3
1
2
0 1
0
-1
-1
-2
-2
-3 -3
FETEL 2019
x=-3:0.25:3;
surfc(X,Y,Z) y=-3:0.25:3;
0.1 surfc(X,Y,Z)
0
xlabel('x'); ylabel('y')
-0.1
zlabel('z')
-0.2
-0.3
-0.4
3
2
3
1
2
0 1
0
-1
-1
-2
-2
-3 -3
x=-3:0.25:3;
surfl(X,Y,Z) y=-3:0.25:3;
0.1
surfl(X,Y,Z)
0
xlabel('x'); ylabel('y')
-0.1
-0.2
zlabel('z')
-0.3
-0.4
3
2
3
1
2
0 1
-1
-1
0
FETEL 2019
-2
-2
-3 -3
x=-3:0.25:3;
contour3(X,Y, Z,n)
y=-3:0.25:3;
n là số mức đường 0.4
[X,Y]=meshgrid(x,y);
35viền Z=1.8.^(-1.5*sqrt(X.^2+
0.2
Y.^2)).*cos(0.5*Y).*sin(X);
0
contour3(X,Y,Z,15)
xlabel('x'); ylabel('y')
-0.2
zlabel('z')
-0.4
2
3
2
0 1
0
-1
-2
-2
-3
x=-3:0.25:3;
contour(X,Y, Z,n) 3
y=-3:0.25:3;
n là số mức đường 2
[X,Y]=meshgrid(x,y);
viền Z=1.8.^(-1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X);
1
contour(X,Y,Z,15)
0
xlabel('x'); ylabel('y')
-1 zlabel('z')
-2
-3
-3 -2 -1 0 1 2 3
FETEL 2019
>> [X,Y] = meshgrid(-1:0.1:1);
>> [X,Y] = meshgrid(-2:0.1:2);
>> surf(X,Y, 4 - X.^2 - Y.^2);
>> surf(X, Y, X.^2 - Y.^2)
>> hold on;
>> colorbar
>> surf(X,Y, X.^2 + Y.^2);
36 >> hold off;
3 4
4
3.5
2
3
2
1 2.5
0 2
0
1.5
-2
-1 1
0.5
-4 -2
2
0
1 2 1
-3
1
0 0.5 1
0
-1 0.5
-1 -4 0
-2 -2 0
-0.5
-0.5
-1 -1
FETEL 2019
>> Y=[1 6.5 7; 2 6 7; 3 5.5 7; 4 5 7; 3
Bar3(Y) 4 7; 2 3 7; 1 2 7]
7
Y =
6
37 5
0
3.0000 5.5000 7.0000
1
4.0000 5.0000 7.0000
2
Bài tập ??
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2
1 2
1
0
0
FETEL 2019
-1
-1
-2 -2
Bài tập ??
1
0.8
38
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
1
0.5 1
0.5
0
0
-0.5
-0.5
Bài tập ??
-1 -1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2
1 2
1
0
0
FETEL 2019
-1
-1
-2 -2
Bài tập t=0:0.2:10;
35
30
x=t;
39 25
y=sin(t);
20
z=t.^1.5;
z
15
10
5 ??
0
1
0.5 10
8
0
6
4
-0.5
2
-1 0
y
x
30
25
20
15
10
42% 0
29% 1
0.5 10
8
0
6
4
-0.5
FETEL 2019 -1 0
2