Vẽ nhiều đồ thị trong matlab

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

1 ) Hàm Plot - Vẽ các điểm cùng con đường vào mặt phẳng(2D)

Phần phệ những câu lệnh để vẽ đồ vật thị vào khía cạnh phẳng đều là lệnh plot. Lệnh plot vẽ đồ dùng thị của một mảng tài liệu trong một hệ trục thích hợp và nối những điểm bởi đường trực tiếp.

You watching: Vẽ nhiều đồ thị trong matlab

lấy một ví dụ :

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

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

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

Nếu chuyển đổi đơn nhất trường đoản cú các đối số đồ vật thị đã luân chuyển một góc 90

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

MATLAB mặc định con đường vẽ là mặt đường tức thời, ko khắc ghi, greed color domain authority ttránh.Ta hoàn toàn có thể biến hóa hình trạng mặt đường vẽ với khắc ghi lên đồ dùng thị bằng cách gửi vào một đối số máy ba. Các đối số tùy lựa chọn này là 1 xâu kí tự, rất có thể cất một hoặc nhiều hơn thế nữa theo bảng tiếp sau đây.

Kí tựMàuKí tựĐánh dấuKí tựKiểu Nét Vẽ
bxanh domain authority trời.chấm-đường nét liền
gxanh lá câyovòng tròn:nét chấm
rđỏxlốt x-.nét gạch men - chấm
cxanh da trời nhạt+vết +--nét đứt
mđỏ tím*lốt 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 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 đường vẽ (lines) được xác định kèm cùng với diễn đạt Linewidth vào lệnh plot. Ðộ rộng lớn con đường vẽ được mặc định là 0.5 point ~ 1/72 inch.Chiều cao của vệt (marker) được khẳng định kèm cùng với diễn đạt 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 con đường lưới vào đồ gia dụng thị hiện thời. Lệnh grid off xóa khỏi những đường nét này.Ta có thể gửi thương hiệu trục x, y cùng tên của đồ vật thị vào hình vẽ nhờ vào những lệnh xlabel cùng ylabel. Lệnh title đang chế tạo trang bị thị title sống đỉnh.Dòng ghi chụ được đưa vào đồ thị nhờ hàm legend. Trong legover thì color cùng mẫu mã của mỗi nhiều loại đường phù hợp với những đường kia trên đồ 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("do thi si mê sin va cos")legkết thúc ("y = sinx","z =cosx")

*
Ta rất có thể sắc nét thêm vẽ vào đồ thị sẽ bao gồm sẵn bằng cách cần sử dụng lệnh hold. lúc cần sử dụng lệnh hold on, MATLAB ko vứt đi hệ trục vẫn vĩnh cửu trong khi lệnh plot mới đang được thực hiện, vắt vào kia, nó thêm đường cong new vào hệ trục hiện tại.Tuy nhiên, ví như dữ liệu ko tương xứng hệ trục tọa độ cũ, thì trục được phân tách lại. Dùng lệnh hold off đã loại bỏ đi hành lang cửa số figure hiện tại cùng gắng vào bởi một đồ dùng thị new.Lệnh hold không tồn tại đối số vẫn bật và tắt chức năng của cơ chế tùy chỉ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ẽ sẽ hiện ra bên trên hành lang cửa số figure

hold onplot(x,z,"m")

Sẽ vẽ thêm một thứ 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ố bây giờ thành một ma trận m x n khoảng chừng nhằm vẽ vật thị, và chọn p là cửa sổ hoạt động. Các đồ vật thành phố phần được viết số trường đoản cú trái qua phải, tự trên xuống dưới, tiếp đến đế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 cùng mặt đường vào không gian

Hàm plot3 có thể chấp nhận được vẽ các điểm cùng mặt đường trong không gian. Ngoài bài toán có thêm trục z, bí quyết thực hiện hàm này y hệt như giải pháp áp dụng hàm plot.View(): a là góc phương vị tính bởi độ trái hướng kyên ổn đồng hồ trường đoản cú phía âm của trục y. Giá trị mặc định của a là -37.5 độ. b là ánh mắt tính bằng độ xuống khía cạnh phẳng x, y. Giá trị mang định của b là 30 độ. Lúc đổi khác những cực hiếm a với b đã nhìn được hình mẫu vẽ dưới các khía cạnh không giống 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ẽ các mặt đường vào khía cạnh phẳng

loglog: tương tự như nlỗi plot tuy vậy thang phân chia là logarithm cho cả hai trục.

See more: Có Nên Mua Samsung Galaxy A5 Có Tốt Không, Samsung Galaxy A5 Có Tốt Không

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

