Cách Vẽ Đồ Thị trong Matlab Gui

Đồ thị thì như bạn đã biết nó dùng làm hiện thị thông số của một đối tượng người tiêu dùng nào đó hoàn toàn có thể bằng mặt đường thẳng, cong, cầu thang đúng không? Vậy vào Matlab và cụ thể hơn trong đồ họa GUI thì ta vẫn sử dụng như thế nào thì trong bài viết này Vu
Tien
IT xin được phía dẫn bạn cách sử dụng.

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

*
huong-dan-ve-do-thi-trong-matlab-gui


| gợi ý vẽ thiết bị thị vào GUI Matlab

Ở đây cho mình trực quan lại thì ta mang một ví dụ đó là ta thực hiện 2 đối tượng người tiêu dùng chính sẽ là Push Button cùng Axes (Dùng nhằm hiện thị trang bị thị). Khi ta nhấn vào Push Button thì sẽ tiến hành hiện thị một vật thị nào kia nên đối tượng người sử dụng Axes nhưng mà ta đã nâng vào GUI. Giao diện thì bạn có thể thiết kế như thế nào thì cũng được. Quan trọng bạn đề xuất chú đến cách đánh tên Tag của đối tượng người sử dụng đó sao để cho phù hợp.

*
ve-do-thi-trong-gui-matlab

Ở trên đây Vu
Tien
IT sẽ thi công một giao diện dễ dàng như hình dưới đây.

Ở đây bạn chăm chú đó là Push Button gồm Tag là pushbutton1. Khi bạn thiết kế giao diện xong bạn hãy save (Lưu) lại cùng với tên nào cũng được.

*
huong-dan-ve-do-thi-trong-matlab-gui

Bây giờ đồng hồ ta đã mở mang lại File .m mà các bạn đã lưu trước đó ra để thực hiện viết code nhằm vẽ đồ thị.

Bạn hãy mở đến Function có têndưới trên đây để viết mã lệnh

function pushbutton1_Callback(h
Object, eventdata, handles)Trong đó: pushbutton1 hoàn toàn có thể là một tên không giống (Tag) của đối tượng Push Button

Bây giờ ta đã lấy một ví dụ vẽ đồ gia dụng thị nào đó như sau

– Khai báo một biến t có mức giá trị chạy tự -pi (3.14…) mang lại pi với cách nhảy là 0.1. Nghĩa là khoảng cách các điểm sẽ rất nhiều nhau là 0.1

t = -pi : 0.1 : pi;– Lệnh vẽ thiết bị thị 2D

plot(t, sin(t));Oke hiện nay bạn quay trở về giao diện GUI bấm hình tam giác blue color để khởi chạy trương trình nên. Kế tiếp bạn nhấm vào nút mang tên Ve vì thi thì lập tức giao diện đồ thị đã có được vẽ bắt buộc trong đối tượng người sử dụng axes1.

*
plot-trong-matlab

Chú thích: Trong GUI thì mặc định nếu như khách hàng chỉ chế tạo ra 1 đối tượng người dùng là axes thì các bạn không đề xuất khai báo khi nhập lênh plot() coi vẽ vào vị trí nào. Giả dụ từ 2 đối tượng axes thì ta mới đề xuất định danh xem ta vẽ đề xuất axes nào.

Xem thêm: Phương Pháp Dạy Trẻ 4 Tháng Tuổi Thông Minh Ba Mẹ Hài Lòng, Phương Pháp Dạy Trẻ 4

Tiếp theo chúng ta cũng có thể tùy biến đổi giao diện của khách hàng cho nó bài bản hơn thì bạn cũng có thể tìm hiểu những lệnh bên dưới đây

grid on;  Nếu sẽ tắt thì sẽ tự động mở và trái lại (Bật tắt lưới)Nếu bạn có nhu cầu vẽ thêm một vật thị nữa trên và một axes thì bạn phải làm như sau

hold on Giữ lại phần nhiều gì đã có trên thiết bị thịplot(t, cos(t), "r"); Vẽ một trang bị thị tiếp. là màu đỏ của mặt đường vẽ
Và các bạn sẽ được kết quả sau:

*
hold-on-trong-gui-matlab

Như bên trên thì chỉ là một ví dụ không còn sức đơn giản và dễ dàng mà thôi Đó là ta vẽ thứ thị trên một Axes. Một thắc mắc đặt ra là làm sau để vẽ ra 2 hoặc nhiều đồ thị vào một GUI? Thì cũng không trở ngại là mấy đó là các bạn tạo thêm một hay những đối tượng Axes trong một GUI và ta đang viết code để định danh đến nó.

