Cách vẽ đồ thị trong matlab

      10
MATLAB là ngôn từ lập trình, vì chưng chủ thể MathWorks thiết kế. Mặc cho dù được cách tân và phát triển nhỏng một ngữ điệu xây dựng toán thù học giúp người tiêu dùng tiếp cận cùng với đại số cao cấp và giải pháp xử lý hình ảnh, MATLAB cũng khá được đông đảo những công ty công nghệ, kĩ sư và xây dựng viên trong nghành cách xử lý hình hình ảnh với áp dụng trí tuệ tự tạo áp dụng. MATLAB chất nhận được tính toán số với ma trận, vẽ thứ thị hàm số tuyệt biểu thiết bị đọc tin, thực hiện thuật toán thù, tạo nên các hình ảnh người tiêu dùng và links với rất nhiều công tác máy tính viết trên các ngữ điệu lập trình sẵn không giống.MATLAB được thực hiện trong không ít nghành nghề nghề , những nghành khác biệt , bởi vì vậy mà lại các hàm vào MATLAB cũng rất nhiêu . Sau đây bản thân đang trình làng một vài ba hàm về đồ dùng thị đơn giản với thịnh hành trong MATLAB

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

Phần phệ các câu lệnh để vẽ đồ gia dụng thị trong khía cạnh phẳng rất nhiều là lệnh plot. Lệnh plot vẽ trang bị thị của một mảng dữ liệu trong một hệ trục phù hợp với nối các điểm bởi con đường thẳng.

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

lấy ví dụ như :

x=linspace(0,2*pi,30); // Hàm linspace là lấy 30 điểm biện pháp phần lớn nhau trong tầm từ 0 -> 2piy=sin(x);plot(x,y);

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

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

Nếu thay đổi bơ vơ trường đoản cú các đối số thiết bị thị đang luân phiên một góc 90

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

MATLAB mặc định con đường vẽ là mặt đường ngay thức thì, ko khắc ghi, blue color da ttách.Ta rất có thể thay đổi giao diện mặt đường vẽ và lưu lại lên vật thị bằng phương pháp gửi vào một đối số thiết bị cha. Các đối số tùy chọn này là một trong những xâu kí từ bỏ, hoàn toàn có thể đựng 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 Nét Vẽ
bxanh domain authority trời.chấm-nét liền
gxanh lá câyovòng tròn:nét chấm
rđỏxvệt x-.đường nét gạch men - chấm
cxanh da ttránh nhạt+lốt +--đường nét đứt
mđỏ tím*vệt 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 hướng 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 xác định kèm cùng với biểu thị Linewidth trong lệnh plot. Ðộ rộng lớn con đường vẽ được khoác định là 0.5 point ~ 1/72 inch.Chiều cao của dấu (marker) được xác minh kèm với trình bày Markerkích cỡ trong lệnh plot. Chiều cao của vệt được mặc định là 6 point.

Ví dụ:

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

Lệnh grid on vẫn thêm mặt đường lưới vào đồ thị ngày nay. Lệnh grid off xóa sổ các đường nét này.Ta có thể đưa tên trục x, y với tên của đồ gia dụng thị vào hình vẽ nhờ các lệnh xlabel với ylabel. Lệnh title vẫn chế tạo vật dụng thị tiêu đề sống đỉnh.Dòng ghi chụ được gửi vào thiết bị thị nhờ vào hàm legend. Trong legover thì màu sắc với hình dạng của từng các loại con đường phù hợp cùng với những đường đó trên đồ gia dụng 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("bởi thi si mê sin va cos")legover ("y = sinx","z =cosx")

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

Ví dụ

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

Hình vẽ vẫn hiển thị trên hành lang cửa số figure

hold onplot(x,z,"m")

Sẽ vẽ thêm 1 thiết bị thị không giống vào cùng hành lang cửa số figure

hold off

Lệnh subplot(m,n,p) phân chia cửa sổ hiện nay thành một ma trận m x n khoảng nhằm vẽ thiết bị thị, cùng chọn p là cửa sổ hoạt động. Các đồ tỉnh thành phần được đặt số từ trái qua nên, trường đoản cú bên trên xuống bên dưới, tiếp đến cho mặt hàng sản phẩm công nghệ 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ẽ những điểm cùng đường vào không gian. Ngoài vấn đề gồm thêm trục z, bí quyết áp dụng hàm này hệt như biện pháp thực hiện hàm plot.View(): a là góc vị trí tính bởi độ ngược hướng kyên ổn đồng hồ thời trang từ phía âm của trục y. Giá trị mặc định của a là -37.5 độ. b là góc nhìn tính bởi độ xuống mặt phẳng x, y. Giá trị khoác định của b là 30 độ. Lúc chuyển đổi các quý giá a cùng b đã nhìn được hình vẽ dưới những góc nhìn khác nhau.

ví dụ như :

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ẽ những con đường vào mặt phẳng

loglog: giống như nhỏng plot tuy thế thang chia là logarithm cho tất cả hai trục.

Xem thêm: Soi Kèo Bóng Đá, Nhận Định Kèo Nhà Cái Hôm Nay, Aegoal: Nhận Định, Soi Kèo Bóng Đá Hàng Ngày

