Bài tập lớn Matlab và ứng dụng - Lập trình Guide giao diện

Phụ lục:

PHẦN 1: SƠ LƯỢC VỀ LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUIDE) TRONG

MATLAB .Trang 04

I. GUI LÀ GÌ?

II. BẮT ĐẦU VỚI GUI!

III. CÁC BƯỚC CẦN THỰC HIỆN TRƯỚC KHI BẮT ĐẦU

PHẦN 2: BẮT ĐẦU THAO TÁC VỚI GUI .Trang 06

I. KHỞI ĐỘNG GUI .Trang 06

II. MÔ TẢ CHỨC NĂNG CÁC CÔNG CỤ TRONG GIAO DIỆN GUI .Trang 07

III. CHỈ NH SỬA HỘP THOẠI INSPECTOR Trang 08

PHẦN 3: THIẾT KẾ GIAO DIỆN (GUI) .Trang 10

I. THIẾT KẾ GIAO DIỆN Trang 10

II. MỘT VÀI THUỘC TÍNH CỦA ĐỐI TƯỢNG TRONG MENU

INSPECTOR .Trang 11

III. MỘT VÀI CHỨC NĂNG MỞ RỘNG .Trang 14

PHẦN 4 : THỰC THI HÀM TRONG GUIDE .Trang 17

I. GIAO DIỆN TRONG MFILE .Trang 17

II. MỘT SỐ HÀM TRONG GUI . .Trang 18

III. KHÁI NIỆM BIẾN HỆ THỐNG .Trang 19

PHẦN 5: LẬP TRÌNH CÁC ĐỐI TƯỢNG Trang 20

I. NÚT NHẤN DEGREE TRONG BẢNG SELECT INPUT .Trang 20

II. NÚT NHẤN DEGREE TRONG BẢNG SELECT INPUT .Trang 21

III. NÚT NHẤN DẤU = Trang 21

IV. EDIT TEXT NHÂP X .Trang 24

V. NÚT NHẤN PLOT .Trang 26

VI. CHECK BOX HOLD ON VÀ GRID ON .Trang 29

VII. NÚT NHẤN DEFAULT Trng 29

VIII. CHECKBOX COLOR ON Trang 29

IX. NÚT EXIT .Trang 31

PHẦN 6: CÁCH SỬ DỤNG GIAO DIỆN .Trang 32

PHẦN 7: CHƯƠNG TRÌNH: .Trang 35

pdf42 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 5534 | Lượt tải: 5download
Tóm tắt nội dung Bài tập lớn Matlab và ứng dụng - Lập trình Guide giao diện, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ckgroundColor',[0.94,0.94,0.94]); 
 set(handles.exit,'Color',[0.94,0.94,0.94]); 
 set(handles.option,'BackgroundColor',[0.94,0.94,0.94]); 
 set(handles.axes1,'Color','w'); 
 set(handles.button,'BackgroundColor',[0.94,0.94,0.94]); 
end 
[Type text] Page 31 
+ Hàm get(handles.color,'Value')==1; 
 Đã được giải thích ở phần trên. Giả sử nếu ô Color on được chọn hàm trên sẽ thực thi: 
 + set(handles.input,'BackgroundColor','b'); 
 b = blue (xem bảng) 
 Ở đây để đặt thuộc tính màu bất kì cho đối tượng ta sử dụng lệnh có cấu trúc: 
