Báo cáo Lập trình Guide giao diện

PHỤ LỤC

PHẦN ĐẦU

Lời nói đầu .

PHẦN GIỮA

Phần 1 : Sơ lược về lập trình giao diện người dùng GUIDE trong matlab .

1.1 GUI là gì? .

1.2 Bắt đầu với GUI .

1.3 Các bước thực hiện trước khi bắt đầu .

Phần 2 : Thao tác với GUI .

2.1 Khởi động GUI .

2.2 Mô tả chức năng công cụ trong giao diện GUI .

2.3 Giới thiệu hộp thoại Inspector .

Phần 3 : Thiết kế giao diện GUI .

3.1 Thiết kế giao diện .

3.2 Tạo thuộc tính cho các đối tượng .

3.3 Các tính năng mở rộng .

Phần 4 : Thực thi hàm .

4.1 Giao diện M.file .

4.2 Một số hàm trong GUI .

4.3 Lập trình .

4.3.1 Nút nhấn START .

iii

4.3.2 Bảng OPTIONS .

4.3.3 Nút nhấn RESET .

4.3.4 Nút nhấn EXIT .

4.4 Chạy chương trình trên matlab .

Phần 5 : Hướng dẫn xuất file ứng dụng đuôi exe .

Phần 6 : Giao diện chương trình sau khi hoàn thành .

PHẦN CUỐI

Tài liệu tham khảo .

pdf40 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 6221 | Lượt tải: 1download
Tóm tắt nội dung Báo cáo 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
tín hiệu tương tự cơ bản ( 
sóng vuông , sin , cos , răng cưa ) . yêu cầu nhập vào tần số và thời gian . 
3.1 KHỞI TẠO CÁC ĐỐI TƯỢNG ĐIỀU KHIỂN: 
- Nhấn tổ hợp phím Ctrl + S để thực hiện lưu file, sau khi chọn đường dẫn để lưu 
file (Chú ý không lưu file với các biến đặc biệt hoặc bằng các con số khởi đầu), 
nhấn save Matlab sẽ tự động tạo ra 2 file gồm một file .m và một file .fig, trong đó 
file .m là Mfile chứa các hàm Matlab đã tạo sẵn hỗ trợ giao diện. 
- Lần lượt kéo thả các nút như hình sau: 
Hình 3.1.1: Khởi tạo các đối tượng điều khiển. 
16 
- Mỗi hộp thoại có Inspector , bằng cách nhâp đúp chuột vào hoặc chuột phải 
chọn Property Inspector. 
- Sau đây là hình ảnh được đánh số để đánh dấu từng thay đổi một: 
Hình 3.1.2 
17 
3.2 TẠO THUỘC TÍNH CHO CÁC ĐỐI TƯỢNG: 
- Sau đây là bảng mô tả các giá trị và thuộc tính của các hộp thoại trong hình, 
chúng ta tiến hành thay đổi các giá trị tương ứng theo bảng sau: 
STT Tên thuộc tính Giá trị thuộc tính 
1 string Frequency 
2 String 
tag tanso 
3 String Time 
4 String 
Tag thoigian 
5 String Function 
6 String Square 
Sin 
Cos 
sawtooth 
Tag ham 
7 Title Options 
8 String START 
Tag Start 
9 String Hold on 
Tag hold 
10 String Grid on 
Tag grid 
11 String RESET 
Tag reset 
12 String EXIT 
Tag exit 
13 Tag axes1 
Visible off 
18 
- Hình sau mô tả cách thay đổi giá trị trong ô String của Select Function: 
Hình 3.2.1: Thiết lập các thuộc tính trong hộp thoại Inspector. 
- Sau khi viết xong, nhấn OK để lưu lại. 
19 
- Sau khi chỉnh sửa các thông số ta dùng chuột để di chuyển các hộp thoại, bố 
trí hộp thoại theo mong muốn, ta được giao diện như sau: 
Hình 3.2.2: Giao diện của ứng dụng. 
20 
3.3 MỘT SỐ TÍNH NĂNG MỞ RỘNG: 
 Chú ý, để tạo sự thẳng hàng, cột của các hộp thoại cho đẹp mắt ta làm như sau: 
