Bài tập lớn môn matlad và ứng dụng
lượt xem 55
download
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...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài tập lớn môn matlad và ứng dụng
- 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
- 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ợ tính toán và mô phỏng h ệ thống h ết sức trực quan và chính xác. Hẵn là phần mềm Matlab hiện nay không còn xa lạ gì với người dùng, nó là một công cụ hỗ trợ tính toán và mô phỏng thực tế rất mạnh, ngoài các tính năng để thực hiện những điều đó, Matlab còn hỗ trợ tạo giao diện người dùng (GUI), Chúng ta lần lượt tìm hiểu ứng dụng từ cơ bản để hiểu rõ được dao diện GUI là gì, làm thế nào đ ể bắt đầu với GUI… Với đề tài về giao diện GUI chúng ta sẽ đi sâu vào nghiên cứu ứng dụng và phát triển GUI, phát triển giao diện người dùng. [Type text] Page 1
- Đề tài - b ài 1: Viết giao diện bao gồ m 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ản 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. [Type text] Page 2
- 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 [Type text] Page 3
- [Type text] Page 4
- PHẦN 1 : SƠ LƯỢC VỀ LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUIDE) TRONG MATLAB I. GUIDE LÀ GÌ - GUI (Graphical User Interface) là giao diện đồ họa có điều khiển b ởi nhiều thanh công cụ được người lập trình tạo sẵn, cho tương tác giữa người dùng là giao diện chương trình , Mỗ i chương trình được người lập trình tạp sẵn giao diện thực hiện một vài chức năng được người lập tình tạo sẵn và giao tiếp với người sử dụng. - Ứng dụng của Matlab lập trình giao diện rất mạnh và dễ thực hiện, nó có thể tạo ra giao diện người dùng tương tự VBB, C++… - GUI bao gồm đầy đủ các chương trình hỗ trợ như thực hiện phép toán LOGIC, mô phỏng không gian 2D,3D, đọc hiển thị dữ liệu, liên kết đa phương tiện.Giao tiếp với người dùng thông qua hình ảnh, các nút nhấn thực thi ... - Hầu hết GUI ch ỉ thực hiện (trả lời) lệnh người dùng thông qua các tác động củ a người dùng lên giao diện, ngư ời sử dụng không cần biết cấu trúc chương trình vẫn có th ể thực hiện được. GUI được thực hiện thông qua các hàm CALLBACK. Khi người dùng tác động lên giao diện b ằng các cách khác nhau, hàm CALLBACK sẽ được gọi để thực thi. II. BẮT ĐẦU VỚI GUI - Có 2 phương pháp để lập trình GUI + Cách đơn giản nhất là sử dụng công cụ có sẵn trong GUI Matlab để lập trình. Ưu điểm của cách này là dễ thực hiện và các hàm FUNCTION được GUI tự tạo sẵn. + Cách này được lập trình từ siêu tệp Mfile bằng các hàm FUNCTION do người lập trình tự viết, nó có ưu điểm là tùy biến cao. Tuy nhiên cách này khó hơn và đòi hỏi người lập trình phải có hiểu biết sâu và trình độ . - Ở đây với những bài tập đơn giản về giao diện, ta thực hiện cách thứ nhất để lập trình giao diện với nhưng công cụ được hỗ trợ sẵn trong Matlab - Khi thao tác trên giao diện chúng ta không thể thay đổ i các hàm trong nó . CÁC BƯỚC CẦN THỰC HIỆN TRƯỚC KHI BẮT ĐẦU III. - 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 5
- 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 6
- PHẦN 2: BẮT ĐẦU THAO TÁC VỚI GUI Đây là phiên bả n Matlab R2011B, các phiên bản khác cũng có thể thao tác tương tự. IV. KHỞI ĐỘNG GUI - Thực hiện khởi động Matlab đến GUI theo hình sau: + Khởi động Matlab từ biểu tượng Matlab trên màn hình desktop + T rong cử a sổ Comment Windowns gõ lệnh “guide” và enter: ta được giao diện màn hình như sau: - Chọn: Dòng “Blank GUI (Default)”: đ ể tao một giao diện gui bắt đầu với giao diện trống. Các dòng còn lại để khởi động GUI với một giao diện được tạo sẵn . + Chú ý: Trong Matlab GUI hỗ trợ sẵn hộp thoại công cụ “Modal Question Dialog” để tạo ra giao diện với 2 nút tùy chọn “yes no question” để thự c thi lệnh. Ta có thể ứng dụng để tọa lệnh thoát khỏi chương trình b ằng nút nhấn Exit. - Nhấp chọn OK để tạo một giao diện bắt đầu với giao diện trống. ta được hình ảnh giao diện trong GUI như sau: - Trư ớc khi tạo giao diện ta lưu File lại, Matlab sẽ tự động lưu 2 file, mộ t file đuôi .m và mộ t file đuôi .fig. hoặc ta có thể nh ấn F5, Matlab sẽ chuyển đường dẫn đến thư mục lưu file, chọn nơi cần lưu và nhấn Save. [Type text] Page 7
- V. MÔ TẢ C HỨC NĂNG CÁC CÔNG CỤ TRONG GIAO DIỆN GUI - Trong giao diện trên chúng ta có thể thao tác để tùy biến các thanh công cụ phù hợp với mục đích sử dụng. Mô tả chức năng các công cụ cơ bản: 1) Nhấp chuộ t vào để thay đổi độ rộng của giao diện 2) Là nơi để cân ch ỉnh các nút, biểu tượng trên giao diện . 3) Là nơi để tạo giao diện con liên kết với giao diện chính. 4) Nút Play (Run) để thực thi chương trình. - 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 nó + Slider: là thanh trượt cho phép người dùng di chuyển thanh trượt để thục thi lệnh. + R adio 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 8
- + Pop-up Menu: mở ra danh sách các lực chọn khi n gườ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. + T able: 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 vùng cần thiết kế, mỗi hộp thoại có các thông số chỉnh riêng, để chỉnh các thông số liên quan đến hộp thoại nào ta nhấp đôi vào hộp thoại đó (hoặc click chuột phải chọn Property Inspector) hộp tho ại Inspector hiện ra như sau, dùng thanh trượt kéo xuống để xem hết chức năng: - Phía bên trái của Menu Inspector là tên thuộc tính, có thể gọi thực thi các thuộc tính này bằng các lệnh. - Phía bên trái là giá trị của thuộc tính, giá trị này do người dùng đặt, có thể thay đổ i thông qua các lệnh gọi (callback), hoặc được thiết lập trước. [Type text] Page 9
- Ở trên là sơ lược cơ bản về giao diện guide người dùng, sau đây sẽ trình bày chi tiết cách tạo một giao diện thực tế với yêu cầu của bài toán đề ra. [Type text] Page 10
- PHẦN 3: THIẾT KẾ GIAO DIỆN (GUI) - Trong phần này, giải thích các thông số trong Inspector đồng thời chỉnh sửa trên từng hộp thoạ i sẽ được trình bày song song. I. THIẾT KẾ GIAO DIỆ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: - 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 11
- 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 S tring S elect Function 1 Fontsize 10 Là Fontsize của String sin cos tan cotg Giá trị trong mọi ô String đều được hiển thị lên giao arcsin diện, nó thường được dùng để làm nhãn chỉ dẫn. arccos 2 S tring Nó hiển thị khi được gọi bởi hàm, hoặc được thiết arctan lập trước từ người lập trình. Hình ảnh chi tiết minh a rccotg họa bên d ưới (1) sinh cosh tanh cotgh [Type text] Page 12
- Tag là giá trị của thuộc tính. Thuộc tính Tag cực kì quan trọng, nó là nhãn của một đối tượng, được sử dụng để gọi thuộc tính của đối tượng thông qua các hàm để thay đổi giá trị của thuộc tính… giá trị Tag ham của Tag có phân biệt chữ in hoa, chữ thường, không được đặ t tên Tag trùng với tên file đã lưu hay trùng với bất cứ các kí tự đặc biệt nào...Mỗi hộp thoại chỉ có một Tag duy nhất và độc quyền. Fontsize 15 S tring Input 3 Fontsize 10 S tring 4 Tag input Fontsize 15 S tring S elect input 5 Fontsize 10 S tring Degree 6 Tag degree Fontsize 15 S tring Radian 7 Tag radian Fontsize 15 S tring = 8 Tag ok Fontsize 15 S tring Output 9 Fontsize 10 S tring 10 Fontsize 15 Tag kq S tring Clear all 11 Fontsize 15 Tag clc S tring Colors on 12 Fontsize 15 Tag color Enter the range of S tring x 13 Fontsize 10 S tring 14 Fontsize 15 Tag x_input 15 S tring Options [Type text] Page 13
- Fontsize 10 S tring Plot Fontsize 15 Tag plotx 16 thuộc tính Enable là thuộc tính cho phép hay không Enable off cho phép đối tượng hoạt động, tương ứng với 2 trạng thá i on và off S tring Hold on 17 Fontsize 15 Tag hold S tring Grid on 18 Fontsize 15 Tag grid Tag axes1 19 thuộc tính Visible Là thuộc tính cho phép chọn hiện Visible off (on) hay ẩn (off) cửa sổ giao diện của nó S tring Plot(x) Fontsize 15 20 Visible off Tag nhan S tring Exit Fontsize 15 21 Tag exit - Hình sau mô tả cách thay đổi giá trị trong ô String của Select Function: [Type text] Page 14
- + 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 15
- 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, T rên Menu chọn Align . Hộp thoại Align hiện ra như sau: Objects [Type text] Page 16
- - 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. - Bây giờ ta thiết lập thuộc tính chung cho giao diện (toàn bộ vùn thiết kế hay nền giao diện) + Nh ấp đúp chuột vào b ất cứ vị trí nào trên nền giao diện để vào hộp tho ại Inspector (ho ặc trên menu chọn View -> Property Inspector), hộp thoại Inspector hiện ra như sau: + Thiết lập Tag là “exit” - Tiếp tục tùy chọn nâng cao , vào Menu Tools -> GUI Options Hộp thoại hiện ra như sau : - 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 [Type text] Page 17
- PHẦN 4 : THỰC THI HÀM TRONG GUIDE Ở phần này từng câu lệnh sẽ được giải thích khi thực thi. I. 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 d iện đồ họa lên màn hình. ở đây ta bắt đầu thao tác với file .m [Type text] Page 18
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn