Cách vẽ đồ thị trong matlab

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

1 ) Hàm Plot - Vẽ những điểm và con đường trong khía cạnh phẳng(2D)

Phần lớn những câu lệnh nhằm vẽ đồ thị trong mặt phẳng số đông là lệnh plot. Lệnh plot vẽ đồ thị của một mảng tài liệu trong một hệ trục tương thích và nối các điểm bằng đường thẳng.

Bạn đang xem: Cách vẽ đồ thị trong matlab

Ví dụ :

x=linspace(0,2*pi,30); // Hàm linspace là mang 30 điểm bí quyết đều nhau trong khoảng từ 0 -> 2piy=sin(x);plot(x,y);

Đồ thị nhận được được hiển thi trên hành lang cửa số figure
*
Chúng ta cũng hoàn toàn có thể vẽ các đồ thị bằng cách thêm

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

Nếu biến hóa 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 mặt đường vẽ là đường liền, không đánh dấu, màu xanh da trời.Ta có thể biến đổi kiểu con đường vẽ và ghi lại lên đồ gia dụng thị bằng cách đưa vào trong 1 đối số vật dụng ba. Các đối số tùy chọn này là một xâu kí tự, rất có thể chứa một hoặc nhiều hơn nữa theo bảng bên dưới đây.

Kí tựMàuKí tựĐánh dấuKí tựKiểu 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 men - 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 phía xuống
vtam giác phía 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 của con đường vẽ (lines) được khẳng định kèm với diễn tả Linewidth vào lệnh plot. Ðộ rộng mặt đường vẽ được khoác định là 0.5 point ~ 1/72 inch.Chiều cao của lốt (marker) được xác định kèm với mô tả Markersize trong lệnh plot. độ cao của vết được mang định là 6 point.

Ví dụ:

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

Lệnh grid on đã thêm đường lưới vào đồ gia dụng thị hiện tại tại. Lệnh grid off xóa sổ các đường nét này.Ta hoàn toàn có thể đưa tên trục x, y và tên của đồ vật thị vào mẫu vẽ nhờ những lệnh xlabel với ylabel. Lệnh title sẽ cấp dưỡng đồ thị tiêu đề ở đỉnh.Dòng chú thích được đưa vào trang bị thị nhờ vào hàm legend. Vào legend thì màu với kiểu của mỗi nhiều loại đường tương xứng với những đường đó 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 tê mê sin va cos")legend ("y = sinx","z =cosx")

*
Ta rất có thể thêm nét vẽ vào đồ vật thị đã tất cả sẵn bằng cách dùng lệnh hold. Khi dùng lệnh hold on, MATLAB không loại bỏ hệ trục vẫn tồn tại trong khi lệnh plot mới đang rất được thực hiện, thế 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 phân chia lại. Cần sử dụng lệnh hold off sẽ quăng quật đi hành lang cửa số figure bây giờ và núm vào bởi một vật thị mới.Lệnh hold không có đối số sẽ bật tắt chức năng của chế độ tùy chỉnh 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 hành lang cửa số figure

hold onplot(x,z,"m")

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

hold off

Lệnh subplot(m,n,p) chia hành lang cửa số hiện tại thành một ma trận m x n khoảng chừng để vẽ đồ thị, với chọn phường là cửa sổ hoạt động. Những đồ thành phố phần được đánh số từ trái qua phải, từ trên xuống dưới, tiếp đến đến hàng sản phẩm 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ó thể chấp nhận được vẽ các điểm và con đường trong ko gian. Ngoài việc có thêm trục z, cách áp dụng hàm này y như cách thực hiện hàm plot.View(): a là góc phương vị tính bằng độ ngược hướng kim đồng hồ đeo tay từ phía âm của trục y. Cực hiếm mặc định của a là -37.5 độ. B là ánh mắt tính bằng độ xuống mặt phẳng x, y. Quý giá mặc định của b là 30 độ. Khi thay đổi các quý giá a cùng b sẽ chú ý được hình mẫu vẽ dưới các góc độ không giống 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) các hàm vẽ loglog, semilogx với semilogy vẽ các đường trong mặt phẳng

loglog: giống như như plot nhưng lại thang phân chia là logarithm cho tất cả hai trục.

