1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình mathlab toàn tập - Chương 17

15 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 174,53 KB

Nội dung

đồ hoạ trong hệ toạ độ phẳng Trong toàn bộ phần h-ớng dẫn sử dụng của cuốn sách này, một số đặc tính về đồ hoạ của MATLAB sẽ lần l-ợt đ-ợc giới thiệu, và trong ch-ơng này và ch-ơng tiếp theo chúng ta sẽ làm sáng tỏ thêm về những đặc tính đó của MATLAB. 17.1 Sử dụng lệnh Plot Nh- bạn đã thấy ở ví dụ tr-ớc đó, phần lớn các câu lệnh để vẽ đồ thị trong mặt phẳng đều là lệnh plot.Lệnh plot này sẽ vẽ đồ thị của một mảng dữ liệu trong một hệ trục...

114 chơng 17 đồ hoạ hệ toạ độ phẳng Trong toàn phần hớng dẫn sử dụng sách này, số đặc tính đồ hoạ MATLAB lần lợt đợc giới thiệu, chơng chơng làm sáng tỏ thêm đặc tính MATLAB 17.1 Sử dụng lệnh Plot Nh bạn đà thấy ví dụ trớc đó, phần lớn câu lệnh để vẽ đồ thị mặt phẳng lệnh plot.Lệnh plot vẽ đồ thị mảng liệu hệ trục thích hợp, nối điểm đờng thẳng Dới ví dụ mà bạn đà thấy trớc (Hình 17.1): >> x = linspace(0,2*pi,30); >> y = sin(x); >> plot(x,y) VÝ dơ nµy tạo 30 điểm liệu đoạn x theo chiều ngang đồ thị, tạo vector y khác hàm sine liệu chứa x Lệnh plot mở cửa sổ đồ hoạ gọi lµ cưa sỉ figure, cưa sỉ nµy nã sÏ tạo độ chia phù hợp với liệu, vẽ đồ thị qua điểm, đồ thị đợc tạo thành việc nối điểm đờng nét liền Các thang chia số dấu đợc tự động cập nhật vào, nh cửa sổ figure đà tồn tại, plot xoá cửa sổ thời thay vào cửa sổ Hình 17.1 Bây vẽ hàm sine cosine đồ thị >> z = cos(x); >> plot(x,y,x,z) 115 H×nh 17.2 VÝ dơ cho thấy bạn vẽ nhiều đồ thị hình vẽ, bạn việc đa thêm vào plot cặp đối số, plot tự động vẽ đồ thị thứ hai màu khác hình Nhiều đờng cong vẽ lúc nh bạn cung cấp đủ cặp đối số cho lệnh plot Nếu nh đối số ma trận đối số lại vector, lệnh plot vẽ tơng ứng cột cđa ma trËn víi vector ®ã: >> W = [y;z] % xây dựng ma trận sine cosine >> plot(x,W) % vẽ cột W với x Hình 17.3 116 Nếu nh bạn thay đổi trật tự đối số đồ thị xoay góc 90 độ >> plot(W,x) Hình 17.4 Nếu lệnh plot đợc gọi mà có đối số, ví nh plot(Y) hàm plot đa kết khác, phụ thuộc vào liệu chứa Y Nếu giá trị Y số phức, Plot(Y) tơng đơng víi plot ( real(Y ) ) vµ plot ( imag(Y ) ), tất trờng hợp khác phần ảo Y thờng đợc bỏ qua Mặt khác Y phần thực plot(Y) tơng ứng với plot(1:length(Y), Y) 17.2 Kiểu đờng, dấu màu Trong ví dơ tr−íc, MATLAB chän kiĨu nÐt vÏ solid vµ mµu blue green cho đồ thị Ngoài bạn khai báo kiểu màu, nét vẽ riêng bạn việc đa vào plot đối số thứ sau cặp liệu mảng Các đối số tuỳ chọn xâu kí tự, chứa nhiều theo bảng dới đây: Ký hiƯu b g r c m y k w Mµu xanh da trời xanh đỏ xanh xám đỏ tím vàng đen trắng Ký hiệu - : - -O X + * KiĨu nÐt vÏ nÐt liỊn ®−êng chÊm ®−êng g¹ch chÊm ®−êng g¹ch g¹ch ®−êng o ®−êng x ®−êng dÊu + ®−êng h×nh * Ký hiƯu s d v ^ < > p h ý nghÜa vu«ng diamond triangle(down) triangle(up) triangle(left) triangle(right) pentagram hexagram 117 Nếu bạn không khai báo màu MATLAB chọn màu mặc định blue Kiểu đờng mặc định kiểu solid trừ bạn khai báo kiểu đờng khác Còn dấu, dấu đợc chọn kiểu dấu đợc vẽ Nếu màu, dấu, kiểu đờng tất chứa xâu, kiểu màu chung cho dấu kiểu nét vẽ Để khai báo màu khác cho dấu, bạn phải vẽ liệu với kiểu khai báo chuỗi khác Dới ví dụ sử dụng kiểu đờng, màu, dấu vẽ khác nhau: >> plot(x,y,' b:p',x,z,' c-',x,z,' m+') H×nh 17.5a 17.3 KiĨu đồ thị Lệnh colordef cho phép bạn lựa chọn kiểu hiển thị Giá trị mặc định colordef white Kiểu sử dụng trục toạ độ, màu nền, nên hình vẽ màu xám sáng, tên tiêu đề trục màu đen Nếu bạn thích màu đen, bạn dùng lệnh colordef black Kiểu cho ta trục toạ độ đen, hình vẽ màu tối xám, tiêu đề trục màu trắng 17.4 Đồ thị lới, hộp chứa trục, nhÃn, lời giải Lệnh grid on thêm đờng lới vào đồ thị Lệnh grid off bỏ nét này, lệnh grid mà tham số kèm theo xen kẽ chế độ on off MATLAB khởi tạo với grid off Thông thờng trục toạ độ có nét gần kiểu solid nên gọi hộp chứa trục Hộp tắt với box off box on khôi phục lại Trục đứng trục ngang có nhÃn với lệnh xlabel ylabel Lệnh title thêm vào đồ thị tiêu đề đỉnh Dùng hàm sine cosine ®Ĩ minh ho¹: >> >> >> >> x = linspace(0,2*pi,30); y = sin(x); z = cos(x); plot(x,y,x,z) 118 >> >> >> >> H×nh 17.5b box off xlabel('Independent variable X') ylabel('dependent variable Y and Z') title('Sine and Cosine Curve') H×nh 17.6 Bạn thêm nhÃn chuỗi kí tự vào vị trí cách sử dụng lệnh text Cú pháp lệnh : text (x, y,string) x, y toạ độ tâm bên trái chuỗi văn Để thêm nhÃn vào hình sine vị trí (2.5, 0.7) nh sau: >> grid on, box on 119 >> text(2.5,0.7,'sin(x)') NÕu bạn muốn thêm nhÃn mà không muốn bỏ hình vẽ khỏi hệ trục xét, bạn thêm chuỗi văn cách di chuột đến vị trí mong mn LƯnh gtext sÏ thùc hiƯn viƯc nµy VÝ dơ (H×nh 17.8): >> gtext('cos(x)') H×nh 17.7 H×nh 17.8 120 17.5 Kiến tạo hệ trục toạ độ MATLAB cung cấp cho bạn công cụ kiểm soát hoàn toàn hình dáng thang chia hai trục đứng ngang víi lƯnh axis Do lƯnh nµy cã nhiỊu u tố, nên số dạng hay dùng đợc đề cập Để biết cách đầy đủ lệnh axis, bạn hÃy xem hệ trợ giúp help MATLAB tham khảo khác Các đặc tính lệnh axis đợc cho bảng dới đây: Lệnh axis([xmin xmax ymin ymax]) đợc đa vector hµng V=axis axis auto axis(‘auto’) axismanual axis xy axis ij axissquare axisequal axis tightequal axis normal axis off axison Mô tả Thiết lập giá trị min,max hệ trục dùng giá trị V vector cột có chứa thang chia cho đồ thị tại: [xmin xmax ymin ymax] Trả lại giá trị mặc định thang chia xmin = min(x), xmax = max(x), v.v Giíi h¹n thang chia nh thang chia hiƯn t¹i Sư dơng (mặc định ) hệ toạ độ decac gốc toạ độ Góc góc thấp bên trái, trục ngang tăng từ trái qua phải, trục đứng tăng từ dới lên Sử dụng hệ toạ độ ma trận, gốc toạ độ đỉnh góc trái, trục đứng tăng từ đỉnh xuống, trục ngang tăng từ trái qua phải Thiết lập đồ thị hình vuông, so với mặc định hình chữ nhật Thiết lập thang chia giống cho hai hệ trục Tơng tự nh axis equal nhng hộp đồ thị vừa đủ liêu Tắt chế độ axis equal, equal, tight vis3d Tắt bỏ chế độ trục, nhÃn, lới, hộp, dấu Thoát khỏi chế độ lệnh title vµ bÊt cø lƯnh label nµo vµ thay bëi lƯnh text gtext Ngợc lại với axis off chúng cã thĨ Thư kiĨm nghiƯm mét sè lƯnh axis cho đồ thị bạn, sử dụng ví dụ trớc ®ã sÏ cho ta kÕt qu¶ nh− sau: >> axis off % bỏ trục toạ độ Hình 17.9 121 >> axis on, grid off % turn the axis on, the grid off H×nh 17.10 >>axis ij % turn the plot upside-down H×nh 17.11 122 >> axis square equal % give axis two command at once H×nh 17.12 >> axis xy normal % return to the defaults H×nh 17.13 123 17.6 In hình Để in hình mà bạn vừa vẽ hình chơng trình MATLAB mà bạn cần, bạn dùng lệnh in từ bảng chọn đánh lệnh in vào từ cửa sổ lệnh: +) In lệnh từ bảng chọn: Trớc tiên ta phải chọn cửa sổ hình cử sổ hoạt động cách nhấn chuột lên nó, sau bạn chọn mục bảng chọn Print từ bảng chọn file Dùng thông số tạo lên mục bảng chọn Print Setup Page Setup, đồ thị bạn đợc gưi m¸y in +) In b»ng lƯnh tõ cưa sổ lệnh: Trớc tiên bạn phải chọn cửa sổ hình làm cửa sổ hoạt động cách nhấn chuột lên dùng lệnh figure(n), sau bạn dùng lÖnh in >> print % prints the current plot to your printer LƯnh orient sÏ thay ®ỉi kiĨu in: KiĨu mặc định kiểu portrait, in theo chiều đứng, trang Kiểu in landscape kiểu in ngang kÝn toµn bé trang KiĨu in tall lµ kiĨu in đứng nhng kín toàn trang Để thay đổi kiểu in khác với kiểu mặc định, bạn dùng lệnh orient với thông số nh sau: >> orient % What is the current orientation ans= portrait >> orient landscape % print sideways on the page >> orient tall % stretch to fill the vertical page NÕu b¹n muèn tìm hiểu kỹ chúng hÃy xem trợ giúp trực tuyến chúng 17.7 Thao tác với đồ thị Bạn thêm nét vẽ vào đồ thị đà có sẵn cách dùng lệnh hold Khi bạn thiết lập hold on, MATLAB không bỏ hệ trục ®· tån t¹i lƯnh plot míi ®ang thùc hiện, thay vào đó, thêm dờng cong vào hệ trục Tuy nhiên nh liệu không phù hợp với hệ trục toạ độ cũ, trục đợc chia lại Thiết lập hold off bỏ cửa sổ figure thay vào đồ thị Lệnh hold mà đối số bật tắt chức chế độ thiết lập hold trớc Trở lại với ví dụ tr−íc: >> x = linspace(0,2*pi,30); >> y = sin(x); >> z = cos(x); >> plot(x,y) Hình 17.14 Bây giữ nguyên đồ thị thêm vào đờng cosine 124 >> hold on %Giữ nguyên đồ thị đà vẽ lúc trớc >> ishold % hàm logic trả giá trị (true) hold trạng thái ON ans = >> plot(x,z,'m') >> hold off >> ishold % hold không trạng thái ON ans = Chú ý để kiểm tra trạng thái hold ta dùng hàm ishold Hình 17.15 Nếu bạn muốn hai hay nhiều đồ thị c¸c cưa sỉ figure kh¸c nhau, h·y dïng lƯnh figure cửa sổ lệnh chọn new figure từ bảng chọn file, figure tham số tạo figure Bạn chọn kiểu figure cách dùng chuột dùng lệnh figure(n) n số cửa sổ hoạt hoạt động Mặt khác cửa sỉ figure cã thĨ chøa nhiỊu h¬n mét hƯ trơc Lệnh subplot(m,n,p) chia cửa sổ thành ma trận mxn khoảng để vẽ đồ thị, chọn p cửa sổ hoạt động Các đồ thị thành phần đợc đánh số từ trái qua phải, từ xuống dới, sau đến hàng thứ hai v.v VÝ dô: >> >> >> >> >> >> >> >> >> >> >> >> >> >> x = linspace(0,2*pi,30); y = sin(x); z = cos(x); a = 2*sin(x).*cos(x); b = sin(x)./(cos(x)+eps); subplot(2,2,1) % pick the upper left of % by grid of subplots plot(x,y),axis([0 2*pi -1 1]),title('sin(x)') subplot(2,2,2) % pick the upper right of the subplots plot(x,z),axis([0 2*pi -1 1]),title('cos(x)') plot(x,z),axis([0 2*pi -1 1]),title('cos(x)') subplot(2,2,3)% pick the lowwer left of the subplots plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)') subplot(2,2,4)%pick the lowwer right of the subplots plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)') 125 Hình 17.6 17.8 Một số đặc điểm khác đồ thị hệ toạ độ phẳng ã ã loglog tơng tự nh plot ngoại trừ thang chia logarithm cho hai trục semilogx tơng tự nh plot ngoại trừ thang chia trục x logarithm thang chia trục y tuyến tính ã semology tơng tự nh plot ngoại trừ thang chia trục y logarithm, thang chia trục x tuyến tính ã area( x, y ) tơng tự nh plot (x,y) ngoại trừ khoảng cách y đợc điền đầy, giá trị y đợc khai báo, nhng mặc định không ã Sơ đồ hình múi tiêu chuẩn đợc tạo thành từ lệnh pie(a, b), a vector giá trị b lµ mét vector logic t chän VÝ dơ: >> a = [.5 1.6 1.2 2.1]; >> pie(a,a==max(a)); >> title('Example Pie Chart') ã Hình 17.7 Một cách khác để quan sát liệu biêu đồ Pareto, giá trị vector đợc vẽ thành khối chữ nhật Ví dụ dùng vector a ®· nãi ë trªn: 126 >> pareto(a); >> title('Example Pareto Chart') Hình 17.18 ã >> >> >> >> >> >> Đôi bạn muốn vẽ hai hàm khác hệ trục mà lại sử dụng thang chia khác nhau, plotyy làm điều cho bạn: x = -2*pi:pi/10:2*pi; y = sin(x);z = 2*cos(x); subplot(2,1,1),plot(x,y,x,z), title('Two Plots on the same scale'); subplot(2,1,2),plotyy(x,y,x,z) title('Two plots on difference scale.'); Hình 17.19 ã Đồ thị bar stair có thĨ sinh bëi viƯc dïng lƯnh bar, bar3, barh stairs Dới ví dụ: 127 >> >> >> >> >> >> >> >> >> >> >> >> >> >> x = -2.9:0.2:2.9; y = exp(-x.*x); subplot(2,2,1) bar(x,y) title('Bar chart of bell Curve') subplot(2,2,2) bar3(x,y) title('3-D Bar Chart of a Bell Cuve') subplot(2,2,3) stairs(x,y) title('Stair Chart of a Bell Curve') subplot(2,2,4) barh(x,y) title('Horizontal Bar Chart') Hình 17.20 ã rose(V) vẽ biểu đồ toạ độ cực cho góc vector v, tơng tự ta có lệnh rose(v,n) rose(v,x) x vector Dới ví dụ: >> v = randn(100,1)*pi; >> rose(v) >> title('Angle Histogram of Random Angle') 128 H×nh 17.21 oOo chơng 18 Đồ hoạ không gian chiều MATLAB cung cấp số hàm để hiển thị liệu chiều nh hàm vẽ đờng thẳng không gian chiều, hàm vẽ bề mặt và khung dây màu đợc sử dụng thay cho chiều thứ t 18.1 Đồ thị đờng thẳng Lệnh plot từ không gian hai chiỊu cã thĨ më réng cho kh«ng gian chiều lệnh plot3 Khuôn dạng plot3 nh sau: plot3 ( x1, y1, z1, S1, x2, y2, z2, S2, ), xn, yn zn vector ma trận, Sn xâu kí tự tuỳ chọn dùng cho việc khai báo màu, tạo biểu tợng kiểu đờng Sau số ví dô: >> >> >> >> t = linspace (0, 10*pi); plot3(sin(t),cos(t),t) title ('Helix'),xlabel('sin(t)') ylabel('cos(t)'),zlabel('t') ... Lệnh gtext thực việc Ví dụ (Hình 17. 8): >> gtext('cos(x)') Hình 17. 7 Hình 17. 8 120 17. 5 Kiến tạo hệ trục toạ độ MATLAB cung cấp cho bạn công cụ kiểm soát hoàn toàn hình dáng thang chia hai trục... H×nh 17. 9 121 >> axis on, grid off % turn the axis on, the grid off H×nh 17. 10 >>axis ij % turn the plot upside-down H×nh 17. 11 122 >> axis square equal % give axis two command at once H×nh 17. 12... plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)') subplot(2,2,4)%pick the lowwer right of the subplots plot(x,b),axis([0 2*pi -2 0 20]),title('sin(x)/cos(x)') 125 H×nh 17. 6 17. 8 Một số đặc điểm

Ngày đăng: 11/05/2021, 04:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w