Set(handles.nhãn_ex,’thuộc_tính’,’màu’) 
Hoặc 
Set(handles.nhãn_ex,’thuộc_tính’,[mã_màu]) 
+ Nhãn_ex là thuộc tính Tag của đối tượng 
+ Thuộc_tính là thuộc tính màu của đối tượng, có thể là màu nền, màu Font 
chữ…. Xem thuộc tính màu phía bên trái của Menu Inspector 
+ Màu: là các màu đã được mã hóa bằng kí tự. 
+ Mã_màu: là mã màu của đối tượng (xem hướng dẫn ở trên). 
- Như vậy với bất cứ thuộc tính nào ta ta đều có thể chỉnh màu cho chúng. 
- Cấu trúc if-else để xét thuộc tính của ô color on tương ứng với được chọn hoặc không 
chọn 
IX. NÚT EXIT: 
Gọi callback của nút Exit và viết vào các lệnh sau: 
function exit_Callback(hObject, eventdata, handles) 
set(handles.all,’Visible’,’off’) 
- Thuộc tính Visible = off cho phép ẩn cửa sổ giao diện có Tag là all, ở đây là cửa sổ nền 
giao diện, tương ứng với thoát khỏi giao diện 
[Type text] Page 32 
PHẦN 6: CÁCH SỬ DỤNG GIAO DIỆN 
- Để bắt đầu với giao diện, chúng ta làm theo một trong những cách sau: 
+ Trong màn hình thiết kế giao diện, nhấn phím F5 trên bàn phím 
+ Nhấn vào biểu tượng nút Play trong màn hình thiết kế giao diện 
+ Trong màn hình thao tác trên Mfile, nhấn phím F5 để chạy chương trình 
- Trước khi muốn sử dụng ta có thể sắp xếp các menu theo trình tự tùy ý. 
I. TÍNH HÀM LƯỢNG GIÁC 
Bước 1: chọn hàm cần tính từ menu đổ xuống: 
Bước 2: nhập giá trị vào trong ô input 
Bước 3: chọn giá trị nhập vào ở ô input theo bảng Select Input (Degree hoặc Radian) 
Bước 4: nhấn vào dấu bằng 
- Kết quả phép tính sẽ được hiển thị ở ô output 
[Type text] Page 33 
II. VẼ HÀM SỐ LƯỢNG GIÁC 
Bước 1: Chọn hàm muốn vẽ: 
Bước 2: Nhập vào khoảng giá trị của x 
Chú ý: x phải được nhập đúng dạng đã được đề cập trong phần thiết kế giao 
diện. 
Bước 3: Nhấn nút Plot để vẽ hàm 
[Type text] Page 34 
+ Có thể tùy chọn bật lưới điểm, giữ hàm cũ khi vẽ hàm mới…: 
III. SỬ DỤNG NÚT COLOR ON 
Đánh dấu vào ô Color on để bật màu cho giao diện, bổ chọn sẽ trở về màu mặc định. 
IV. SỬ DỤNG NÚT EXIT 
Nếu bạn không muốn sử dụng nữa, nhấn vào nút Exit, cửa sổ mới hiện ra với tiêu đề “are 
you sure you want to Close ?, chọn “Yes” để đóng giao diện, chọn “No” để trở lại màn 
hình giao diện 
- Khi nhấn vào Nút Default, tất cả các trạng thái sẽ quay về ban đầu 
[Type text] Page 35 
PHẦN 7: CHƯƠNG TRÌNH 
function varargout = baitaplonMatlab_bai_1(varargin) 
% Begin initialization code - DO NOT EDIT 
gui_Singleton = 1; 
gui_State = struct('gui_Name', mfilename, ... 
 'gui_Singleton', gui_Singleton, ... 
 'gui_OpeningFcn', @baitaplonMatlab_bai_1_OpeningFcn, ... 
 'gui_OutputFcn', @baitaplonMatlab_bai_1_OutputFcn, ... 
 'gui_LayoutFcn', [] , ... 
 'gui_Callback', []); 
if nargin && ischar(varargin{1}) 
 gui_State.gui_Callback = str2func(varargin{1}); 
end 
if nargout 
 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); 
else 
 gui_mainfcn(gui_State, varargin{:}); 
end 
% End initialization code - DO NOT EDIT 
% --- Executes just before baitaplonMatlab_bai_1 is made visible. 
function baitaplonMatlab_bai_1_OpeningFcn(hObject, eventdata, handles, 
varargin) 
% Choose default command line output for baitaplonMatlab_bai_1 
handles.output = hObject; 
handles.unit_input = 0; 
% Update handles structure 
guidata(hObject, handles); 
% --- Outputs from this function are returned to the command line. 
function varargout = baitaplonMatlab_bai_1_OutputFcn(hObject, eventdata, 
handles) 
% Get default command line output from handles structure 
varargout{1} = handles.output; 
% --- Executes during object creation, after setting button properties. 
function ham_CreateFcn(hObject, eventdata, handles) 
% See ISPC and COMPUTER. 
if ispc && isequal(get(hObject,'BackgroundColor'), 
get(0,'defaultUicontrolBackgroundColor')) 
 set(hObject,'BackgroundColor','white'); 
end 
% --- Executes during object creation, after setting button properties. 
function input_CreateFcn(hObject, eventdata, handles) 
% See ISPC and COMPUTER. 
if ispc && isequal(get(hObject,'BackgroundColor'), 
get(0,'defaultUicontrolBackgroundColor')) 
 set(hObject,'BackgroundColor','white'); 
[Type text] Page 36 
end 
% --- Executes on button press in degree. 
function degree_Callback(hObject, eventdata, handles) 
b = str2num(get(handles.input,'string')); 
handles.unit_input = b*pi/180 
guidata(hObject, handles) 
% --- Executes on button press in radian. 
function radian_Callback(hObject, eventdata, handles) 
handles.unit_input = str2num(get(handles.input,'string')); 
guidata(hObject, handles) 
% --- Executes during object creation, after setting button properties. 
function x_input_CreateFcn(hObject, eventdata, handles) 
% See ISPC and COMPUTER. 
if ispc && isequal(get(hObject,'BackgroundColor'), 
get(0,'defaultUicontrolBackgroundColor')) 
 set(hObject,'BackgroundColor','white'); 
