Thực hành Matlab cơ bản - Worksheet 6: Lập trình giao diện trong Matlab

Mục đích:

Worksheet này giới thiệu về các lệnh cơ bản trong lập trình giao diện của MATLAB.

Yêu cầu:

- Sinh viên thực hành bằng phần mềm Matlab trên phòng máy, đọc kỹ phần luyện tập

trước khi làm bài tập.

- Kết quả được lưu lại trong thư mục MSSV_HoTen

- Thời gian thực hành: 4 tiết.

pdf9 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3075 | Lượt tải: 2download
Tóm tắt nội dung Thực hành Matlab cơ bản - Worksheet 6: Lập trình giao diện trong Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
THỰC HÀNH MATLAB CƠ BẢN 
1 Thái Duy Quý – thaiduyquy@gmail.com 
WORKSHEET 06: LẬP TRÌNH GIAO DIỆN TRONG MATLAB 
--Thái Duy Quý ITFac – thaiduyquy@gmail.com – 
Mục đích: 
Worksheet này giới thiệu về các lệnh cơ bản trong lập trình giao diện của MATLAB. 
Yêu cầu: 
- Sinh viên thực hành bằng phần mềm Matlab trên phòng máy, đọc kỹ phần luyện tập 
trước khi làm bài tập. 
- Kết quả được lưu lại trong thư mục MSSV_HoTen 
- Thời gian thực hành: 4 tiết. 
Luyện tập: 
1. Chương trình Calculator 
Có rất nhiều cách để tạo ra một chương trình "Máy tính bấm tay" hay Calculator. Ví dụ sau 
đây sẽ hướng dẫn tạo ra một chương trình máy tính bấm tay đơn giản sử dụng kỹ thuật trùng 
"Callback" trong lập trình giao diện GUI. 
 Sử dụng GUIDE, thiết kế giao diện của chương trình như sau: 
Đặt thuộc tính cho các đối tượng như sau: 
THỰC HÀNH MATLAB CƠ BẢN 
2 Thái Duy Quý – thaiduyquy@gmail.com 
- Edit Text: Tag=edit1 (mặc định); FontSize=20; Enable=Inactive; 
HorizontalAligment=right;... 
- Đặt thuộc tính Tag của tất cả các nút là: pushadd (ngoại trừ 3 nút: "=" và "%" và "C") 
- Nút "=": Tag=pushequal 
- Nút "%": Tag=pushpercent 
- Nút "C": Tag=pushclear 
Điều chỉnh kích thước và sử dụng công cụ "Align Objects" để sắp xếp vị trí các nút như hình 
trên. 
Lưu lại fig-file với tên mycalc.fig, trong file mycalc.m tìm các hàm tương ứng và thêm vào các 
lệnh sau: 
% --- Executes on button press in pushadd. 
function pushadd_Callback(hObject, eventdata, handles) 
textstr = get(handles.edit1,'String'); 
addstr = get(hObject,'String'); 
newstr = strcat(textstr, addstr); 
set(handles.edit1,'String', newstr) 
% --- Executes on button press in pushequal. 
function pushequal_Callback(hObject, eventdata, handles) 
textstr = get(handles.edit1,'String'); 
try 
 set(handles.edit1,'String', eval(textstr)) 
catch err 
 set(handles.edit1,'String', err.message) 
end 
% --- Executes on button press in pushpercent. 
function pushpercent_Callback(hObject, eventdata, handles) 
textstr = get(handles.edit1,'String'); 
try 
 set(handles.edit1,'String', 100*eval(textstr)) 
THỰC HÀNH MATLAB CƠ BẢN 
3 Thái Duy Quý – thaiduyquy@gmail.com 
catch err 
 set(handles.edit1,'String', err.message) 
