CHƯƠNG 5: ĐỒ HỌA MATLAB Nguồn: Bài giảng Tin học chuyên ngành Giảng viên: Hoàng Xuân Dương 1 CHƯƠNG 5: ĐỒ HỌA MATLAB I. CÁC LOẠI HÀM ĐẶC BIỆT 2 CHƯƠNG 5: ĐỒ HỌA MATLAB I. ĐỒ HỌA 2D: Các hàm vẽ cơ bản: Hàm Ý nghĩa plot Vẽ 2D với 2 trục x và y tuyến tính plot3 Vẽ 3D với 3 trục x, y và z tuyến tính loglog Vẽ với 2 trục x và y là logarithmic semilogx Vẽ với trục x là logarithmic và y tuyến tính semilogy Vẽ với trục y là logarithmic và x tuyến tính 3 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot: Cú pháp hàm plot như sau plot(Y) plot(X1,Y1,.) 4 CHƯƠNG 5: ĐỒ HỌA MATLAB I.
Hàm plot: Ví dụ: >> x=linspace(0,2*pi); >> plot(x,sin(x),x,cos(x)) >> grid on 5 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot (tt) ➢ Các loại nét vẽ đặc biệt: plot(x,y,’linestyle_marker_color’) linestyle Kiểu đường '-' Nét liền (default) '--' Nét đứt ':' Nét chấm '-.' Chấm-gạch 'none' No line 6 CHƯƠNG 5: ĐỒ HỌA MATLAB marker Điểm đánh dấu '+' Dấu cộng 'o' Vòng tròn '*' Dấu * '.' Dấu chấm 'x' Dấu x 'square’ hoặc 's' Ô vuông 'diamond' hoặc 'd' Hình thoi '^' Tam giác hướng lên trên 'v' Tam giác hướng xuống dưới '>' Tam giác hướng sang phải '<' Tam giác hướng sang trái 'pentagram' hoặc 'p' Hình ngôi sao 5 cánh 'hexagram' hoặc 'h' Hình ngôi sao 6 cánh 'none' Không đánh dấu (default) 7 CHƯƠNG 5: ĐỒ HỌA MATLAB Giá trị RGB Color Màu [1 1 0] y yellow [1 0 1] m magenta [0 1 1] c cyan [1 0 0] r red [0 1 0] g green [0 0 1] b blue [1 1 1] w white [0 0 0] k black 8 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot (tt) ➢ Các loại nét vẽ đặc biệt (tt) Ví dụ >> t=0:pi/100:2*pi; >> y1=sin(t);y2=sin(t-0.5); >> plot(t,y1,'-',t,y2,'--',t,y3,':') 9 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot (tt) ➢ Vẽ điểm - đường - các ký hiệu: Ví dụ 1: >> x = 0:pi/15:4*pi; >> y1 = exp(2*cos(x)); >> y2 = exp(2*sin(x)); >> plot(x,y1,'+r',x,y2,'-.ob') 10 CHƯƠNG 5: ĐỒ HỌA MATLAB I.r*') >> hold on >> plot(t,sin(t-pi/2),'--mo') >> plot(t,sin(t-pi),':bs') >> hold off 11 CHƯƠNG 5: ĐỒ HỌA MATLAB I.
Hàm plot (tt) ➢ Các màu và kích thước nét vẽ: plot(x,y,'-mo',. 'MarkerSize',6) Trong đó: - LineWidth là độ rộng nét vẽ (mặc định là 0.5) - MarkerEdgeColor là màu viền điểm đánh dấu (marker) - MarkerFaceColor là màu tô điểm đánh dấu - MarkerSize là kích thước điểm đánh dấu (mặc định là 6) 12 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot: ➢ Các màu và kích thước nét vẽ (tt) Ví dụ 1: >> t = 0:pi/20:2*pi; >> plot(t,sin(2*t),'-mo',. % đánh dấu bằng vòng tròn 'LineWidth',2,.
% màu viền vòng tròn 'MarkerFaceColor',[.% màu tô trong các vòng tròn 'MarkerSize',12) % kích thước các vòng tròn 13 CHƯƠNG 5: ĐỒ HỌA MATLAB 14 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Hàm plot (tt) ➢ Các màu và kích thước nét vẽ (tt) Ví dụ 2: >> x=(-pi:pi/2:pi); >> y1=sin(x); y2=cos(x); >> plot(x,y1,'--','linewidth',4) >> hold on >> plot(x,y2,'o','markersize',12) >> grid on 15 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Các hàm gán nhãn Hàm Ý nghĩa title Tựa đề xlabel Đặt nhãn cho trục x ylabel Đặt nhãn cho trục y zlabel Đặt nhãn cho trục z legend Chú thích trên hình 16 CHƯƠNG 5: ĐỒ HỌA MATLAB I. tittle: Cú pháp: title('string') title(.) Ví dụ: >> x=linspace(0,2*pi); >> plot(x,sin(x)) >> title('Do thi sin(x)', 'FontName',.
‘SVNhelvetica','Fontsize',15,'color','r') 17 CHƯƠNG 5: ĐỒ HỌA MATLAB I. tittle (tt) 18 CHƯƠNG 5: ĐỒ HỌA MATLAB I. xlabel-ylabel-zlabel Cú pháp: xlabel('string') xlabel(.) 19 CHƯƠNG 5: ĐỒ HỌA MATLAB I. xlabel-ylabel-zlabel (tt) Ví dụ: >> xlabel('Truc x','Fontname','SVNhelvetica',.
'Fontsize',15,'color','g') >> ylabel('Do thi y va z','Fontname','SVNhelvetica',. 'Fontsize',15,'color','b') >> title('Do hoa 2D','Fontname','SVNhelvetica',… 'Fontsize',15,'color','r') 20 CHƯƠNG 5: ĐỒ HỌA MATLAB I. legend: Đặt chú thích cho hình vẽ Cú pháp: legend('string1','string2',.) legend(string_matrix) legend('boxoff') legend('off') 21 CHƯƠNG 5: ĐỒ HỌA MATLAB I.5)') 22 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Các hàm cài đặt: ➢ Hàm subplot(m,n,p): Chia cửa sổ đồ họa ra làm m hàng và n cột để vẽ hình, với: • m: là hàng • n: là cột • p: là vị trí cần vẽ >> x=linspace(-2*pi,2*pi); >> subplot(2,2,1); plot(x,sin(x)); title('y=sin(x)') >> subplot(2,2,2); plot(x,sinc(x)); title('y=sinc(x)') >> subplot(2,2,3); plot(x,cos(x)); title('y=cos(x)') >> subplot(2,2,4); plot(x,1-sin(x)); title('y=1-sin(x)') >> subplot % trả về mặc định 23 CHƯƠNG 5: ĐỒ HỌA MATLAB 24 CHƯƠNG 5: ĐỒ HỌA MATLAB I.
Các hàm cài đặt (tt) ➢ Đặt trục vẽ: Cú pháp: semilogx(Y) semilogx(X1,Y1,.) 25 CHƯƠNG 5: ĐỒ HỌA MATLAB I. Các hàm cài đặt (tt) ➢ Đặt trục vẽ: Ví dụ: >> semilogx(1:100,'+') >> hold on >> semilogx(1:3:300,1:100,'--') >> hold off 26 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Vẽ dữ liệu 3D: Nếu x, y và z là 3 vector có cùng kích thước: plot3(x,y,z) Ví dụ 1: >> t = 0:pi/50:10*pi; >> plot3(sin(t),cos(t),t) >> axis square; >> grid on 27 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Vẽ dữ liệu 3D (tt) Ví dụ 2: >> [X,Y] = meshgrid([-2:0.^2); >> plot3(X,Y,Z) >> grid on 28 CHƯƠNG 5: ĐỒ HỌA MATLAB II.
Các loại hàm vẽ bề mặt : a. Hàm mesh: mesh(X,Y,Z) mesh(Z) mesh(.) 29 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Các loại hàm vẽ bề mặt (tt) a. Hàm mesh (tt) Ví dụ: >> [X,Y] = meshgrid(-3:.125:3); >> Z = peaks(X,Y); >> meshc(X,Y,Z); >> axis([-3 3 -3 3 -10 5]) hoặc >> meshz(X,Y,Z); hoặc >> mesh(X,Y,Z); 30 CHƯƠNG 5: ĐỒ HỌA MATLAB II.
Các loại hàm vẽ bề mặt (tt) b. Hàm surf: surf(Z) surf(X,Y,Z) surf(X,Y,Z,C) surf(.,'PropertyName',PropertyValue) surfc(.) 31 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Các loại hàm vẽ bề mặt (tt) b. Hàm surf (tt) Ví dụ: >> [X,Y,Z] = peaks(30); >> surfc(X,Y,Z) >> colormap hsv >> axis([-3 3 -3 3 -10 5]) 32 CHƯƠNG 5: ĐỒ HỌA MATLAB II.
Sử dụng màu: Cú pháp: colormap(map) colormap('default') cmap = colormap Một colormap là một ma trận m hàng, 3 cột (ứng với 3 màu R G B). Các giá trị từ 0.0 map(k,:) = [r(k) g(k) b(k)] Ví dụ: >> cm = colormap; >> cm(57,:) ans = 1 0 0 33 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Sử dụng màu (tt) colormap(func(n)) tạo ma trận n hàng theo hàm func func có thể là: hsv, hot, cool, summer, gray, jet, bone, winter… Ví dụ: >> cm=colormap(hot(20)) >> colormap(gray) >> colormap jet 34 CHƯƠNG 5: ĐỒ HỌA MATLAB Red Green Blue Color 0 0 0 black 1 1 1 white 1 0 0 red 0 1 0 green 0 0 1 blue 1 1 0 yellow 1 0 1 magenta 0 1 1 cyan 0.83 aquamarine 35 CHƯƠNG 5: ĐỒ HỌA MATLAB II. Sử dụng màu (tt) Ví dụ 1: >> map = [0, 0, 0.0]; >> colormap(map) 36 CHƯƠNG 5: ĐỒ HỌA MATLAB II.
Sử dụng màu (tt) Ví dụ 2: >> mesh(peaks) >> colormap(autumn(5)) 37 CHƯƠNG 5: ĐỒ HỌA MATLAB III. CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar: Dùng để diễn tả các dữ liệu rời rạc theo dạng biểu đồ cột a. Hàm bar và barh: bar(Y) % Đồ thị thanh đứng bar(x,Y) bar(.) % Đồ thị thanh ngang 38 CHƯƠNG 5: ĐỒ HỌA MATLAB III.
CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar và barh (tt) Trong đó: ▪ width: là độ rộng có mặc định là 0.8 ▪ LineSpec: là màu vẽ [R G B] ▪ style: Kiểu của bar - group - stack Ví dụ 1: >> x = -2.*x)) >> colormap hsv 39 CHƯƠNG 5: ĐỒ HỌA MATLAB 40 CHƯƠNG 5: ĐỒ HỌA MATLAB III. CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar và barh (tt) Ví dụ 2: >>Y = [5 2 1; 8 7 3; 9 8 6; 5 5 5; 4 3 2]; >> bar(Y,'stack') >> grid on 41 CHƯƠNG 5: ĐỒ HỌA MATLAB III.
CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar và barh (tt) Ví dụ 3: >> Y = round(rand(5,3)*10) >> subplot(2,2,1); bar(Y,'group'); title 'Group' >> subplot(2,2,2); bar(Y,'stack'); title 'Stack' >> subplot(2,2,3); barh(Y,'stack'); title 'Stack' >> subplot(2,2,4); bar(Y,1.5' 42 CHƯƠNG 5: ĐỒ HỌA MATLAB 43 CHƯƠNG 5: ĐỒ HỌA MATLAB III. CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar3 và bar3h: bar3(Y) bar3(x,Y) bar3(.) 44 CHƯƠNG 5: ĐỒ HỌA MATLAB III.
CÁC LOẠI HÀM ĐẶC BIỆT: 1. Hàm bar3 và bar3h (tt) Trong đó: ▪ width: là độ rộng có mặc định là 0.8 ▪ LineSpec: là màu vẽ [R G B] ▪ style: Kiểu của bar - grouped - stacked - detached 45 CHƯƠNG 5: ĐỒ HỌA MATLAB Ví dụ: >> Y = cool(7); colormap([1 0 0;0 1 0;0 0 1]); >> subplot(1,2,1); bar3(Y,'detached'); title('Detached') >> subplot(1,2,2); bar3(Y,0.25,'detached'); title('Width = 0.25') 46 CHƯƠNG 5: ĐỒ HỌA MATLAB Ví dụ (tt) >> subplot(1,2,1); bar3(Y,'grouped'); title('Grouped') >> subplot(1,2,2); bar3(Y,0.5,'grouped'); title('Width = 0.5') 47 CHƯƠNG 5: ĐỒ HỌA MATLAB Ví dụ (tt) >> subplot(1,2,1); bar3(Y,'stacked'); title('Stacked') >> subplot(1,2,2); bar3(Y,0.3,'stacked'); title('Width = 0.3') 48 CHƯƠNG 5: ĐỒ HỌA MATLAB III. CÁC LOẠI HÀM ĐẶC BIỆT: 3. Hàm pie: Hàm vẽ biểu đồ dạng quạt a.
pie: pie(X) pie(X,explode) pie(.,labels) Ví dụ 1: >> pie(1:4,{'Product A',… 'Product B','Product C','Product D'}) 49 CHƯƠNG 5: ĐỒ HỌA MATLAB III. CÁC LOẠI HÀM ĐẶC BIỆT: 3.5 2]; >> explode = [0 1 0 0 0]; >> pie(x,explode) >> colormap jet 50