| hướng dẫn vẽ 2 hoặc những đồ thị trên 1 GUI

Mặc định trường hợp từ 2 Axes trở đề xuất thì nếu khách hàng không định danh vẽ yêu cầu Axes làm sao thì thì trương trình sẽ chọn cái Axes ở cuối cùng mà bạn tạo nên đưa vao GUI như thể trường đúng theo này.

*
ve-2-hoac-nhieu-axes-tren-mot-gui

Vậy tất cả cách nào để ta chỉ định xem vẽ nghỉ ngơi vùng nào xuất xắc không? Câu vấn đáp là có. Ta sẽ sử dụng lệnh sau:

axes(handles.axes1);% Viet Code cho axes1axes(handles.axes2);% Viet Code cho axes2Như đoạn code trên các bạn sẽ hiểu là lúc ta mong vẽ thứ thị nào buộc phải thì ta điện thoại tư vấn tag của axes đó là được. Tương đối là dễ dàng ràng buộc phải không?

*
handeles-axes-gui

Và bạn sẽ nhận được công dụng sau:

*
ve-nhieu-do-thi-tren-mot-gui-matlab

Tiếp để gán nhãn ký kết hiệu mang đến trục x, trục y của một vật dụng thị nào đó thì bạn gõ lệnh sau:

xlable("Ten Truc X")yable("Ten Truc Y")Như vậy thì bạn đã hiểu được ra làm sao để vẽ được đồ dùng thị trên một bối cảnh GUI nào đó rồi đúng không ạ nào.

Có một vài bạn hỏi là làm sao sao nhằm ẩn cái đối tượng người tiêu dùng Axes lúc chạy trương trình. Chỉ bao giờ ta dìm nút Push Button hay như là một thao tác làm sao đó mong mỏi nó hiện nay thị trang bị thị vào Axes đó thì mới hiện. Thì cũng rất đơn giản bạn chỉ việc nhấn chuột đề nghị vào đối tượng Axes và lựa chọn Inspector và bạn tìm đến thuộc tính mang tên là Visible chọn giá trị nó là Off là được.

Để mang lại nó chuyên nghiệp hóa hợp cũng giống như dễ nhìn hơn bởi vì khi chúng ta ẩn Axes lúc khởi động phải thì trương trình hiện nay ra không tồn tại gi nìn cũng không được đẹp mắt lắm. Thì gồm một biện pháp khác kia là bạn tạo một nằm trong tính Panel và cho Axes vào đó thì quan sát nó đẹp mắt hơn.

Chú thích: Panel giống như là một chiếc bảng năng lượng điện ở những hộ gia đình vậy vậy. Bên phía trong bảng điện thì sẽ sở hữu được các ổ cắm, công tắc,… chính những cái này là Axes đó. Bạn di chuyển Panel đi đâu thì Axes dịch rời theo đó.

Tổng Kết:

Như vậy là bọn họ đã vừa học hoàn thành làm sao vẽ được một hay nhiều đồ thị trên một giao diện nào kia trong phần mền Matlab rồi. Nó cũng không khó cho lắm cho nên bạn hãy thao tác lại nhiều lần đến thuần thục nhé. Chúc các bạn thành công!

