Bài tập lớn môn matlad và ứng dụng - Pdf 12

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
BÀI TẬP LỚN
MÔN: MATLAB VÀ ỨNG DỤNG
ĐỀ TÀI: LẬP TRÌNH GUIDE GIAO DIỆN

Giảng viên hướng dẫn: ĐỒNG SĨ THIÊN CHÂU
Sinh viên thực hiện: NGUYỄN LƯƠNG THÀNH
MSSV: 40900040
Lớp: 09040003

TP.H


Chí Minh ngày 26 /10 /2012


[Type text] Page 1

Lời nói đầu:
Ngày xưa những công cụ tính toán thủ công bằng tay, hoặc những bàn tính cổ điển
để hỗ trợ toán học, giờ đây với sự đổi mới của ngành điện tử, công nghệ thông tin, các công cụ
tính toán hỗ trợ các ngành kĩ thuật hiện đại ra đời, với sự mạnh mẽ và nhanh chóng của các công
cụ phần mềm, các công cụ phần lớn đã thay thế cho việc thực hiện thủ công, giúp kiểm tra kết
quả một cách nhanh chóng, giảm chi phí. Cùng với đó chính là các phần mêm… các công cụ hỗ
trợ kĩ thuật như phần mềm Win cc, Protell, Protues, Mlap, Matlab…. Là những công cụ không
thể thiếu trong ngành kĩ thuật. sau đây mình sẽ giới thiệu phần mềm Matlab, một công cụ hỗ trợ

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
[Type text] Page 4
III. CÁC BƯỚC CẦN THỰC HIỆN TRƯỚC KHI BẮT ĐẦU
- Trước tiên để bắt đầu lập trình ta cần phải xác định mục đích của chương trình là gì?
- Sau đó tiến hành xác định các bước thực hiện để mo phỏng giao diện người dùng sao cho
hợp lí và chính xác
- Bước cuối cùng là viết chương trình và thực thi.

Sơ đồ sau đây mô phỏng trình tự thực hiện vơi GUI:
[Type text] Page 6
Sơ đồ khối mô tả cách thức hoạt động của GUI khi thao tác trên giao diện

- Khi bắt đầu với GUI, GUI tự động tạo ra các mã tập tin được thực thi bởi hàm Callback
function. GUI thao tác trên những kí tự mà người dùng nhập vào vào chuyển sang dạng số
học, nói cách khác, giao diện GUI tương tự như những lệnh thực thi trong Comment
Windowns.
- Tất cả các hàm callback thực thi những lệnh chứa trong nó.
- Chúng ta nên sử dụng chức năng HELP của Matlab để tìm hiểu them tất cả cách hàm thực
thi trong GUI, cách tạo và thao tác với GUI …

[Type text] Page 7

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

- Phía bên trái là nhóm các biểu tượng được Matlab GUI hỗ trỡ sẵn:
+ Push Button: là nút nhấn, khi nhấn vào sẽ thực thi lệnh trong cấu trúc hàm callback của

+ Slider: là thanh trượt cho phép người dùng di chuyển thanh trượt để thục thi lệnh.
+ Radio Button: Nó giống như Check Box nhưng thường được sử dụng để tạo sự lựa
chọn duy nhất, tức là 1 lần chỉ được chọn 1 trong số các nhóm nhiều nút. Khi một ô được
chọn thì các ô còn lại trong nhóm bị bỏ chọn.
+ Check box: Sử dụng để đánh dấu tích (thực thi) vào và có thể check nhiều ô để thực thi
+ Edit Text: là nơi các kí tự được nhập vào từ người dùng, người dùng có thể thay đổi
được
+ Static Text: Là các kí tự được hiển thị thông qua các callback, hoặc thông thường để
viết nhãn cho các biểu tượng, người dùng không thể thay đổi nội dung.
[Type text] Page 9

+ Pop-up Menu: mở ra danh sách các lực chọn khi người dùng nhấp chuột vào. Chỉ chọn
được 1 mục trong danh sách các mục.
+ List Box: hộp thoại danh sách cách mục, cho phép người dùng chọn một hoặc nhiều
mục.
+ Toggle Button: là nút nhấn có 2 điều khiển, khi nhấp chuột và nhả ra, nút nhấn được giữ
và lệnh thực thi, khi nhấp chuột vào lần thứ 2, nút nhấn nhả ra, hủy bỏ lệnh vừa thực thi.
+ Table: tạo ra một bảng tương tự trong Excel.
+ Axes: Đây là giao diện đồ họa hiển thị hình ảnh, nó có nhiều thuộc tính bao gồm: không
gian 2D (theo trục đứng và trục ngang), 3D (hiển thị không gian 3 chiều)
+ Panel: Tạo ra một mảng nhóm các biểu tượng lại với nhau giúp ta dễ kiểm soát và thao
tác khi di chuyển
+ Button Group: quản lí sự lựa chọn của nút Radio Button.
+ Active Control: Quản lí một nhóm các bút hoặc các chương trình liên quan với nhau
trong Active.
VI. GIỚI THIỆU HỘP THOẠI INSPECTOR
- Tất cả các hộp thoại bên trái vừa nêu trên để sử dụng, chúng ta nhấp chọn và kéo thả vào