end 
% --- Executes on button press in pushclear. 
function pushclear_Callback(hObject, eventdata, handles) 
set(handles.edit1,'String','') 
Lưu lại file mycalc.m và chạy chương trình. Sử dụng chuột click các nút để nhập vào một phép 
tính, sau đó Click nút "=" để thu được kết quả: 
Cuối cùng, Click nút "C" để bắt đầu một phép tính khác. 
Giải phương trình bậc 2 
Chạy Matlab, vào Menu File\New\GUI sẽ thấy hiện ra hộp thoại sau: 
THỰC HÀNH MATLAB CƠ BẢN 
4 Thái Duy Quý – thaiduyquy@gmail.com 
Chọn Blank GUI, nhấn OK. 
Trong hộp thoại hiện ra, kéo thả các điều khiển Push button, Edit Text và Static Text vào 
figure như giao diện sau: 
Mỗi điều khiển đều có nhiều thuộc tính, có 2 thuộc tính quan trọng nhất là: Tag, 
String. Tag là thuộc tính chỉ địa chỉ của điều khiển (dùng để gọi khi cần). String là thuộc tính 
chứa nội dung (sẽ được hiển thị ra ngoài) của điều khiển. Sau đây ta đặt các thuộc tính này: 
THỰC HÀNH MATLAB CƠ BẢN 
5 Thái Duy Quý – thaiduyquy@gmail.com 
- Push button 1: 
+ Tag : start 
+ String : Bat dau 
- Push button 2: 
+ Tag : close 
+ String : Close 
- Edit Text 1: 
+ Tag : heso_a 
+ String : (xóa trắng) 
- Edit Text 2: 
+ Tag : heso_b 
+ String : (xóa trắng) 
- Edit Text 3: 
+ Tag : heso_c 
+ String : (xóa trắng) 
- Edit Text 4: 
+ Tag : nghiem_x1 
+ String : (xóa trắng) 
- Edit Text 5: 
+ Tag : nghiem_x2 
+ String : (xóa trắng) 
- Static Text 1: (Đối với các Static Text thuộc tính Tag không quan trọng, trừ các trường hợp 
đặc biệt) 
+ String : Giai phương trinh bac 2: ax2 + bx + c = 0 
THỰC HÀNH MATLAB CƠ BẢN 
6 Thái Duy Quý – thaiduyquy@gmail.com 
- Static Text 2: 
+ String : a = 
- Static Text 3: 
+ String : b = 
- Static Text 4: 
+ String : c = 
- Static Text 5: 
+ String : Ket luan 
- Static Text 6: 
+ Tag : kl 
+ String : (xóa trắng) 
- Static Text 7: 
+ String : x1 = 
- Static Text 8: 
+ String : x2 = 
- figure: (click đúp vào nền của figure): 
+ Tag : fig1 
+ Name : Giai phương trinh bac 2 
Sau khi đặt các thuộc tính, căn chỉnh (sử dụng chuột hoặc công cụ Align Objecs) 
được figure có dạng như sau: 
THỰC HÀNH MATLAB CƠ BẢN 
7 Thái Duy Quý – thaiduyquy@gmail.com 
Lưu lại figure (Menu File\Save) dưới tên GPTB2.fig. Sau đó Matlab tự sinh file 
GPTB2.m; trong file này tìm hàm start_callback và đánh vào các dòng lệnh sau: 
Hàm set là hàm đặt thuộc tính cho điều khiển. 
Hàm get là hàm lấy giá trị thuộc tính của điều khiển 
Hàm str2double là hàm biến chuỗi thành số 
THỰC HÀNH MATLAB CƠ BẢN 
8 Thái Duy Quý – thaiduyquy@gmail.com 
Cuối cùng ghi lại file m (GPTB2.m) và chạy chương trình (nhấn F5 hoặc nút run hình tam 
giác màu xanh). Nhập vào các hệ số a, b, c và click nút Bat dau để xem kết quả. 
Bài tập 
Bài 1 : 
Tạo ra một giao diện GUI thực hiện nhiệm vụ sau: 
1. Tính diện tích của một đa giác dựa trên các cạnh với dữ liệu X và Y. 
2. Tô màu cho đa giác với dữ liệu X, Y do người dùng nhập vào và màu chọn từ popup menu. 
(Gợi ý: sử dụng lệnh polyarea và fill) 
Bài 2 : 
Viết giao diện thực hiện những yêu cầu sau: 
1) Cho phép chọn thực thi một trong những hàm sau: y=sin(x), y=cos(x), y=tg(x), y=cotg(x), 
y=arcsin(x), y=arcos(x), y=arctg(x), y=arccotg(x), y=sinh(x), y=cosh(x), y=tgh(x), y=cotgh(x) 
2) Cho phép chọn nhập/hiển thị theo độ hoặc Radian. 
3) Cho phép nhập khoảng giá trị của x 
4) Hiển thị đồ thị của hàm được chọn theo giá trị của x nhập vào ở câu 3 lên giao diện, có nút 
cho phép giữ hoặc xóa hình khi vẽ hàm mới. 
THỰC HÀNH MATLAB CƠ BẢN 
9 Thái Duy Quý – thaiduyquy@gmail.com 
Bài 3: 
Viết chương trình cho phép người dùng nhập các hệ số của một đa thức bậc n. Vẽ đồ thị hàm 
số của đa thức này. 
-- Hết -- 

File đính kèm:

  • pdfThực hành Matlab cơ bản - Worksheet 6_Lập trình giao diện trong Matlab.pdf