Mục lục bài viết
1 ) Hàm Plot – Vẽ các điểm và đường trong mặt phẳng(2D)
MATLAB là ngôn từ lập trình, do công ty MathWorks phong cách thiết kế. Mặc dù được tăng trưởng như một ngôn từ lập trình toán học giúp người sử dụng tiếp cận với đại số hạng sang và giải quyết và xử lý hình ảnh, MATLAB cũng được phần đông những nhà khoa học, kĩ sư và lập trình viên trong nghành nghề dịch vụ giải quyết và xử lý hình ảnh và ứng dụng trí tuệ tự tạo sử dụng. MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực thi thuật toán, tạo những giao diện người dùng và link với những 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ề, nhiều nghành khác nhau, chính vì thế mà những hàm trong MATLAB cũng rất nhiêu. Sau đây mình sẽ trình làng một vài hàm về đồ thị đơn thuần và thông dụng trong MATLAB
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 vẽ đồ thị của một mảng dữ liệu trong một hệ trục thích hợp và nối các điểm bằng đường thẳng.
Bạn đang xem: Vẽ đồ thị hàm 2 biến trong matlab
Ví dụ :Ví dụ :
x=linspace(0,2*pi,30); // Hàm linspace là lấy 30 điểm cách đều nhau trong khoảng từ 0 -> 2piy=sin(x);plot(x,y);
Đồ thị nhận được được hiển thi trên cửa sổ figureĐồ thị nhận được được hiển thi trên hành lang cửa số figureChúng ta cũng hoàn toàn có thể vẽ nhiều đồ thị bằng cách thêmz = cos ( x ) ; plot ( x, y, x, z ) ;Nếu thay đổi trật tự các đối số đồ thị sẽ xoay một góc 90Nếu biến hóa trật tự những đối số đồ thị sẽ xoay một góc 90plot ( y, x, z, x ) ; * *MATLAB mặc định đường vẽ là đường liền, không ghi lại, màu xanh da trời. Ta hoàn toàn có thể biến hóa kiểu đường vẽ và lưu lại lên đồ thị bằng cách đưa vào một đối số thứ ba. Các đối số tùy chọn này là một 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 Nét Vẽbxanh da trời.chấm-nét liềngxanh lá câyovòng tròn:nét chấmrđỏxdấu x-.nét gạch – chấmcxanh da trời nhạt+dấu +–nét đứtmđỏ tím*dấu hoa thị-nét liềnyvàngshình vuôngkđendhình thoiwtrắng^tam giác hướng xuốngvtam giác hướng lêntam giác hướng tráivpsao năm cánhhsao sáu cánhVí dụ:Ví dụ :plot ( x, y, ” m * “, x, y, ” b — ” )Ðộ rộng của đường vẽ ( lines ) được xác lập kèm với diễn đạt Linewidth trong lệnh plot. Ðộ rộng đường vẽ được mặc định là 0.5 point ~ 1/72 inch. Chiều cao của dấu ( marker ) được xác lập kèm với miêu tả Markersize trong lệnh plot. Chiều cao của dấu được mặ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 đồ thị hiện tại. Lệnh grid off xóa bỏ các nét này.Ta có thể đưa tên trục x, y và tên của đồ thị vào hình vẽ nhờ các lệnh xlabel và ylabel. Lệnh title sẽ thêm vào đồ thị tiêu đề ở đỉnh.Dòng ghi chú được đưa vào đồ thị nhờ hàm legend. Trong legend thì màu và kiểu của mỗi loại đường phù hợp với các đường đó trên đồ thị.
Ví dụ:Ví dụ 😡 = 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 ham sin va cos ” ) legend ( ” y = sinx “, ” z = cosx ” )hold on, MATLAB không bỏ đi hệ trục đã tồn tại trong khi lệnh plot mới đang được thực hiện, thay vào đó, nó thêm đường cong mới vào hệ trục hiện tại.Tuy nhiên, nếu dữ liệu không phù hợp hệ trục tọa độ cũ, thì trục được chia lại. Dùng lệnh hold off sẽ bỏ đi cửa sổ figure hiện tại và thay vào bằng một đồ thị mới.Lệnh hold không có đối số sẽ bật tắt chức năng của chế độ thiết lập hold trước đóVí dụTa hoàn toàn có thể thêm nét vẽ vào đồ thị đã có sẵn bằng cách dùng lệnh hold. Khi dùng lệnh, MATLAB không bỏ đi hệ trục đã sống sót trong khi lệnh plot mới đang được triển khai, thay vào đó, nó thêm đường cong mới vào hệ trục hiện tại. Tuy nhiên, nếu tài liệu không tương thích hệ trục tọa độ cũ, thì trục được chia lại. Dùng lệnhsẽ bỏ đi hành lang cửa số figure hiện tại và thay vào bằng một đồ thị mới. Lệnh hold không có đối số sẽ bật tắt tính năng của chính sách 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 trên cửa sổ figureHình vẽ sẽ hiện ra trên hành lang cửa số figurehold onplot ( x, z, ” m ” )Sẽ vẽ thêm 1 đồ thị khác vào cùng cửa sổ figureSẽ vẽ thêm 1 đồ thị khác vào cùng hành lang cửa số figurehold offLệnh subplot(m,n,p) chia cửa sổ hiện tại thành một ma trận m x n khoảng để vẽ đồ thị, và chọn p là cửa sổ hoạt động. Các đồ thị thành phần được đánh số từ trái qua phải, từ trên xuống dưới, sau đó đến hàng thứ haiVí dụ:Lệnhchia 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à chọn p là hành lang cửa số hoạt động giải trí. Các đồ thị thành phần được đánh số từ trái qua phải, từ trên xuống dưới, sau đó đến hàng thứ 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à đường trong không gian
Hàm plot3 cho phép vẽ các điểm và đường trong không gian. Ngoài việc có thêm trục z, cách sử dụng 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 chiều kim đồng hồ 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ằng độ xuống mặt phẳng x, y. Giá trị mặc định của b là 30 độ. Khi thay đổi các giá trị a và b sẽ nhìn được hình vẽ dưới các góc độ khác nhau.
Ví dụ :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à semilogy vẽ các đường trong mặt phẳng
loglog: tương tự như plot nhưng thang chia là logarithm cho cả hai trục.semilogx: tương tự như plot nhưng thang chia của trục x là logarithm còn thang chia trục y là tuyến tính.semilogy: tương tự như plot nhưng thang chia của trục y là logarithm còn thang chia của trục x là tuyến tính.set(gca,’Xscale’,’log’)
4) Pie Chart
: tựa như như plot nhưng thang chia là logarithm cho cả hai trục. : tương tự như như plot nhưng thang chia của trục x là logarithm còn thang chia trục y là tuyến tính. : tựa như như plot nhưng 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 có những hàm vẽ tương ứng với loglog, semilogx, semilogy trong khoảng trống. Vì vậy, muốn vẽ với hệ tọa độ logarithm trong khoảng trống 3D, ta phải sử dụng hàm plot3. Chế độ tuyến tính luôn được mặc định. Ðể biến hóa tỷ suất trên những trục sang tỷ suất logarithm, ta dùng lệnh :
Ðể vẽ đồ thị bánh trong mặt phẳng ta dùng hàm pie, còn muốn vẽ trong không gian, ta dùng hàm pie3. Với cú pháp pie(V) .Trong đó V là vectơ chứa các phần tử được thể hiện trên đồ thị bánh.Thứ tự phân chia trên đồ thị bánh ngược chiều kim đồng hồMuốn tách phần chia nào đó ra khỏi đồ thị thì ta thêm vào hàm pie một vectơ nữa có cùng kích thước với vectơ được mô tả ở trên. Phần tử của vectơ này tương ứng với phần cần tách ra khỏi đồ thị thì ta cho giá trị khác 0, phần tử tương ứng với phần không tách ra ta cho giá trị bằng 0.
Ví dụ :Trong một sản phẩm hoàn thiện có 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 thể hiện số phần trăm chi tiết của mỗi phân xưởng trong sản phẩm hoàn thiện đó trên đồ thị bánh bằng hàm pie như sau:Ví dụ : Trong một loại sản phẩm hoàn thành xong có 5 cụ thể của phân xưởng A, 12 chi tiết cụ thể của phân xưởng B, 15 chi tiết cụ thể của phân xưởng C và 20 chi tiết cụ thể của phân xưởng D. Ta bộc lộ số Tỷ Lệ chi tiết cụ thể của mỗi phân xưởng trong mẫu sản phẩm triển khai xong đó trên đồ 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 và bar3 cho phép vẽ đồ thị trong mặt phẳng và trong không gian.Hàm barh và hàm barh3 cho phép vẽ đồ thị cột nằm ngang trong mặt phẳng và trong không gian.
Cú pháp : bar(Vx, Vy, kích thước)Ví dụ: Vẽ đồ thị cột với các số liệu:| X | Y || ——– | ——– || 2 | 7.5 || 3 | 5.2 || 4 | 3 |Cú pháp : 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 những giá trị của X, nghĩa là trong hàm bar vừa sử dụng ta bỏ < 2 3 4 >, thì MATLAB sẽ mặc định những giá trị của X là < 1 2 3 >. Trong trường hợp Vy là ma trận thì số nhóm cột chính bằng 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 |Ví dụ : biểu lộ đồ thị cột với những 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ừ một ma trận bằng các lệnh mesh, meshz, meshc,waterfall
MATLAB định nghĩa bề mặt lưới bằng các điểm theo hướng trục z ở trên đường kẻ ô hình vuông trên mặt phẳng x – y. Nó tạo lên mẫu một đồ thị bằng cách ghép các điểm gần kề với các đường thẳng. Kết quả là nó trông như một mạng lưới đánh cá với các mắc lưới là các điểm dữ liệu. Đồ thị lưới này thường được sử dụng để quan sát những ma trận lớn hoặc vẽ những hàm có hai biến.Bước đầu tiên là đưa ra đồ thị lưới của hàm hai biến z = f(x,y), tương ứng với ma trận X và Y chứa các hàng và các cột lặp đi lặp lại, MATLAB cung cấp hàm meshgrid cho mục đích này: = meshgrid (x,y): tạo một ma trận X, mà các hàng của nó là bản sao của vetơ x, và ma trận Y có các cột của nó là bản sao của vectơ y. Cặp ma trận này sau đó được sử dụng để ước lượng hàm hai biến sử dụng đặc tính toán học về mảng của MATLAB.
Để vẽ bề mặt ta sử dụng các hàm:mesh (X,Y,Z): nối các điểm 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ị.
Xem thêm:
meshz (X,Y,Z): vẽ các đường thẳng đứng viền quanh đồ thị.waterfall X,Y,Z): vẽ mặt với hiệu ứng như thác đổ.Ví dụ: Vẽ mặt xác định bởi phương trình: z(x, y)xe^(-x^2) ^(-y^2)Để vẽ mặt phẳng ta sử dụng những hàm :: nối những điểm với nhau trong một lưới chữ nhật. : vẽ những đường contour bên dưới đồ thị. Xem thêm : Hướng Dẫn Thay Đổi Mật Khẩu Skype Trên Máy Tính, Pc, Điện Thoại Đơn Giản Nhất : vẽ những đường thẳng đứng viền quanh đồ thị. : vẽ mặt với hiệu ứng như thác đổ. Ví dụ : Vẽ mặt xác lập 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 ” )surfc (X,Y,Z): vẽ mặt có các đườ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 định hướng của nguồn sáng trên bề mặt vẽ. s là một vectơ tuỳ chọn trong hệ toạ độ decac hay trong toạ độ cầu. Nếu không khai báo giá trị mặc định của s là 45o theo chiều kim đồng hồ từ vị trí người quan sát.Khi vẽ đồ thị ta có thể thay đổi một số đặc điểm của đồ thị như tỉ lệ trên các trục, giá trị giới hạn của các trục, màu và kiểu đường cong đồ 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 hay show legend…Ví dụ
Vẽ các mặt được tô bóng từ một ma trận bằng các lệnh surf, surfcLệnh: vẽ mặt có các đườn contour phía dưới.Lệnh: vẽ mặt có 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 vectơ tuỳ chọn trong hệ toạ độ decac hay trong toạ độ cầu. Nếu không khai báo giá trị mặc định của s là 45o theo chiều kim đồng hồ từ vị trí người quan sát.Khi vẽ đồ thị ta có thể thay đổi một số đặc điểm của đồ thị như tỉ lệ trên các trục, giá trị giới hạn của các trục, màu và kiểu đường cong đồ 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 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 nhiều lưới hơn để có một mặt mịn hơn:Ta hoàn toàn có thể tạo nhiều lưới hơn để có một mặt mịn hơn 😡 = – 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 )
Source: https://bem2.vn
Category: TỔNG HỢP