VẼ NHIỀU ĐỒ THỊ TRONG MATLAB

MATLAB là ngữ điệu lập trình, do công ty MathWorks thiết kế. Tuy vậy được phát triển như một ngữ điệu lập trình toán học giúp người tiêu dùng tiếp cận với đại số cao cấp và xử trí hình ảnh, MATLAB cũng được đông đảo những nhà khoa học, kĩ sư và lập trình viên trong nghành xử lý hình hình ảnh và vận dụng trí tuệ tự tạo sử dụng. MATLAB cho phép tính toán số cùng với ma trận, vẽ vật thị hàm số tuyệt biểu trang bị thông tin, triển khai thuật toán, tạo các giao diện người dùng và links với đều chương trình máy vi tính viết bên trên nhiều ngôn từ lập trình khác.MATLAB được thực hiện trong nhiều nghành nghề dịch vụ nghề , những lĩnh vực không giống nhau , cũng chính vì vậy mà những hàm vào MATLAB cũng khá nhiêu . Tiếp sau đây mình sẽ ra mắt một vài hàm về đồ dùng thị đơn giản và dễ dàng và phổ biến trong MATLAB

1 ) Hàm Plot - Vẽ những điểm và đường trong mặt phẳng(2D)

Phần lớn các câu lệnh nhằm vẽ vật dụng thị trong mặt phẳng hầu hết là lệnh plot. Lệnh plot vẽ thiết bị thị của một mảng tài liệu trong một hệ trục phù hợp và nối những điểm bởi đường thẳng.

Bạn đang xem: Vẽ nhiều đồ thị trong matlab

Ví dụ :

x=linspace(0,2*pi,30); // Hàm linspace là mang 30 điểm phương pháp đều nhau trong vòng từ 0 -> 2piy=sin(x);plot(x,y);

Đồ thị nhận thấy được hiển thi trên hành lang cửa số figure
*
Chúng ta cũng rất có thể vẽ nhiều đồ thị bằng phương pháp thêm

z=cos(x);plot(x,y,x,z);

Nếu chuyển đổi trật tự các đối số đồ gia dụng thị vẫn xoay một góc 90

plot(y,x,z,x);**

MATLAB mặc định con đường vẽ là con đường liền, không tấn công dấu, blue color da trời.Ta bao gồm thể đổi khác kiểu con đường vẽ và đánh dấu lên vật dụng thị bằng phương pháp đưa vào một đối số sản phẩm ba. Các đối số tùy lựa chọn này là 1 trong những xâu kí tự, hoàn toàn có thể chứa một hoặc nhiều hơn theo bảng dưới đây.

Kí tựMàuKí tựĐánh dấuKí tựKiểu đường nét Vẽ
bxanh da trời.chấm-nét liền
gxanh lá câyovòng tròn:nét chấm
rđỏxdấu x-.nét gạch - chấm
cxanh da trời nhạt+dấu +--nét đứt
mđỏ tím*dấu hoa thị-nét liền
yvàngshình vuông
kđendhình thoi
wtrắng^tam giác hướng xuống
vtam giác hướng lên
tam giác phía trái
vpsao năm cánh
hsao sáu cánh
Ví dụ:

plot(x,y,"m*",x,y,"b--")

*
Ðộ rộng lớn của đường vẽ (lines) được xác minh kèm với thể hiện Linewidth vào lệnh plot. Ðộ rộng đường vẽ được mang định là 0.5 point ~ 1/72 inch.Chiều cao của vết (marker) được xác định kèm với bộc lộ Markersize vào lệnh plot. độ cao của dấu được khoác định là 6 point.

Ví dụ:

plot(x,y,"p-","linewidth",4,"markersize",6)

Lệnh grid on sẽ thêm đường lưới vào đồ vật thị hiện nay tại. Lệnh grid off xóa sổ các nét này.Ta có thể đưa tên trục x, y với tên của đồ dùng thị vào hình mẫu vẽ nhờ các lệnh xlabel cùng ylabel. Lệnh title sẽ cung cấp đồ thị tiêu đề ngơi nghỉ đỉnh.Dòng chú giải được gửi vào thứ thị nhờ vào hàm legend. Vào legend thì màu và kiểu của mỗi các loại đường tương xứng với các đường kia trên vật thị.

Ví dụ:

x=linspace(0,2*pi,30);y=sin(x);z=cos(x); plot(x,y,"mx-",x,z,"bp--")grid onxlabel("x")ylabel("y")title("do thi mê say sin va cos")legend ("y = sinx","z =cosx")

