Đang tải...

Chào ngày mới yêu thương!

"Cuộc sống có ý nghĩa khi bạn có động lực, đặt mục tiêu và theo đuổi chúng không gì ngăn cản được."- Les Brown

Phần mềm khác Lập trình giao diện trong Matlab

Thảo luận trong 'Phần mềm kỹ thuật' bắt đầu bởi haui, 3/3/11.

Thành viên đang xem bài viết (Users: 0, Guests: 0)

  1. haui
    Offline

    haui Tài xế O-H

    Tham gia ngày:
    5/8/09
    Số km:
    3,005
    Được đổ xăng:
    205
    Xăng:
    -3,071 lít xăng
    Bài đầu tiên mình sẽ giới thiệu các bạn giao diện GUI.

    1. Mở phần mềm Matlab, gõ lệnh sau vào cửa sổ Command
    >> guide
    hoặc Menu File\New\GUI
    [​IMG]
    Trong cửa sổ GUIDE Quick Start có nhiều lựa chọn theo một trong các mục sau:

    - Create New GUI: Tạo một hộp thoại GUI mới theo một trong các loại sau

    * Blank GUI (Default): Hộp thoại GUI trống không có một điều khiển uicontrol nào cả.
    * GUI with Uicontrols: Hộp thoại GUI với một vài uicontrol như button, … Chương trình có thể chạy ngay.
    * GUI with Axes and Menu: Hộp thoại GUI với một uicontrol axes và button, các menu để hiển thị đồ thị.
    * Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.

    - Open Existing GUI: mở một figure-file có sẵn.

    -> Các bạn chọn Blank GUI

    2. Cửa sổ GUI hiện ra

    [​IMG]

    Giao diện rất giống với các chương trình lập trình giao diện như Visual Basic, Visual C++, … Các bạn di chuột qua các biểu tượng ở bên trái sẽ thấy tên của các điều khiển. Hoặc tùy chỉnh trong menu File\Prefrences: Chọn GUIDE, đánh dấu chọn Show Names... ->OK. Sẽ thấy tên các điều khiển:

    [​IMG]

    Chức năng của các điều khiển như sau:

    * Push Button: giống như nút Command Button trong VB. Là các nút bấm như nút OK, Cancel mà ta vẫn bấm.
    * Slider : Thanh trượt có một con trượt chạy trên đó. (hay dùng để làm tiến độ, tiến trình, hoặc phần trăm...)
    * Radio Button : Nút nhỏ hình tròn để chọn lựa. (Dùng để chọn hoặc cái này, hoặc cái kia)
    * Check Box: Lựa chọn hình vuông. (Khác Radio Button ở chỗ có thể chọn hoặc ko chọn nhiều cái, độc lập)
    * Edit Text: Hộp nhập dữ liệu. (Để nhập các thông số đầu vào của bài toán)
    * Static Text: Giống như nhãn trong VB. (Dùng để gán nhãn, chú thích cho Edit Text, hoặc đối tượng khác...)
    * Pop-up Menu: Nút công cụ có dạng menu. (khi ấn vào nút hiện ra nhiều lựa chọn)
    * List Box: Hộp nhập dữ liệu theo danh sách. (Khác Edit Text ở chỗ là phải chọn 1 mục trong danh sách có sẵn)
    * Toggle Button: Nút lệnh có tính chất on/off (nhấn nó chìm xuống, nhấn cái nữa lại nổi lên)
    * Table: Bảng dữ liệu (Cái này mới bổ sung từ Matlab2007 cho bằng bạn bằng bè)
    * Axes: Hệ trục tọa độ. (Dùng đẻ thể hiện các đối tượng đồ họa)
    * Panel: Khung chứa các điều khiển
    * Button Group: Tạo ra một nhóm các nút
    * ActiveX Control: Điều khiển ActiveX (sử dụng các đối tượng trong thư viện của Win)


    Các bài sau sẽ giới thiệu và hướng dẫn các bạn sử dụng từng điều khiển một.

    Dưới đây là một trong những đề tài mình đã làm. Các bạn xem sẽ thấy giao diện lập trình bằng Matlab ko thua kém gì so với Visual Basic, Visual C++
    [​IMG]

    Cảm ơn nhiều!
     
    Đã được đổ xăng bởi AnhUnikey.
  2. haui
    Offline

    haui Tài xế O-H

    Tham gia ngày:
    5/8/09
    Số km:
    3,005
    Được đổ xăng:
    205
    Xăng:
    -3,071 lít xăng
    Hướng dẫn sử dụng Push button, Edit Text và Static Text qua ví dụ: 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:
    [​IMG]

    Chọn Blank GUI -> OK
    Trong hộp thoại hiện ra (figure), kéo thả các điều khiển Push button, Edit TextStatic Text vào figure được hình như sau:
    [​IMG]

    Mỗi điều khiển đều có nhiều thuộc tính (có thể xem bằng cách click đúp vào điều khiển đó). Mỗi điều khiển có 2 thuộc tính quan trọng nhất là: Tag, String. Không giống như VB danh sách thuộc tính hiển thị ngay khi đánh dấu chấm sau tên đối tượng, với ML chúng ta phải học thuộc tên các thuộc tính của các điều khiển. 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:

    - Push button 1: (click đúp vào điều khiển Push button thứ nhất)
    + Tag : start
    + String : Bat dau
    [​IMG]

    - 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_x1
    + 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
    - 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:
    + Tag : nghiem_x1
    + String : x1 =
    - Static Text 8:
    + Tag : nghiem_x2
    + String : x2 =
    - figure: (click đúp vào nền của figure):
    + Tag : fig1
    + Name : Giai phương trinh bac 2
    [​IMG]
    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:


    Lưu lại figure (Menu File\Save) dưới tên GPTB2.fig
    Sau đó ML tự sinh file GPTB2.m; trong file này tìm hàm start_callback (có thể phải chuột vào nút Bat dau chọn View callbacks\callback) và đánh vào các dòng lệnh sau:

    [​IMG]

    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ố

    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 thành quả nào.

    Chúc các bạn thành công!
     
    Đã được đổ xăng bởi AnhUnikey.
  3. haui
    Offline

    haui Tài xế O-H

    Tham gia ngày:
    5/8/09
    Số km:
    3,005
    Được đổ xăng:
    205
    Xăng:
    -3,071 lít xăng
    Một ví dụ về lập trình giao diện trong Matlab.

    Chương trình Femsoft, khả năng cũng không thua kém VisualBasic:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
    Đã được đổ xăng bởi AnhUnikey.
  4. kbitgi
    Offline

    kbitgi Tài xế O-H

    Tham gia ngày:
    7/9/11
    Số km:
    2
    Được đổ xăng:
    1
    Xăng:
    380 lít xăng
    mình đang lập phần mềm kiểm tra đồ án kctt ô tô bằng matlab.nên ai có tài liệu gì liên quan thì gửi cho mình nhé...thank you very much! :9:
     
    Đã được đổ xăng bởi AnhUnikey.
  5. shinichi1807
    Offline

    shinichi1807 Tài xế O-H

    Tham gia ngày:
    10/3/10
    Số km:
    3
    Được đổ xăng:
    1
    Xăng:
    316 lít xăng
    anh cho em hỏi với. em tìm đến lệnh function start_Callback(hObject, eventdata, handles)
    thì sau lệnh này là em gõ code trên của anh hay là xóa nó đi. em làm rồi mà không thấy chạy???????????
     
    Đã được đổ xăng bởi AnhUnikey.
  6. anhqdt43
    Offline

    anhqdt43 Tài xế O-H

    Tham gia ngày:
    4/4/12
    Số km:
    16
    Được đổ xăng:
    2
    Xăng:
    350 lít xăng
    Chào các bác, bác nào cần học Matlab thì send mail cho em vào địa chỉ: vptcenter@gmail.com em gửi tài liệu cho mà học.
     
    Đã được đổ xăng bởi AnhUnikey.
  7. rechardtran
    Offline

    rechardtran Tài xế O-H

    Tham gia ngày:
    20/11/10
    Số km:
    4
    Được đổ xăng:
    1
    Xăng:
    319 lít xăng
    Topic bổ ich thế này mà ko thấy ai lên tiêng nhỉ, xem và thanks thì chủ pic mới càng hào hứng :))
     
    Đã được đổ xăng bởi AnhUnikey.
  8. thanh_bin1990
    Offline

    các chương trình matlap này e ngồi mò cả tháng cũng chỉ làm dc mấy cái cơ bản , hjxhjx, mấy cái chương trình lập trình khó kinh khủng :(
     
    Đã được đổ xăng bởi AnhUnikey.
  9. thandieuvh
    Offline

    thandieuvh Tài xế O-H

    Tham gia ngày:
    6/6/12
    Số km:
    2
    Được đổ xăng:
    1
    Xăng:
    340 lít xăng
    Bài này Copy từ diễn đàn cơ điện tử sang mà không ghi rõ nguồn gốc :32:

    http://diendancodientu.com/forum/showthread.php?45-Lập-trình-giao-diện-trong-Matlab



    ---------- Post added at 03:05 PM ---------- Previous post was at 03:01 PM ----------

    Bài nay nguyên gốc bên đienancodientu Copy sang day
    http://diendancodientu.com/forum/showthread.php?45-Lập-trình-giao-diện-trong-Matlab

     
    Đã được đổ xăng bởi AnhUnikey.
  10. eyes146
    Offline

    eyes146 Tài xế O-H

    Tham gia ngày:
    7/6/12
    Số km:
    4
    Được đổ xăng:
    2
    Xăng:
    392 lít xăng
    cho em hỏi thêm chút, khi mình muốn xóa tất cả những thông số vừa nhập vào các edit text thì phải làm sao? Mong được hồi đáp sớm
     
    Đã được đổ xăng bởi AnhUnikey.
  11. polyathao
    Offline

    polyathao Tài xế O-H

    Tham gia ngày:
    10/11/12
    Số km:
    2
    Được đổ xăng:
    1
    Xăng:
    343 lít xăng
    Chào bác haui, bác làm giao diện matlab pro quá! Em đang tìm hiểu giao diện matlab để làm cái đồ án, bác có thể cho em tham khảo cái femsorf của bác được không ạ? em đang cần gấp. Em có thể đóng góp chút phí cũng được, nhưng báo trước bác, em là học viên diện khó khăn đó :)). Có gì bác mail cho em vào địa chỉ ndthao80@gmail.com. Thanks bác nhiều.
     
    Đã được đổ xăng bởi AnhUnikey.
  12. quocdung13
    Offline

    quocdung13 Tài xế O-H

    Tham gia ngày:
    24/11/12
    Số km:
    4
    Được đổ xăng:
    2
    Xăng:
    320 lít xăng
    vd, mình có 1 nút là clear, giả sử click vào nút này thì toàn bộ những giá trị ở các ô Edit đều được xóa hết, thì làm thế nào vậy mọi người!
    hay vd như nhấn nút Close thì tắt chương trình luôn, code như thế nào?
     
    Đã được đổ xăng bởi AnhUnikey.
  13. eyes146
    Offline

    eyes146 Tài xế O-H

    Tham gia ngày:
    7/6/12
    Số km:
    4
    Được đổ xăng:
    2
    Xăng:
    392 lít xăng
    lập trình nốt close và nôt clear

    Trả lời:
    1. Bạn tạo một pushbutton sau đó phải chuột-> vew-> callback -> điện đoạn code tương tự như ở dưới để xóa hết các ô Edit. có thể hiểu là điền một khoảng trắng vào Edit
    function pushbutton3_Callback(hObject, eventdata, handles)
    % hObject handle to pushbutton3 (see GCBO)
    % eventdata reserved - to be defined in a future version of MATLAB
    % handles structure with handles and user data (see GUIDATA)
    set(handles.edit1,'string','');
    set(handles.edit2,'string','');
    set(handles.edit3,'string','');
    set(handles.edit4,'string','');
    set(handles.edit5,'string','');

    2. muốn đóng thì bạn tạo một pushbutton sau đó vào callback gõ lệnh sau
    close();
    thế là xong chuc thành công
     
    Đã được đổ xăng bởi AnhUnikey.
  14. quocdung13
    Offline

    quocdung13 Tài xế O-H

    Tham gia ngày:
    24/11/12
    Số km:
    4
    Được đổ xăng:
    2
    Xăng:
    320 lít xăng
    cám ơn bạn eyes146, mình đã làm được rồi ! :d
     
    Đã được đổ xăng bởi AnhUnikey.
  15. bngoctuan11
    Offline

    bngoctuan11 Tài xế O-H

    Tham gia ngày:
    6/4/13
    Số km:
    112
    Được đổ xăng:
    87
    Xăng:
    1,201 lít xăng
    Có cao thủ nào nghiên cứu matlab cho em hỏi với ạ
     
    Đã được đổ xăng bởi AnhUnikey.

Chia sẻ trang này