x = 0:0.05:(20-4);%Tao có x voi cac phan tu tu 0 den 16 %moi phan tu cach nhau 0.05y = cos(x)-2*sin(x);%Tao có yplot(x,y,"bo:","Line
Width",3,"Marker
Size",5) %Ve bởi thi tu cac gia tri trong sở hữu x va y, đường nét vẽ: width 3, danh dau hinh tron form size 5, mau xanh lam title("Do thi hinh sin"); %ten vày thixlabel("Thoi gian"); %chu thich truc xylabel("Gia tri"); %chu thich truc ygrid on %bat luoi

*
1.2. Lấy ví dụ 2: Vẽ 2 trang bị thị trong 1 trục tọa độ

x = 0:pi/100:(4+1)*pi;%Tao có x voi cac phan tu tu 0 den 5*pi %moi phan tu cach nhau pi*100y = sin(x);%Tao với yz=cos(x);%Tao mang zplot(x,z,"y",x,y,"g","Line
Style","-.","Line
Width",3)%Ve bởi thi tu cac gia tri trong có x va z voi mau vang va % vị thi tu cac gia tri trong sở hữu x va y voi mau xanh la trong cung 1 cua so % net -. Vì rong 3grid %thay doi trang thai luoixlabel("X"),ylabel("Y") %chu thich truc x, ytitle("Graph sin(x) và cos(x)") %ten do thiaxis(<0 trăng tròn -1.2 1.2>); %tao truc toa vì chưng hien thi

*

1.3. Ví dụ như 3: Vẽ 3 vật dụng thị trong 1 trục tọa độ

x = 1:0.5:20-4;%Tao mang x voi cac phan tu tu 1 den 16 %moi phan tu cach nhau 0.5y1 = sin(x)+cos(x);%Tao có y1y2 = sin(x)-2*cos(x);%tao có y2y3 = sin(x)+2*cos(x);%tao mang y3plot(x,y1,"r+:",x,y2,"g*-",x,y3,"yo-") %Ve vì chưng thi tu cac gia tri trong sở hữu x va y1 voi mau do, net ve :, danh dau + va %Ve vì thi tu cac gia tri trong với x va y2 voi mau xanh la, net ve -, danh dau * va % Ve bởi vì thi tu cac gia tri trong sở hữu x va y3 voi mau vang, net ve sầu -, danh dau o%Trong cung 1 cua sogrid on %bat luoi

*
1.4. Ví dụ như 4: Vẽ những đồ thị trong một cửa sổ

clear all %xoa bienx=0:0.01:(4+1)*pi;%Tao có x voi cac phan tu tu 0 den 5*pi %moi phan tu cach nhau 0.01 y1=sin(x); %Tao với y1 y2=cos(x);%Tao có y2y3=sin(x)+cos(x);%Tao sở hữu y3 subplot(3,1,1)%chia cua so thanh ma tran 3 x 1 vùng de ve vì chưng thi, va chon cua so 1 de veplot(x,y3,"g") %Ve vì chưng thi tu cac gia tri trong mang x va y3, net ve mau xanh lagrid on; %Bat luoi subplot(3,1,2)%chia cua so thanh ma tran 3 x 1 vùng de ve do thi, va chon cua so 2 de veplot(x,y2,"y") %Ve bởi vì thi tu cac gia tri trong sở hữu x va y2, net ve mau vanggrid on; %Bat luoi subplot(3,1,3)%chia cua so thanh ma tran 3 x 1 khoang de ve do thi, va chon cua so 3 de veplot(x,y1,"b") %Ve vày thi tu cac gia tri trong có x va y1, net ve mau xanh lamgrid on; %Bat luoi

*
1.5. Lấy một ví dụ 5: Vẽ các đồ thị trong 1 cửa sổ

x=0:0.01:(4+1)*pi;%Tao có x voi cac phan tu tu 0 den 5*pi %moi phan tu cach nhau 0.01 y1=sin(x); %Tao có y1 y2=cos(x);%Tao có y2y3=tan(x);%Tao với y3y4=sin(x).*sin(x); subplot(2,2,1)%chia cua so thanh ma tran 2 x 2 khoang de ve vày thi, va chon cua so 1 de veplot(x,y1,"b+:","Line
Width",2,"Marker
Size",5) %Ve do thi tu cac gia tri trong có x va y1, net ve : do rong 2, danh dau + size 5, mau xanh lamgrid on; %Bat luoi subplot(2,2,2)%chia cua so thanh ma tran 2 x 2 vùng de ve do thi, va chon cua so 2 de veplot(x,y2,"r+:","Line
Width",2,"Marker
Size",5) %Ve bởi thi tu cac gia tri trong với x va y2, net ve sầu : bởi rong 2, danh dau + kích thước 5, mau dogrid on; %Bat luoi subplot(2,2,3)%chia cua so thanh ma tran 2 x 2 vùng de ve vày thi, va chon cua so 3 de veplot(x,y3,"g+:","Line
Width",2,"Marker
Size",2) %Ve vì chưng thi tu cac gia tri trong có x va y3, net ve sầu : bởi vì rong 2, danh dau + size 2, mau xanh lagrid on; %Bat luoi subplot(2,2,4)%chia cua so thanh ma tran 2 x 2 khoang de ve bởi vì thi, va chon cua so 4 de veplot(x,y4,"y+:","Line
Width",2,"Marker
Size",5) %Ve vì thi tu cac gia tri trong có x va y4, net ve : vì chưng rong 2, danh dau + size 5, mau vanggrid on; %Bat luoi

*
2. Đồ thị thanh

x = 1:12; %Tao sở hữu x voi cac phan tu tu 1 den 12y=<8 1 1 5 0 5 5 2 0 2 2 4>; %Tao với ybar(x,y,0.5,"r");% ve do thi thanh tu gia tri x y, mau do, do rong 0. بينجو اون لاين 5grid %thay doi trang thai luoixlabel("Thang") %Chu thich truc xylabel("Ma so") %chu thich truc ytitle("Nguyen Van Khuong") %ten bởi thi

*
3. Đồ thị tròn

%pie plotx=<1 8 1 1 5 0 5 5 2 0 2 2 4>; %Tao với xtach = <0 0 0 0 0 0 0 0 0 0 0 1 1> %Tao mang tach de cat bởi vì thi tron%o cac vi tri tuong ung voi so 1, la 2 vi tri cuoi trong mang x pie(x,tach) %Ve bởi vì thi tron voi cac vi tri cát trong có tach

*
4. Đồ thị trong tọa độ cực

%polar plott = 0:0.01:(4+1)*pi;%Tao có t voi cac phan tu tu 0 den 5*pi %moi phan tu cach nhau 0.01polar(t,abs(sin((4+1)*t).*cos((4+1)*t))) %Ve vì thi toa do cuc tu gia tri t va yêu thích abs(sin((4+1)*t).*cos((4+1)*t))

*

4. Đồ thị 3D

4.1. Đồ thị con đường 3D

z = 0:pi/50:(4+1)*pi;%Tao sở hữu z voi cac phan tu tu 0 den 5*pi %moi phan tu cach nhau pi/50x=sin(z); %Tao sở hữu xy=cos(z); %Tao sở hữu yplot3(x,y,z,"Line
Width",5,"Line
Style","-","Color","b") %Ve vày thi 3d tu cac gia tri trong với x,y,z, net ve - vị rong 5, mau xanh lamgrid; %thay doi trang thai luoi

*
4.2. Đồ thị tất cả đường contour

x = -1:0.05:1;%Tao với x voi cac phan tu tu -1 den 1 %moi phan tu cach nhau 0.05y=x; %Tao với y = meshgrid(x,y); %dinh luoi vez = x.^(3+4)+y.^(2+4); %Tao sở hữu zsurfc(x,y,z,"Edge
Color","b") %Tao be mat 3 chieu teo duong contour ben duoi

*
4.3. Đồ thị mesh, surf

= meshgrid(-8:0.5:8); %dinh luoi vez = sqrt(x.^(2+4)+y.^(2+4)); %Tao có z subplot(2,2,1); %chia cua so thanh ma tran 2 x 2 vùng de ve do thi, va chon cua so 1 de vesurf(x,y,z,"Edge
Color","r"),title("Ham surf"); %Tao be mat 3 chieu va ten vị thicolormap hot %chon kieu to mau cho vì thishading interp %tao bong cho be mat subplot(2,2,2);%chia cua so thanh ma tran 2 x 2 khoang de ve vày thi, va chon cua so 2 de vemesh(x,y,z,"Edge
Color","b"),title("Ham mesh"); %Ve mat luoi 3 chiều va them ten vị thisubplot(2,2,3);%chia cua so thanh ma tran 2 x 2 khoang de ve vì thi, va chon cua so 3 de vesurfc(x,y,z,"Edge
Color","y"),title("Ham surf");%Tao be mat 3 chieu teo duong contour va ten vày thishading flat %Tao bong be mat kieu flatsubplot(2,2,4);%chia cua so thanh ma tran 2 x 2 vùng de ve do thi, va chon cua so 4 de vemesh(x,y,z,"Edge
Color","c"),title("Ham mesh");%Ve mat luoi 3d va them ten do thishading flat %Tao bong be mat kieu flat

*
4.4. Vẽ hình cầu

%ve hinh cau tam (x=2, y=2, z=4) 3so cuoi msv = sphere(50); %Tao 3 có x,y,z la toa do cac diem tren hinh causubplot(1,2,1) %chia cua so thanh ma tran 1 x 2 khoang de ve vì chưng thi, va chon cua so 1 de vesurf(x+2,y+2,z+4) %Tao be mat 3dsubplot(1,2,2) %chia cua so thanh ma tran 1 x 2 vùng de ve vì chưng thi, va chon cua so 2 de vemesh(x+2,y+2,z+4)%Ve mat luoi 3d

*
4.5. Vẽ hình trụ

subplot(1,2,1) %chia cua so thanh ma tran 1 x 2 khoang de ve bởi vì thi, va chon cua so 1 de vecylinder(<1 8 1 1 5 1 5>) %Ve hinh trusubplot(1,2,2) %chia cua so thanh ma tran 1 x 2 khoang de ve vì thi, va chon cua so 2 de vecylinder(<5 2 1 2 2 4>) %Ve hinh tru

*