*
Ta có thể thêm nét vẽ vào vật dụng thị đã có sẵn bằng phương pháp dùng lệnh hold. Khi sử dụng lệnh hold on, MATLAB không loại bỏ đi hệ trục đã tồn tại trong khi lệnh plot mới đang được thực hiện, nuốm vào đó, nó thêm đường cong bắt đầu vào hệ trục hiện tại tại.Tuy nhiên, nếu tài liệu không cân xứng hệ trục tọa độ cũ, thì trục được chia lại. Cần sử dụng lệnh hold off sẽ vứt đi cửa sổ figure lúc này và gắng vào bởi một đồ gia dụng thị mới.Lệnh hold không có đối số sẽ tắt bật chức năng của chế độ thiết lập cấu hình hold trước đó

Ví dụ

x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y);

Hình vẽ sẽ chỉ ra trên cửa sổ figure

hold onplot(x,z,"m")

Sẽ vẽ thêm một đồ thị không giống vào cùng hành lang cửa số figure

hold off

Lệnh subplot(m,n,p) chia hành lang cửa số hiện trên thành một ma trận m x n khoảng để vẽ đồ vật thị, và chọn phường là hành lang cửa số hoạt động. Các đồ thành thị phần được khắc số từ trái qua phải, từ trên xuống dưới, sau đó đến hàng thiết bị haiVí dụ:

subplot(2,2,1)plot(x,y)subplot(2,2,2)plot(y,x)subplot(2,2,3)plot(x,z)subplot(2,2,4)plot(z,x)

*

2) Hàm plot3 - Vẽ điểm và con đường trong ko gian

Hàm plot3 được cho phép vẽ các điểm và mặt đường trong ko gian. Ngoài vấn đề có thêm trục z, cách thực hiện hàm này giống như cách sử dụng hàm plot.View(): a là góc phương vị tính bằng độ ngược hướng kim đồng hồ từ phía âm của trục y. Quý giá mặc định của a là -37.5 độ. B là mắt nhìn tính bởi độ xuống mặt phẳng x, y. Quý hiếm mặc định của b là 30 độ. Khi thay đổi các cực hiếm a với b sẽ chú ý được hình vẽ dưới những góc độ khác nhau.

Ví dụ :

t=linspace(0,10*pi);subplot(1,2,1);plot3(sin(t),cos(t),t);xlabel("sint");ylabel("cost");title("helix");subplot(1,2,2);plot3(sin(t),cos(t),t);view(<10,35>);xlabel("sint");ylabel("cost");title("helix")

*

3) những hàm vẽ loglog, semilogx cùng semilogy vẽ những đường trong mặt phẳng

loglog: tương tự như plot nhưng mà thang phân chia là logarithm cho cả hai trục.

Xem thêm: Mùng 1 Tháng 4 Là Ngày Gì ? Những Trò Đùa Ngày Mùng 1 Tháng 4 Thú Vị

semilogx: giống như như plot tuy thế thang phân tách của trục x là logarithm còn thang phân tách trục y là đường tính.semilogy: tương tự như như plot nhưng lại thang chia của trục y là logarithm còn thang chia của trục x là tuyến tính.
*
*
MATLAB không tồn tại các hàm vẽ tương ứng với loglog, semilogx, semilogy trong không gian.Vì vậy, muốn vẽ với hệ tọa độ logarithm trong không khí 3D, ta phải sử dụng hàm plot3.Chế độ đường tính luôn được mặc định. Ðể biến đổi tỷ lệ trên các trục sang tỷ lệ logarithm, ta dùng lệnh:set(gca,’Xscale’,’log’)

4) Pie Chart

Ðể vẽ trang bị thị bánh trong phương diện phẳng ta sử dụng hàm pie, còn muốn vẽ trong ko gian, ta sử dụng hàm pie3. Cùng với cú pháp pie(V) .Trong đó V là vectơ đựng các bộ phận được biểu hiện trên đồ dùng thị bánh.Thứ tự phân chia trên đồ gia dụng thị bánh trái hướng kim đồng hồMuốn bóc tách phần phân chia nào đó thoát khỏi đồ thị thì ta cung ứng hàm pie một vectơ nữa bao gồm cùng form size với vectơ được biểu thị ở trên. Phần tử của vectơ này tương xứng với phần cần tách ra khỏi vật dụng thị thì ta mang đến giá trị không giống 0, bộ phận tương ứng với phần không tách bóc ra ta cho giá trị bởi 0.

Ví dụ :Trong một thành phầm hoàn thiện gồm 5 chi tiết của phân xưởng A, 12 chi tiết của phân xưởng B, 15 chi tiết của phân xưởng C và 20 chi tiết của phân xưởng D. Ta bộc lộ số phần trăm cụ thể của mỗi phân xưởng trong thành phầm hoàn thiện kia trên đồ gia dụng thị bánh bởi hàm 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")