Xem thêm: Tinh Chat Cong Viec Là Gì ? Từ Vựng Về Các Nghề Nghiệp Tính Chất Công Việc Tiếng Anh Là Gì

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

4) Pie Chart

Ðể vẽ vật dụng thị bánh trong phương diện phẳng ta sử dụng hàm pie, còn ao ước vẽ trong ko gian, ta dùng hàm pie3. Cùng với cú pháp pie(V) .Trong đó V là vectơ đựng các phần tử được bộc lộ trên đồ vật thị bánh.Thứ tự phân chia trên đồ thị bánh trái chiều kim đồng hồMuốn tách bóc phần chia nào đó thoát khỏi đồ thị thì ta cấp dưỡ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 khớp ứng với phần cần bóc ra khỏi trang bị thị thì ta mang đến giá trị khác 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 sản phẩm hoàn thiện có 5 cụ thể của phân xưởng A, 12 chi tiết của phân xưởng B, 15 cụ thể của phân xưởng C và 20 chi tiết của phân xưởng D. Ta biểu lộ số phần trăm chi tiết 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ằng 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 cùng bar3 được cho phép vẽ đồ thị trong khía cạnh phẳng với trong ko gian.Hàm barh với hàm barh3 cho phép vẽ trang bị thị cột nằm hướng ngang trong mặt phẳng với trong không gian.

Cú pháp : bar(Vx, Vy, kích thước)Ví dụ: Vẽ đồ thị cột với những 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 đưa vào các giá trị của X, tức thị trong hàm bar vừa thực hiện ta bỏ <2 3 4>, thì MATLAB sẽ mặc định những giá trị của X là <1 2 3>. Vào trường đúng theo Vy là ma trận thì số đội cột thiết yếu bằng kích cỡ của vectơ Vx.

Ví dụ: miêu tả đồ 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ẽ các mặt từ 1 ma trận bằng những lệnh mesh, meshz, meshc,waterfall

MATLAB định nghĩa mặt phẳng lưới bằng những điểm theo hướng trục z ở trên phố kẻ ô hình vuông vắn trên phương diện phẳng x - y. Nó tạo ra lên chủng loại một đồ gia dụng thị bằng cách ghép các điểm lân cận với các đường thẳng. Công dụng là nó trông như 1 mạng lưới tiến công cá với các mắc lưới là các điểm dữ liệu. Đồ thị lưới này hay được thực hiện để quan tiền sát đa số ma trận lớn hoặc vẽ rất nhiều hàm tất cả 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), khớp ứng với ma trận X cùng Y chứa các hàng và những cột lặp đi lặp lại, MATLAB cung cấp hàm meshgrid cho mục tiêu này: = meshgrid (x,y): chế tác một ma trận X, mà các hàng của chính nó là bạn dạng sao của vetơ x, với ma trận Y có những cột của 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 hai biến thực hiện đặc giám sát và đo lường học về mảng của MATLAB.

Để vẽ mặt phẳng ta sử dụng các hàm:mesh (X,Y,Z): nối những điểm cùng với nhau trong một lưới chữ nhật.meshc (X,Y,Z): vẽ các đường contour bên dưới đồ thị.meshz (X,Y,Z): vẽ những đường trực tiếp đứng viền quanh đồ dùng thị.waterfall X,Y,Z): vẽ khía cạnh với hiệu ứng 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 tô bóng từ một ma trận bằng các lệnh surf, surfcLệnh surfc (X,Y,Z): vẽ mặt có những đườn contour phía dưới.Lệnh surfl (X,Y,Z,s): vẽ mặt có bóng sáng. Đối số s xác kim chỉ nan của nguồn sáng trên bề mặt vẽ. S là một trong những vectơ tuỳ chọn trong hệ toạ độ decac xuất xắc trong toạ độ cầu. Còn nếu như không khai làm giá trị khoá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ẽ vật dụng thị ta bao gồm thể chuyển đổi một số điểm sáng của vật dụng 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 và kiểu con đường cong vật dụng thị, hiển thị legend…ngay trên figure bằng phương pháp vào thực đơn tools rồi vào mục axes properties, line properties hay 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 mặt 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)