- Nhấn giữ phím Ctrl và nhập vào các hộp thoại muốn chỉnh sửa, Trên Menu 
chọn Align Objects . Hộp thoại Align hiện ra:
Hình 3.3.1: Hộp hoại Align Objects. 
- Trong hộp thoại trên ta có thể cân chỉnh các nút, nhóm nút sao cho chúng 
thẳng hàng,thẳng cột và đều nhau. Sau khi cân chỉnh nhấn nút Apply để lưu 
thay đổi. 
- Trên hộp thoại Resize behavior chọn dòng số 2 (Proportional), dòng này 
cho phép người dùng thay đổi khích thước của giao diện và các đối tượng 
cũng tự động thay đổi kích thước phù hợp với nền giao diện, nhấn OK để 
lưu thay đổi. 
21 
PHẦN 4 : THỰC THI HÀM 
4.1 GIAO DIỆN TRONG MFILE: 
- Khi đã cân chỉnh xong toàn bộ giao diện trong GUI, nhấn F5 (hoặc nhân tổ 
hợp phím Ctrl + T hoặc nhấp vào biểu tượng trên thanh Menu). 
- Khi Run, Matlab sẽ tự chạy file .m và hiển thị doa diện đồ họa lên màn 
hình. ở đây ta bắt đầu thao tác với file .m 
Hình 4.1.1: Giao diện Mfile. 
- Khi ta chưa thao tác trong Trong file .m xuất hiện như trên hình, trong đó, 
tất cả các hàm function đều được Matlab hỗ trợ tạo sẵn các hàm chức năng 
có liên quan, ta chỉ việc thao tác trên đó. 
- Mỗi sau một hàm bất kì đều có các chú thích bên dưới (sau dấu %), ta có 
thể xóa toàn bộ chúng đi đễ dễ nhìn cũng không ảnh hưởng đến các hàm. 
22 
- Trong Mfile có sẵn các hàm callback, ta có thể tìm trong Mfile các hàm liên 
quan để viết câu lệnh, tuy nhiên, để nhanh hơn chúng ta có thể làm như sau: 
 Quay lại màn hình giao diện GUI vừa thiết kế, nhấp vào hộp thoại muốn 
thực thi hàm callback, nhấp chuột phải chọn View Callbacks -> 
Callback, Như hình sau: 
Hình 4.1.2: Tìm hàm calback cho đối tượng điều khiển. 
 Sau đó hàm callback sẽ tự động được gọi và con trỏ chuột sẽ tìm đến vị 
trí của nó trong Mfile. 
- Bây giờ khi muốn gọi một hàm nào ta cũng có thể thực hiện như trên. Sau 
đó tiến hành viết câu lệnh cho nó. 
23 
4.2 MỘT SỐ HÀM TRONG GUI: 
- Hàm callback được lập trình cho các nút button, checkbox, edit text… 
nhưng static text và axes… thì không có hàm callback. 
- Mỗi một callback được viết với cấu trúc như sau: 
- function Tag_Callback(hObject, eventdata, handles) 
- Với Tag chính là giá trị của Tag mà ta đã đặt khi tạo giao diện. Các hàm 
chứa bên trong callback bao gồm hObject, evendata,handles 
 hObject là hàm truy cập nội bộ của mỗi function riêng lẽ 
 Evendata là hàm xác đinh thuộc tính của function 
 Handles là hàm truy cập liên kết giữa các function, nó bao gồm tất cả 
