Lập trình tính toán - Chương 4: Đồ họa trong Matlab

pdf 35 trang vanle 1990
Bạn đang xem 20 trang mẫu của tài liệu "Lập trình tính toán - Chương 4: Đồ họa trong Matlab", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdflap_trinh_tinh_toan_chuong_4_do_hoa_trong_matlab.pdf

Nội dung text: Lập trình tính toán - Chương 4: Đồ họa trong Matlab

  1. Chương 4 Đồ họa trong Matlab
  2. 4.1 Đồ họa 2D Lệnh plot >> plot(x,y,‘option’) Với: x: vector miền giá trị y: các cột của y với chỉ số tương ứng xác định bởi vector x ‘option’: các tham số về màu sắc, kiểu đường, của đồ thị 04/06/2013 Lập trình tính toán 2
  3. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “kiểu đường”: Tham số Kiểu đường ‘-’ Đường liền nét ‘ ’ Đường đứt nét ‘-.’ Đường chấm gạch ‘:’ Đường chấm 04/06/2013 Lập trình tính toán 3
  4. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “đánh dấu nét vẽ”: Tham số Marker ‘.’ Điểm ‘*’ Dấu hoa thị ‘x’ Chữ cái x ‘o’ Chữ cái o + Dấu cộng 04/06/2013 Lập trình tính toán 4
  5. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “đánh dấu nét vẽ” (tt.): Tham số Marker ‘s’, ‘square’ Hình vuông ‘d’, ‘diamond’ Hình thoi ‘p’, ‘pentagram’ Hình ngôi sao ‘h’, ‘hexagram’ Hình 04/06/2013 Lập trình tính toán 5
  6. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “đánh dấu nét vẽ” (tt.): Tham số Marker ‘v’ Hình ‘^’ Hình ‘ ’ Hình 04/06/2013 Lập trình tính toán 6
  7. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “màu sắc”: Tham số Màu sắc ‘y’, ‘yellow’ Vàng ‘g’, ‘green’ Xanh lá cây ‘b’, ‘blue’ Xanh dương ‘r’, ‘red’ Đỏ 04/06/2013 Lập trình tính toán 7
  8. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Tham số “màu sắc” (tt.): Tham số Màu sắc ‘k’, ‘black’ Đen ‘w’, ‘white’ Trắng ‘c’, ‘cyan’ Xanh cyan ‘m’, ‘magenta’ Hồng 04/06/2013 Lập trình tính toán 8
  9. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Các tham số khác: Tham số Ý nghĩa Độ rộng của nét vẽ, LineWidth tính bằng pt Màu của đường viền MarkerEdgecolor marker MarkerFacecolor Màu bên trong marker Kích thước của MarkerSize marker, tính bằng pt 04/06/2013 Lập trình tính toán 9
  10. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Ví dụ 1: Vẽ đồ thị của hàm sin(x) >> x = 0:pi/20:2*pi; >> plot(x,sin(x)) 04/06/2013 Lập trình tính toán 10
  11. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Ví dụ 2: Vẽ đồ thị của hàm sin(x) và x/2 + 1/2 >> x = 0:0.01:2; >> A=[sin(pi*x);0.5+0.5*x]; >> plot(x,A) 04/06/2013 Lập trình tính toán 11
  12. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Ví dụ 3: Vẽ đồ thị hàm y và y/2 theo x >> x = [-4 -2 0 1 3 7]; >> y = [15 4 0 1 9 20]; >> plot(x,y,‘r’); hold on; >> plot(x,y/2); 04/06/2013 Lập trình tính toán 12
  13. 4.1 Đồ họa 2D (tt.) Lệnh plot (tt.) Ví dụ 4: Vẽ đồ thị hàm sin(x) với các tham số >> x = -pi:pi/10:pi; >>plot(x,y,‘ rs’, ‘LineWidth’, 2, ‘MarkerEdgecolor’, ‘k’, ‘MarkerFacecolor’, ‘g’, ‘MarkerSize’,10) 04/06/2013 Lập trình tính toán 13
  14. 4.1 Đồ họa 2D (tt.) Lệnh comet >> comet(x,y,p) Vẽ theo hàm comet với phần kéo dài p, khi không khai báo chỉ số p thì chương trình tự lấy giá trị p = 0.1 Lệnh comet cho phép người dùng vẽ theo từng điểm trên màn hình gây hiệu ứng hoạt họa khi vẽ. 04/06/2013 Lập trình tính toán 14
  15. 4.1 Đồ họa 2D (tt.) Các hệ tọa độ trong mặc phẳng Lệnh Hệ tọa độ polar(thet,r) Vẽ trên hệ tọa độ cực Vẽ trên hệ tọa độ của trục loga, semilogx(x,y) thang đo log10 được sử dụng cho trục x Vẽ trên hệ tọa độ của trục loga, semilogy(x,y) thang đo log10 được sử dụng cho trục y Vẽ trên hệ tọa độ loga, 2 trục của hệ loglog(x,y) tọa độ đều dựa trên thang log10 04/06/2013 Lập trình tính toán 15
  16. 4.1 Đồ họa 2D (tt.) Xác định kiểu trục tọa độ >> axis([xmin xmax ymin ymax]) Các tùy chỉnh: axis on/off/auto axis normal/square/equal/tight axis ij/xy grid on/off 04/06/2013 Lập trình tính toán 16
  17. 4.1 Đồ họa 2D (tt.) Xác định kiểu trục tọa độ (tt.) Ví dụ: 04/06/2013 Lập trình tính toán 17
  18. 4.1 Đồ họa 2D (tt.) Xác định giới hạn trục tọa độ >> xlim([xmin xmax]) >> ylim([ymin ymax]) Ví dụ: >> x = linspace(0,3,500); >> y = 1./(x-1).^2 + 3./(x-2).^2; >> plot(x,y); grid on; >> ylim([0 50]); 04/06/2013 Lập trình tính toán 18
  19. 4.1 Đồ họa 2D (tt.) Xác định các mốc ghi trên trục tọa độ Xtick và Ytick Ví dụ: >> x = -pi:0.1:pi; >> plot(x,sin(x)) >> set(gca,'XTick',-pi:pi/2:pi) >> set(gca,'XTickLabel', {'-pi','-pi/2','0','pi/2','pi'}) 04/06/2013 Lập trình tính toán 19
  20. 4.1 Đồ họa 2D (tt.) Chú thích trên đồ thị Các lệnh: xlabel; ylabel title legend text; gtext; 04/06/2013 Lập trình tính toán 20
  21. 4.1 Đồ họa 2D (tt.) Chú thích trên đồ thị (tt.) Ví dụ: x = -pi:.1:pi;t = -pi/4; y = sin(x); plot(x,y) set(gca,'XTick',-pi:pi/2:pi) set(gca,'XTickLabel',{'-pi','pi/2','0','pi/2','pi'}) xlabel('-\pi \leq \Theta \leq \pi') ylabel('sin(\Theta)') title('Plot of sin(\Theta)') text(-pi/4,sin(-pi/4),'\leftarrow sin(\pi\div4)', 'HorizontalAlignment','left') legend('sin \theta') hold on plot(t, sin(t),’or’) 04/06/2013 Lập trình tính toán 21
  22. 4.1 Đồ họa 2D (tt.) Chú thích trên đồ thị (tt.) title Ví dụ (tt.): legend ylabel text 04/06/2013 Lập trình tính toán xlabel 22
  23. 4.1 Đồ họa 2D (tt.) Vẽ đồ thị trên hai tung độ khác nhau >>plotyy(x1,y1, x2,y2) Ví dụ: t=0:900; A=1000; a=0.005; b=0.005; y1 = A*exp(-a*t); y2 = sin(b*t); plotyy(t,y1,t,y2); 04/06/2013 Lập trình tính toán 23
  24. 4.1 Đồ họa 2D (tt.) Vẽ nhiều đồ thị trên cùng một cửa sổ >>subplot(m,n,p) Chia màn hình đồ họa làm m hàng, n cột và p là phần cửa sổ hiện thời. Các cửa sổ con của màn hình đồ họa được đánh số theo hàm từ trái sang phải, từ trên xuống dưới. 04/06/2013 Lập trình tính toán 24
  25. 4.1 Đồ họa 2D (tt.) Vẽ nhiều đồ thị trên cùng một cửa sổ (tt.) Ví dụ: t = 0:pi/20:2*pi; [x,y] = meshgrid(t); subplot(2,2,1); plot(sin(t),cos(t)); axis equal subplot(2,2,2); z = sin(x)+cos(y); plot(t,z); axis([0 2*pi -2 2]) subplot(2,2,3); z = sin(x).*cos(y); plot(t,z); axis([0 2*pi -1 1]) subplot(2,2,4); z = (sin(x).^2)-(cos(y).^2); plot(t,z); axis([0 2*pi -1 1]) 04/06/2013 Lập trình tính toán 25
  26. 4.1 Đồ họa 2D (tt.) Vẽ nhiều đồ thị trên cùng một cửa sổ (tt.) Ví dụ (tt.): 04/06/2013 Lập trình tính toán 26
  27. 4.1 Đồ họa 2D (tt.) Đọc dữ liệu từ màn hình đồ họa >>[x,y] = ginput Đọc tọa độ điểm từ màn hình đồ họa và trao kết quả cho 2 vector x và y. Vị trí của điểm được xác định bởi chuột hoặc bàn phím. 04/06/2013 Lập trình tính toán 27
  28. 4.2 Đồ họa 3D Lệnh plot3 >> plot3(x,y,z,‘option’) Ví dụ: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) xlabel('sin(t)') ylabel('cos(t)') zlabel('t') grid on axis square 04/06/2013 Lập trình tính toán 28
  29. 4.2 Đồ họa 3D (tt.) Lệnh meshgrid >> [u,v]=meshgrid(x,y) Trong đó, giá trị tọa đổ điểm của lưới được lưu trữ vào 2 ma trận u, v - u chứa vector x với m dòng - v chứa vector y với n cột 04/06/2013 Lập trình tính toán 29
  30. 4.2 Đồ họa 3D (tt.) Bộ lệnh tạo lưới Lệnh Ý nghĩa In các giá trị trong ma trận z như là các độ cao mesh(z) trên mặt lưới grid hình chữ nhật. Nối các điểm đó với các điểm xung quanh tạo nên mặt lưới Vẽ hàm mặt lưới trên dữ liệu là các phần tử trong ma trận z. Các điểm lân cận trong lưới được nối với nhau bởi các đường thẳng. Đồ họa được vẽ trong không gian 3D với góc chiếu phối cảnh, mesh(u,v,z,c) trong đó phần tử zij là chiều cao trên lưới grid(uij,vij). C: ma trận màu cho mỗi điểm. Nếu C không xác định thì C=Z 04/06/2013 Lập trình tính toán 30
  31. 4.2 Đồ họa 3D (tt.) Bộ lệnh tạo lưới (tt.) Lệnh Ý nghĩa Vẽ bước lưới cho các bề mặt lưới tương tự như meshc( ) lệnh mesh nhưng đồng thời vẽ thêm đường contour ở dưới bề mặt lưới Vẽ mặt lưới tương tự như lệnh mesh nhưng có meshz( ) thêm lưới grid trên mặt x, y Tương tự như lệnh mesh nhưng lưới grid chỉ waterfall( ) được vẽ theo một hướng Hiện / không hiện các đường khuất sau mặt lưới hidden on/off tạo bởi lệnh mesh 04/06/2013 Lập trình tính toán 31
  32. 4.2 Đồ họa 3D (tt.) Bộ lệnh tạo lưới (tt.) Ví dụ: Vẽ mặt z=sin(y2-x)-cos(y-x2) với x,y∈[0,π] x=0:0.1:pi;y=0:0.1:pi; [X,Y]=meshgrid(x,y); Z=sin(Y.^2+X)-cos(Y-X.^2); subplot(221);mesh(Z); subplot(222);meshc(Z); subplot(223);mesh(x,y,Z); axis([0 pi 0 pi -5 5]); subplot(224);mesh(Z); hidden off 04/06/2013 Lập trình tính toán 32
  33. 4.2 Đồ họa 3D (tt.) Lệnh comet3 >> comet(x,y,z,p) Cho ra tiến trình vẽ mô phỏng hàm z=f(x,y) với độ kéo dài tính theo p. Nếu p không các định thì hàm số lấy giá trị mặc định là tập của các giá trị 0.1 04/06/2013 Lập trình tính toán 33
  34. 4.3 In đồ thị Xuất hình thành file với định dạng chỉ định >> print –dformat filename Một số format của tập tin: tiff, bmp, jpeg, Ví dụ: print -dtiff -r200 mygraph.tiff print –djpeg mygraph.jpeg 04/06/2013 Lập trình tính toán 34
  35. 4.4 Giao diện người sử dụng (GUI) Tạo giao diện đồ họa >> guide 04/06/2013 Lập trình tính toán 35