semilogx: tương tự như plot tuy nhiên thang chia của trục x là logarithm còn thang phân tách trục y là tuyến đường tính.semilogy: tựa như như plot nhưng mà thang chia của trục y là logarithm còn thang phân tách của trục x là đường 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 khí.Vì vậy, muốn vẽ cùng với hệ tọa độ logarithm trong không gian 3D, ta phải áp dụng hàm plot3.Chế độ tuyến tính luôn được mặc định. Ðể biến đổi xác suất trên những trục lịch sự tỷ lệ logarithm, ta cần sử dụng lệnh:set(gca,’Xscale’,’log’)

4) Pie Chart

Ðể vẽ đồ dùng thị bánh vào mặt phẳng ta cần sử dụng hàm pie, còn ước ao vẽ trong không gian, ta cần sử dụng hàm pie3. Với cú pháp pie(V) .Trong số đó V là vectơ cất các phần tử được mô tả trên vật thị bánh.Thứ từ phân loại trên đồ dùng thị bánh trái chiều klặng đồng hồMuốn bóc phần phân tách làm sao kia ra khỏi đồ thị thì ta phân phối hàm pie một vectơ nữa có thuộc kích thước với vectơ được biểu thị nghỉ ngơi bên trên. Phần tử của vectơ này khớp ứng với phần đề nghị bóc thoát khỏi đồ gia dụng thị thì ta đến quý giá khác 0, thành phần tương ứng cùng với phần ko bóc tách ra ta mang lại quý giá bằng 0.

ví dụ như :Trong một thành phầm triển khai xong bao gồm 5 cụ thể của phân xưởng A, 12 cụ thể của phân xưởng B, 15 chi tiết của phân xưởng C và trăng tròn cụ thể của phân xưởng D. Ta mô tả số tỷ lệ chi tiết của từng phân xưởng trong thành phầm hoàn thiện kia bên trên thứ thị bánh bằng hàm pie nhỏng 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ó thể chấp nhận được vẽ vật dụng thị vào mặt phẳng với trong không gian.Hàm barh và hàm barh3 cho phép vẽ thứ thị cột nằm theo chiều ngang trong khía cạnh phẳng cùng vào không gian.

Cú pháp : bar(Vx, Vy, kích thước)Ví dụ: Vẽ thứ thị cột cùng 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 ko chuyển vào các quý giá của X, tức thị trong hàm bar vừa sử dụng ta vứt <2 3 4>, thì MATLAB đã mang định những quý hiếm của X là <1 2 3>. Trong trường đúng theo Vy là ma trận thì số đội cột chính bởi form size của vectơ Vx.

Ví dụ: trình bày thiết bị 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 phương diện xuất phát điểm từ một ma trận bởi những lệnh mesh, meshz, meshc,waterfall

MATLAB khái niệm mặt phẳng lưới bằng những điểm theo phía trục z sinh sống trên tuyến đường kẻ ô hình vuông vắn trên mặt phẳng x - y. Nó tạo nên lên mẫu một thiết bị thị bằng cách ghép những điểm lân cận cùng với các mặt đường thẳng. Kết trái là nó trông nhỏng một màng lưới đánh cá cùng với các mắc lưới là những điểm dữ liệu. Đồ thị lưới này thường xuyên được sử dụng để quan liêu gần kề phần đa ma trận lớn hoặc vẽ các hàm có nhì thay đổi.Cách thứ nhất là đưa ra thứ thị lưới của hàm nhị trở thành z = f(x,y), khớp ứng với ma trận X cùng Y đựng các sản phẩm với các cột lặp đi lặp lại, MATLAB cung ứng hàm meshgrid mang đến mục đích này: = meshgrid (x,y): tạo một ma trận X, nhưng mà các mặt hàng của chính nó là bạn dạng sao của vetơ x, với ma trận Y có các cột của chính nó là phiên bản sao của vectơ y. Cặp ma trận này tiếp nối được thực hiện nhằm ước chừng hàm hai phát triển thành áp dụng công năng toán học tập về mảng của MATLAB.

Để vẽ bề mặt ta áp dụng các hàm:mesh (X,Y,Z): nối những điểm cùng nhau vào một lưới chữ nhật.meshc (X,Y,Z): vẽ các đường contour bên dưới thứ thị.

Xem thêm: Máy Tính Vững Mạnh Computer, Công Ty Tnhh Thương Mại Máy Tính Vững

meshz (X,Y,Z): vẽ các mặt đường trực tiếp đứng viền quanh đồ thị.waterfall X,Y,Z): vẽ mặt với cảm giác nhỏng thác đổ.Ví dụ: Vẽ khía cạnh khẳng định bởi pmùi hươ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 sầu 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ẽ các mặt được tô trơn từ một ma trận bằng những lệnh surf, surfcLệnh surfc (X,Y,Z): vẽ mặt có các đườn contour phía dưới.Lệnh surfl (X,Y,Z,s): vẽ phương diện có sáng bóng. Đối số s xác kim chỉ nan của mối cung cấp sáng trên mặt phẳng vẽ. s là 1 trong vectơ tuỳ lựa chọn trong hệ toạ độ decac xuất xắc trong toạ độ cầu. Nếu ko knhì báo giá trị mang định của s là 45o theo hướng klặng đồng hồ đeo tay từ địa điểm người quan sát.Khi vẽ đồ thị ta có thể biến hóa một số trong những Điểm sáng của đồ dùng thị nlỗi tỉ lệ trên các trục, quý giá số lượng giới hạn của những trục, màu sắc với kiểu dáng mặt đường cong trang bị 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 tố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 ra các lưới rộng để sở hữu 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)


Chuyên mục: Kiến thức thú vị