các cấu trúc của người dùng, được sử dụng để truy xuất qua các điều 
khiển khác. 
- Hàm Get cho phép ta gọi thuộc tính của đối tượng. 
- Hàm Set cho phép ta đặt giá trị cho thuộc tính của đối tượng 
4.3 LẬP TRÌNH CÁC ĐỐI TƯỢNG : 
4.3.1 NÚT NHẤN START: 
- Thực hiện thao tác như bước vừa nói trên (minh họa trong hình), hàm 
callback sẽ tự động gọi:
24 
- Lần lượt viết các hàm sau vào functions : 
f=str2num(get(handles.tanso,'string')); 
set(handles.axes1,'Visible','on'); 
t=eval(get(handles.thoigian,'string')); 
if get(handles.ham,'value')==1; 
plot(handles.axes1,t,square(2*pi*50*t,50),'LineWidth',2); 
elseif get(handles.ham,'value')==2; 
plot(handles.axes1,t,sin(2*pi*50*t),'LineWidth',2); 
elseif get(handles.ham,'value')==3; 
plot(handles.axes1,t,cos(2*pi*50*t),'LineWidth',2); 
elseif get(handles.ham,'value')==4; 
plot(handles.axes1,t,sawtooth(2*pi*50*t),'LineWidth',2); 
end 
axis([0 0.1 -2 2]); 
Giải thích: 
 Câu lệnh 1: f=str2num(get(handles.tanso,'string')); 
 f: là 1 biến được gán 
 Lệnh get để lấy giá trị thuộc tính của string, ở đây giá trị string được 
nhập từ bán phím , matlab sẽ hiểu nó là 1 chuỗi các kí tự . 
get(handles.tanso,'string') 
25 
 Lệnh str2num hoặc str2double dùng để chuyển kí tự thành 1 số. 
Hoặc lệnh num2str để chuyển số thành kí tự. 
f=str2num(get(handles.tanso,'string')); % lấy giá trị chứa trong ô 
tanso và chuyển chuỗi thành số lưu vào biến f. 
 Câu lệnh 2: set(handles.axes1,'Visible','on'); 
Đặt thuộc tính visible của axes1 ở trạng thái on. 
 Câu lệnh 3: t=eval(get(handles.thoigian,'string')); 
 Hàm eval cho phép ta chuyễn đổi một chuỗi thành một vector hay mảng. 
 Ví dụ: thực hiện lệnh 
 a=eval('0:1:6') 
>> a = 0 1 2 3 4 5 6 
Kết quả trả về là vector từ 0 đến 6 có bước nhảy là 1. 
 Câu lệnh 4: if get(handles.ham,'value')==1; 
 Lệnh get lấy giá trị value của ô “ ham” 
 Lệnh if xét điều kiện nếu value của ô “ham” =1 thực hiện lệnh bên 
dưới 
 Câu lệnh 5: plot(handles.axes1,t,square(2*pi*50*t,50),'LineWidth',2); 
 Cú pháp : Plot ( địa chỉ vẽ, vẽ_x,y, ‘các thuộc tính’) 
 Lệnh square(2*pi*50*t,50): vẽ đồ thị sóng vuông. 
 Câu lệnh 6 : xem lại câu lênh 4. 
 Câu lệnh 7 : elseif get(handles.ham,'value')==2; 
26 
 Nếu giá trị value của ô “ham” == 2 thực hiện lệnh bên dưới. 
 Câu lệnh 8 ,9,10,11,12 tương tự. 
Câu lệnh 13: axis([0 0.1 -2 2]); % Căn chỉnh lại trục đồ thị 
 Cú pháp : axis ( [ xmin xmax ymin ymax ] ) 
4.3.2 BẢNG OPTIONS GROUP : 
 c
Hình 4.3.2.1: Viết code cho bảng OPTIONS. 
27 
- Lần lượt viết các câu lệnh : 
function uipanel3_SelectionChangeFcn(hObject, eventdata, handles) 
if get(handles.grid,'value')==1 
grid on 
else 
grid off 
end 
if get(handles.hold,'value')==1 
hold on 
else 
hold off 
end 
- Giải thích : get(handles.grid,'value')==1 
 Hàm trên tìm giá trị value của ô Grid on và Hold on tương ứng , nếu được chon 