end 
% --- Executes on button press in plotx. 
function plotx_Callback(hObject, eventdata, handles) 
set(handles.nhan,'Visible','on'); 
c=eval(get(handles.x_input,'string')); 
if get(handles.ham,'Value') == 1; 
 plot(handles.axes1,c,sin(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 2; 
 plot(handles.axes1,c,cos(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 3; 
 plot(handles.axes1,c,tan(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 4; 
 plot(handles.axes1,c,cot(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 5; 
 plot(handles.axes1,c,asin(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 6; 
 plot(handles.axes1,c,acos(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 7; 
 plot(handles.axes1,c,atan(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 8; 
 plot(handles.axes1,c,acot(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 9; 
 plot(handles.axes1,c,sinh(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 10; 
 plot(handles.axes1,c,cosh(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 11; 
 plot(handles.axes1,c,tanh(c),'LineWidth',2); 
elseif get(handles.ham,'Value') == 12; 
 plot(handles.axes1,c,coth(c),'LineWidth',2); 
end 
if get(handles.grid,'Value') == 1 
 grid on 
else 
 grid off 
[Type text] Page 37 
end 
if get(handles.hold,'Value') == 1 
 hold on 
else 
 hold off 
end 
% --- Executes on button press in grid. 
function grid_Callback(hObject, eventdata, handles) 
set(handles.axes1); 
grid 
% --- Executes on button press in hold. 
function hold_Callback(hObject, eventdata, handles) 
set(handles.axes1); 
hold 
% --- Executes on button press in ok. 
function ok_Callback(hObject, eventdata, handles) 
d=handles.unit_input 
y=get(handles.ham,'Value') 
if y==1; 
 e=sin(d) 
elseif y==2; 
 e=cos(d) 
elseif y==3; 
 e=tan(d); 
elseif y==4; 
 e=cot(d); 
elseif y==5; 
 e=asin(d); 
elseif y==6; 
 e=acos(d); 
elseif y==7; 
 e=atan(d); 
elseif y==8; 
 e=acot(d); 
elseif y==9; 
 e=sinh(d); 
elseif y==10; 
 e=cosh(d); 
elseif y==11; 
 e=tanh(d); 
elseif y==12; 
 e=coth(d); 
end 
if and(e-0.000001) 
 set(handles.kq,'string','0'); 
elseif or(e>1000,e<-1000) 
 set(handles.kq,'string','Math error'); 
else 
 set(handles.kq,'string',num2str(e)); 
end 
guidata(hObject,handles) 
% --- Executes on button press in clc. 
function clc_Callback(hObject, eventdata, handles) 
[Type text] Page 38 
set(handles.input,'string',''); 
set(handles.kq,'string',''); 
set(handles.x_input,'string',''); 
set(handles.hold,'Value',0); 
set(handles.grid,'Value',0); 
set(handles.color,'Value',0); 
set(handles.ham,'Value',1); 
set(handles.axes1,'Visible','off'); 
set(handles.axes1); 
cla; 
set(handles.nhan,'Visible','off'); 
% --- Executes when user attempts to close button. 
function all_CloseRequestFcn(hObject, eventdata, handles) 
% Hint: delete(hObject) closes the figure 
delete(hObject); 
% --- Executes on button press in color. 
function color_Callback(hObject, eventdata, handles) 
if get(handles.color,'Value')==1; 
set(handles.input,'BackgroundColor','b'); 
set(handles.kq,'BackgroundColor','y'); 
set(handles.all,'Color',[0.73,0.83,0.96]); 
set(handles.option,'BackgroundColor',[1,0.69,0.39]); 
set(handles.axes1,'Color',[0.95,0.87,0.73]); 
set(handles.exit,'BackgroundColor','red'); 
else 
 set(handles.input,'BackgroundColor','white'); 
 set(handles.kq,'BackgroundColor',[0.94,0.94,0.94]); 
 set(handles.all,'Color',[0.94,0.94,0.94]); 
 set(handles.option,'BackgroundColor',[0.94,0.94,0.94]); 
 set(handles.axes1,'Color','w'); 
 set(handles.exit,'BackgroundColor',[0.94,0.94,0.94]); 
end 
% --- Executes on button press in exit. 
function exit_Callback(hObject, eventdata, handles) 
set(handles.all,'Visible','off'); 
function x_input_Callback(hObject, eventdata, handles) 
set(handles.plotx,'Enable','off'); 
try 
 t = eval(get(handles.x_input,'String')); 
 if ~isnumeric(t) 
 set(handles.plotx,'String','t is not numeric') 
 elseif length(t) < 2 
 set(handles.plotx,'String','t must be vector') 
 elseif min(diff(t)) < 0 
 set(handles.plotx,'String','t must increase') 
 else 
 set(handles.plotx,'String','Plot') 
[Type text] Page 39 
 set(handles.plotx,'Enable','on') 
 return 
 end 
catch 
 set(handles.plotx,'String','Cannot plot t'); 
end 
[Type text] Page 40 
Tài liệu tham khảo: 
Website: 
Matlab: Examples, Help 
Thông tin Sinh viên: 
Họ tên: Nguyễn Lương Thành 
Lớp: 09040003 
MSSV: 40900040 
Khóa: ĐH 13 
Email: thanhnl0502@gmail.com 
ĐT: 01648911181 

File đính kèm:

  • pdfBài tập lớn Matlab và ứng dụng - Lập trình Guide giao diện.pdf
  • rarMã nguồn.rar