- 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:
[Type text] Page 12
II. MỘT VÀI THUỘC TÍNH CỦA ĐỐI TƯỢNG TRONG MENU INSPECTOR
- 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 Giải thích
1
String Select Function
Fontsize 10 Là Fontsize của String
2 String
sin
cos
tan
cotg
arcsin
arccos
arctan
arccotg
sinh
cosh
tanh
cotgh

String Degree
Tag degree
Fontsize 15
7
String Radian
Tag radian
Fontsize 15
8
String =
Tag ok
Fontsize 15
9
String Output
Fontsize 10
10
String
Fontsize 15
Tag kq
11
String Clear all
Fontsize 15
Tag clc
12
String Colors on
Fontsize 15
Tag color
13
String
Enter the range of
x

(on) hay ẩn (off) cửa sổ giao diện của nó
20
String Plot(x)
Fontsize 15
Visible off

Tag nhan

21
String Exit
Fontsize 15
Tag exit

- Hình sau mô tả cách thay đổi giá trị trong ô String của Select Function:
[Type text] Page 15 + Sau khi viết xong, nhấn OK để lưu lại
- Sauk hi 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: [Type text] Page 16
III. MỘT VÀI CHỨC 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 như sau:

[Type text] Page 19

- 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.
- 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:

+ 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ó.
II. 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
[Type text] Page 20
[Type text] Page 21

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

I. NÚT NHẤN DEGREE TRONG BẢNG SELECT INPUT
- 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:
Lần lượt viết các câu lệnh sau vào bên dưới:
b = str2num(get(handles.input,'string'));
handles.unit_input = b*pi/180;
guidata(hObject, handles)
Giải thích:
Câu lệnh 1: b = str2num(get(handles.input,'string'));
+ b ở đây là một biến được gán.
+ lệnh handles.input: dùng để truy cập đến thuộc tính của ô edit text có Tag là “input”
+ Lệnh Get dùng để lấy giá trị thuộc tính của String , Ở đây giá trị của String được nhập

- Tương tự nút nhấn Degree, gọi callback của nút radian và viết callback cho nó như sau:
function radian_Callback(hObject, eventdata, handles)
handles.unit_input = str2num(get(handles.input,'string'));
guidata(hObject, handles)

Giải thích:
Khi nhấn nút nhấn Radian thì giá trị nhập vào trong ô input được chuyển thành số và lưu
trực tiếp vào biến hệ thống handles.unit_input, tương ứng với lựa chọn nhập hàm vào theo
Radian, tức là giá trị ta nhạp vào bao nhiêu sẽ được giữ nguyên và lưu vào biến
handles.unit_input, chỉ khi nào nút này được nhấn thì chúng mới được thực thi
III. NÚT NHẤN DẤU =
- Tương tự ta gọi đến callback của nó và nhập vào hàm như sau:
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;

các_phát_biểu_n
>> end - Ở trong cấu trúc hàm trên thì:
y=get(handles.ham,'Value')==1;
+ Ý nghĩa : lấy giá trị thuộc tính (Value) của ô có Tag là “ham” và so sánh với 1 và gán
vào biến y, ở đây Tag “ham” là Pop-up Menu chứa các hàm lượng giác (xem bảng), thuộc
tính Value của nó được chọn tương ứng với hàng của nó:
Ví dụ ta chọn SIN, thì SIN ở dòng thứ nhất, do đó Value của nó = 1 tương úng với
dòng 1
Hoặc nếu ta chọn COS, khi đó giá trị Value của nó = 2 tương ứng với COS ở dòng
số 2
- Như vậy với đoạn code trên, Biểu thức logic được ta chọn để thực thi phát biểu, mỗi một
biểu thức logic đúng thì nó sẽ thức thi phát biểu ngay sau nó, tương ứng với các hàm
lương giác, thao tác trên biến d.
+ Với ví dụ :
Elseif y==1
e=cos(d);


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status