tương ứng value =1 , nếu bỏ chọn tương ứng value =0. 
4.3.3 NÚT RESET 
- Các lệnh sau : 
set(handles.tanso,'string',''); 
set(handles.thoigian,'string',''); 
set(handles.hold,'value',0); 
set(handles.grid,'value',0); 
28 
set(handles.ham,'value',1); 
set(handles.axes1,'visible','off'); 
cla; 
Giải thích: 
 Câu lệnh 1, 2: set(handles.tanso,'string',''); 
set(handles.thoigian,'string',''); 
 Đặt lại giá trị của ô “tanso”, “thoigian” là “ “ . 
 Câu lệnh 3,4: set(handles.hold,'value',0); 
set(handles.grid,'value',0); 
 Bỏ chọn 2 ô ‘Grid on’ và ‘Hold on’ . 
 Câu lênh 5: set(handles.ham,'value',1); 
 Mặc định hiển thị function square. 
 Câu lệnh 6: set(handles.axes1,'visible','off'); 
 Tắt hiện thị hệ trục tọa độ 
 Câu lênh 7: cla; 
Xóa tất cả các đối tượng như: đường đồ thị, tên đồ thị…nhưng không 
xóa trục tọa độ. 
4.3.4 NÚT EXIT 
 Lệnh : close; 
Đóng chương trình. 
29 
4.4 CHẠY CHƯƠNG TRÌNH TRÊN MATLAB 
 Sau khi lập trình cho các phím gọi cần thiết ta bắt đầu chạy chương trình 
chúng ta làm thao tác như sau : 
- Nhấn Run trên giao diện Edito M-file . 
Sau khi nhấn Run chạy chương trình , matlab sẽ tự động Save lại M-file. 
30 
PHẦN 5 : HƯỚNG DẪN XUẤT ỨNG DỤNG ĐUÔI .EXE. 
Để có thể dịch ứng dụng chúng ta vừa làm ra yêu cầu bạn phải có toolbox 
MATLAB® Compiler™ . Tuy nhiên chương trình matlab cũng hỗ trợ 
biên dịch . chương trình Deploytool 
mình xin giới thiệu cách tạo file .exe bằng Deployment Tool. Công cụ giao 
diện thân thiện, không phải gõ lệnh, 
chúng ta làm theo các bước sau đây : 
bước 1 . Chọn công cụ biên dịch C. 
 Bước này chỉ cần thực hiện 1 lần duy nhất ban đầu, nếu muốn chọn 
công cụ biên dịch khác thì chạy lại bước này. 
 Tại command window gõ lênh mbuild -setup 
 Nhấn “y” để tiếp tục , 
31 
 Chọn chương trình compiler . 
 Sau đó nhấn “y” để đồng ý và kết thúc. 
Bước 2: Chạy công cụ Development Tool. 
Tại command Window gõ lệnh . 
>> deploytool 
Sau đó hộp thoại từ chương trình deploytool sẽ hiện ra . 
32 
Từ hộp thoại deploytool ta có các lựa chon sau : 
 Thẻ New để tạo mới 1 dự án 
o Name : Tên chương trình 
o Location : Nơi lưu dự án 
o Taget : kiểu ứng dụng tạo ra . chúng ta chọn 
 Thẻ Open để mở 1 dự án đã build. 
Nhấn OK , sau đó tại giao diện của deploytool , Add main file 
33 
Bước 3 : Dịch chương trình 
chọn Project => Build 
Để đóng gói chương trình chọn Project => Package. 
Lưu ý : Để chạy được chương trình sau khi xuất ra máy tính phải hỗ trợ 
MCRInstaller , matlab có hỗ trợ sẵn chương trình MCRInstaller , chúng ta chỉ cần 
cài đặt vào máy . link chương trình : 
 \MatLab\toolbox\compiler\deploy\win64\ MCRInstaller 
34 
PHẦN 6 : GIAO DIỆN CHƯƠNG TRÌNH SAU KHI HOÀN THÀNH 
35 
PHẦN CUỐI 
TÀI LIỆU THAM KHẢO: 
 Internet:  
 Matlab: Examples, Help 
36 

File đính kèm:

  • pdfBáo cáo Lập trình Guide giao diện.pdf
Tài liệu liên quan