4) Pie Chart

Ðể vẽ trang bị thị bánh trong mặt phẳng ta sử dụng hàm pie, còn mong muốn vẽ trong không khí, ta dùng hàm pie3. Với cú pháp pie(V) .Trong số đó V là vectơ chứa những phần tử được bộc lộ bên trên đồ thị bánh.Thứ đọng từ phân loại trên vật thị bánh ngược hướng kyên ổn đồng hồMuốn nắn bóc phần phân tách làm sao đó thoát khỏi đồ vật thị thì ta tiếp tế hàm pie một vectơ nữa tất cả cùng kích cỡ với vectơ được trình bày làm việc bên trên. Phần tử của vectơ này tương ứng cùng với phần cần bóc thoát ra khỏi đồ dùng thị thì ta mang lại giá trị không giống 0, bộ phận tương xứng với phần không bóc tách ra ta cho quý hiếm bằng 0.

Ví dụ :Trong một thành phầm hoàn thành có 5 chi tiết của phân xưởng A, 12 cụ thể của phân xưởng B, 15 cụ thể của phân xưởng C cùng đôi mươi chi tiết của phân xưởng D. Ta biểu hiện số Phần Trăm cụ thể của mỗi phân xưởng trong sản phẩm hoàn thiện đó bên trên đồ vật thị bánh bằng hàm pie nlỗi 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 barbar3 được cho phép vẽ thiết bị thị vào mặt phẳng với vào không gian.Hàm barh cùng hàm barh3 có thể chấp nhận được vẽ thứ thị cột nằm ngang trong mặt phẳng và vào không khí.

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

Ví dụ: biể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ẽ những khía cạnh xuất phát từ một ma trận bởi các lệnh mesh, meshz, meshc,waterfall

MATLAB quan niệm bề mặt lưới bằng những điểm theo phía trục z làm việc trê tuyến phố kẻ ô hình vuông vắn xung quanh phẳng x - y. Nó sản xuất lên mẫu một vật thị bằng phương pháp ghxay các điểm lân cận cùng với những con đường trực tiếp. Kết trái 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 tài liệu. Đồ thị lưới này hay được thực hiện để quan ngay cạnh hồ hết ma trận lớn hoặc vẽ phần lớn hàm gồm nhị trở thành.Bước thứ nhất là đưa ra vật thị lưới của hàm hai biến đổi z = f(x,y), tương xứng cùng với ma trận X cùng Y đựng các hàng với các cột lặp đi tái diễn, MATLAB hỗ trợ hàm meshgrid cho mục đích này: = meshgrid (x,y): tạo nên một ma trận X, mà lại các sản phẩm của chính nó là phiên bản sao của vetơ x, và 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 kế tiếp được áp dụng để ước chừng hàm nhị biến đổi áp dụng tính năng toán thù học tập 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 nhau vào một lưới chữ nhật.meshc (X,Y,Z): vẽ các đường contour dưới thứ thị.

See more: Thị Trấn Cái Rồng Vân Đồn Quảng Ninh, Thị Trấn Cái Rồng, Huyện Vân Đồn, Tỉnh Quảng Ninh

meshz (X,Y,Z): vẽ những đường trực tiếp đứng viền quanh đồ dùng thị.waterfall X,Y,Z): vẽ mặt với cảm giác nlỗi thác đổ.Ví dụ: Vẽ mặt khẳng định vì chưng phương thơm 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 sầu mat voi lenh meshc")

*
*

Vẽ các mặt được đánh nhẵn xuất phát điểm từ 1 ma trận bởi những lệnh surf, surfcLệnh surfc (X,Y,Z): vẽ mặt bao gồm các đườn contour phía bên dưới.Lệnh surfl (X,Y,Z,s): vẽ phương diện bao gồm bóng sáng. Đối số s xác lý thuyết của mối cung cấp sáng trên bề mặt vẽ. s là một vectơ tuỳ lựa chọn trong hệ toạ độ decac xuất xắc vào toạ độ cầu. Nếu không knhì làm giá trị khoác định của s là 45o theo hướng kim đồng hồ từ bỏ địa chỉ người xem.Khi vẽ thứ thị ta hoàn toàn có thể thay đổi một vài điểm sáng của đồ thị như tỉ trọng bên trên các trục, giá trị số lượng giới hạn của các trục, màu sắc với kiểu mặt đường cong trang bị thị, hiển thị legend…tức thì 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 xuất xắc 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 hoàn toàn có thể tạo nhiều 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)


Chuyên mục: Blog