*

5) Đồ thị cột - Bar chart

Hàm bar với bar3 chất nhận được vẽ đồ gia dụng thị trong mặt phẳng cùng trong ko gian.Hàm barh và hàm barh3 chất nhận được vẽ thứ thị cột nằm ngang trong phương diện phẳng và trong ko gian.

Cú pháp : bar(Vx, Vy, kích thước)Ví dụ: Vẽ đồ dùng thị cột với các số liệu:| X | Y || -------- | -------- || 2 | 7.5 || 3 | 5.2 || 4 | 3 |

bar(<2 3 4>,<7.5 5.2 3>,0.4)

*

Nếu ta không chuyển vào những giá trị của X, tức là trong hàm bar vừa thực hiện ta quăng quật <2 3 4>, thì MATLAB sẽ mặc định những giá trị của X là <1 2 3>. Vào trường hợp Vy là ma trận thì số team cột chủ yếu bằng form size của vectơ Vx.

Ví dụ: thể hiện đồ thị cột với các số liệu sau:| X | Y || -------- | -------- || 1 | 7.5 || | 6 || | 4 || 3 | 5.2 || | 3 || | 5 |

bar(<1 3>,<7.5 6 4;5.2 3 5>,0.4)

*

6)Vẽ những mặt xuất phát điểm từ một ma trận bằng các lệnh mesh, meshz, meshc,waterfall

MATLAB định nghĩa mặt phẳng lưới bằng các điểm theo phía trục z ở trê tuyến phố kẻ ô hình vuông vắn trên khía cạnh phẳng x - y. Nó chế tạo lên mẫu mã một đồ dùng thị bằng phương pháp ghép những điểm bên cạnh với các đường thẳng. Công dụng là nó trông như một mạng lưới đánh cá với những mắc lưới là những điểm dữ liệu. Đồ thị lưới này hay được thực hiện để quan sát đa số ma trận phệ hoặc vẽ phần đa hàm gồm hai biến.Bước thứ nhất là chỉ dẫn đồ thị lưới của hàm hai trở thành z = f(x,y), tương xứng với ma trận X cùng Y chứa những hàng và các cột lặp đi lặp lại, MATLAB hỗ trợ hàm meshgrid cho mục tiêu này: = meshgrid (x,y): chế tác một ma trận X, mà những hàng của nó là phiên bản sao của vetơ x, và ma trận Y có các cột của chính nó là bản sao của vectơ y. Cặp ma trận này tiếp nối được thực hiện để cầu lượng hàm nhị biến áp dụng đặc thống kê giám sát học về mảng của MATLAB.

Để vẽ bề mặt ta sử dụng những hàm:mesh (X,Y,Z): nối các điểm với nhau vào một lưới chữ nhật.meshc (X,Y,Z): vẽ các đường contour dưới đồ thị.meshz (X,Y,Z): vẽ những đường trực tiếp đứng viền quanh đồ gia dụng thị.waterfall X,Y,Z): vẽ khía cạnh với cảm giác như thác đổ.Ví dụ: Vẽ mặt khẳng định bởi phương trình: z(x, y)xe^(-x^2) ^(-y^2)

x=-2:0.5:2;y=-2:1:2;=meshgrid(x,y)Z=X.*exp(-X.^2-Y.^2)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")

*
*

Vẽ những mặt được đánh bóng từ 1 ma trận bằng các lệnh surf, surfcLệnh surfc (X,Y,Z): vẽ phương diện có những đườn contour phía dưới.Lệnh surfl (X,Y,Z,s): vẽ mặt gồm bóng sáng. Đối số s xác định hướng của nguồn sáng trên bề mặt vẽ. S là một trong vectơ tuỳ chọn trong hệ toạ độ decac tốt trong toạ độ cầu. Nếu không khai làm giá trị mặc định của s là 45o theo chiều kim đồng hồ đeo tay từ vị trí bạn quan sát.Khi vẽ thiết bị thị ta tất cả thể biến đổi một số đặc điểm của thiết bị thị như tỉ trọng trên các trục, quý giá giới hạn của những trục, màu cùng kiểu đường cong trang bị thị, hiển thị legend…ngay trên figure bằng cách vào menu tools rồi vào mục axes properties, line properties tuyệt show legend…Ví dụ

x=-2:0.5:2;y=-2:1:2;=meshgrid(x,y);Z=X.*exp(-X.^2-Y.^2);surf(X,Y,Z)colormap(hot)

Ta có thể tạo những lưới hơn để có một phương diện mịn hơn:

x=-2:0.2:2;y=-2:0.4:2;=meshgrid(x,y);Z=X.*exp(-X.^2-Y.^2);surf(X,Y,Z)colormap(cool)