Thông báo

Collapse
No announcement yet.

Lập trình GUI trong Matlab

Collapse
This is a sticky topic.
X
X
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • pavelnaru
    replied
    chào mọi người. mình đang học lập trình matlab và có nhìu thắc mắc về GUI
    cái to nhất bi h là mình muốn khi bấm vào 1 nút trong GUI, cửa sổ GUI đó sẽ close và open 1 cửa sổ mới, dạng giốngn như khi ta set up sòt í, bấm next/ agree nó wa cái mới đó.
    mong anh em đồng bào giúp với
    cám ơn thật nhìu

    Leave a comment:


  • nanavaro
    replied
    Muốn kết hơp giữa labview với matlab phải làm sao hả anh Bắc?Em vô mathscript của LV chạy phần demo của NI đưa thì chạy được,còn load file của mình vô thì chạy không được :?: :cry: ...Anh chỉ cho em với.

    Leave a comment:


  • aladanh
    replied
    Vấn đề này topic đã đề cập rồi mà , việc trao đổi dữ liệu qua các hàm callback cũng như các hàm con khác , bạn khai báo và sử dụng trường do bạn định nghĩa bằng handles. Nó giống như 1 biến toàn cục mà bạn gặp trong các ngôn ngữ lập trình khác. Bạn có thể tham khảo ở trang http://ngohaibac.net , trong mục matlab , bài viết về trao đổi dữ liệu giữa các hàm callback . Anh Bắc đã viết rất rõ ràng rồi. Bạn cũng có thể tra help về handles . Mình nhớ là trong phần help Matlab về GUI cũng trình bày vấn đề này .
    Last edited by aladanh; 28-11-2008, 01:38.

    Leave a comment:


  • nhanndt
    replied
    Chào các bác!
    Mình đang làm bài tập lớn về Matlab.Mình gặp một vấn đề thế này: Mình tạo một GUIDE trong đó có các nút bấm thế này. Nút record để ghi âm từ microphone, nút stop để ngừng ghi âm, và nút replay để nghe lại. Tuy nhiên mình ko biết lập trình nút stop thế nào. Làm sao để lấy dừng trạng thái ghi âm nằm trong callback khác vậy? Mong các bác chỉ giúp. Thanks nhiều!

    Leave a comment:


  • kratos
    replied
    Các bác ơi cho em hỏi.
    em đang học vẽ đồ thị trong matlab.
    em muốn vẽ mặt cầu x^2+y^2+z^2=1.
    mong các bác giúp đỡ

    Leave a comment:


  • dbglory
    replied
    Mạo muội đóng góp với các bạn 1 cuốn sách dạy lập trình GUI Matlab

    Dù không nhiều kinh nghiệm nhưng xin đóng góp cùng các bạn hay về lập trinh GUI của Matlab. Mời các bạn tham khảo tại đây: http://dlbkhn.com.vn/index.php?view=...tent&Itemid=30

    Leave a comment:


  • aladanh
    replied
    1.
    Các anh cho em hỏi về cách trao đổi dữ liệu giữa các GUI với ạ , khi đọc bài của anh Bắc thì anh có hướng dẫn trao đổi thông qua 1 file dữ liệu ( *.mat) ( cũng tương tự khi truyền số liệu đo từ scope (Simulink) lên axes (GUI) . Vậy còn cơ chế nào khác không ạ?
    Nhưng khi đọc đoạn mã của ví dụ về modaldlg (dùng để confirm nút exit ) trong help em có thấy khi GUI "mẹ" gọi GUI " con" thì GUI con truyền dữ liệu về thông qua hàm output. Theo em hiểu thì cách truyền này chỉ truyền 1 chiều vì việc truyền diễn ra khi thực hiện và kết thúc 1 GUI trong 1 GUI khác, điều này có đúng không ạ?

    2.
    Cũng khi đọc ví dụ modaldlg, có 1 đoạn mã này:
    Code:
    load dialogicons.mat
    
    IconData=questIconData;
    questIconMap(256,:) =get(handles.figure1,'color');
    IconCMap=questIconMap;
    
    axes(handles.axes1);
    Img=image(IconData);
    set(handles.figure1, 'Colormap', IconCMap);
    
    set(gca, ...
        'Visible', 'off', ...
        'YDir'   ,'reverse'       , ...
        'XLim'   ,get(Img,'XData'), ...
        'YLim'   ,get(Img,'YData')  ...
        );

    Em đoán đoạn mã này để chèn icon vào modaldlg GUI , trong đó gọi từ thư viện dữ liệu dialogicon.mat để vẽ , nhưng khi em cho dich file exe thì không hề phải add file đó vào.
    Em thấy điều này khá hay vì trước giờ em mới biết có mỗi cách đưa ảnh lên axes thông qua lệnh imshow( đường dẫn) ; và khi dich ra exe hoặc đơn giản mang file GUI sang máy khác chạy thì em cũng phải copy cái ảnh đó để cùng thư mục với file GUI. Vậy em hỏi là liệu có cách nào cho phép ta biến 1 file ảnh thành 1 file.mat rồi dùng cách vẽ trực tiếp như đoạn mã trên, để khi dich ra exe ta đỡ phải mang ảnh đi lung tung không ạ? Xin lỗi nhưng em chưa biết 1 tí j về xử lí ảnh cả , các anh có thể cho em hướng dẫn thôi để em mò help cũng dc , chứ em nhìn cái toolbox box xử lí ảnh thấy mênh mông quá mà em lại chỉ cần 1 ứng dụng nhỏ ^^

    3. Trong ví dụ của anh Bắc về controlDC v3.0 em có thấy phần thanh tiêu đề đã dc chỉnh sửa ( bao gồm : file , run,......) ,các anh có thể hướng dẫn em về phần này không ạ , vì em mở 1 file GUI ra nó toàn mặc định rất nhiều ( file , edit.......) mà em muốn chỉnh nó theo ý mình .??? Em đã đọc code của anh Bắc mà chưa nhìn thấy chỗ nào config mấy cái đó

    Cảm ơn mọi người ^_^
    Last edited by aladanh; 10-10-2008, 10:16.

    Leave a comment:


  • ngohaibac
    replied
    Mình đã trả lời bạn vanminh_mcp qua Yahoo , nên có lẽ bạn ấy không hỏi ở đây nữa.

    Để set thuộc tính string này:

    1. Cho Edit Text đó ở chế độ multi line, cho giá trị max lớn hơn 1. Chính là số dòng có thể hiển thị được trên Edit Text.

    2. Thiết lập thuộc tính String, có thể có các chữ số là biến mà ta dùng, dùng lệnh sprintf chính là format String như trong C với lệnh printf. Dùng kí tự '\n' để xuống dòng.

    Gõ: help sprintf trong command để biết cách dùng.

    Ví dụ: str = sprintf(' %d + %d = %d',x,y,x+y);

    Chúc các bạn thành công.

    Leave a comment:


  • dspguy
    replied
    gui van_minh
    ban thu set the nay xem sao:
    set(text1,'String', strcat('Ma tran can tim \n', num2str(your_matrix),'Max', 6,'Min',0,...)
    \n is for a new line. neu matrix cua ban co 5 rows, ...
    Hai Bac co the biet tot hon toi ve cai nay? chao ban
    dspguy

    Leave a comment:


  • vanminh_mcp
    replied
    Ý của em là anh có thể cho cấu trúc cụ thể của lệnh set String đó được không ạ? Em đã làm thử như thế, nhưng là để hiển thị một ma trận. Bây giờ em muốn hiển thị thêm dòng "Ma tran can tim" o dòng trên của ma trận đó chẳng hạn,thí sẽ viết như thế nào???Thanks!!!

    Leave a comment:


  • dspguy
    replied
    Gui ban v_mcp:
    search multiple line string tai day
    http://www.mathworks.com/

    se thay tra loi nhu sau:
    To enable multiple-line input, specify the Max and Min properties so that their difference is greater than 1. For example, Max = 2, Min = 0. Max default is 1, Min default is 0. MATLAB software wraps the string and adds a scroll bar if necessary.

    Leave a comment:


  • vanminh_mcp
    replied
    Anh Bắc cho em hỏi: nếu em muốn set thuộc tính 'String' của một static text mà gồm nhiều dòng thì làm thế nào ạ?Cần phải thêm định dạng như thế nào?Thanks!!

    Leave a comment:


  • dspguy
    replied
    Chào bạn Hải Bắc,
    Rất vui đựoc biết diễn đàn này, tôi cũng là một GUI programmer, đã dùng GUI Matlab Tôl để thiết kế một phần mềm dùng cho design indoor wireless, với GUI này tôi có thể upload floor plan, (bản vẻ mặt bằng) rồi đặt thiết bị như ăng ten, amplifier, vv chạy cáp (cabling) rồi tính toán tổn hao (cable lost và attenuations) ...nói chung rất hay. nhưng vì thời gian có hạn nên phầm mềm này chưa đủ khả năng thực sự cạnh tranh với lối thiết kế bằng thủ công (vẽ sơ đồ bằng tay và đo đạc bằng tay) cách này cực kỳ mất công và hay sai sót, nhưng ngược lại, dễ sử dụng, còn phần mềm của tôi (bỏ ra gần hai năm viết) chạy rất nhanh, hệu quả nhưng vì thiếu thiết kế hệ thống một cách chi tiết, nên hơi khó sự dụng, nhất là khi điều chỉnh sơ đồ (schematic diagram adjustment). Nếu như tôi bỏ thêm khoảng một năm nữa để hoàn chỉnh, có thể nó sẽ đánh bại lối thiết kế thủ công. Có thể tôi cần cộng tác viên (dĩ nhiên có trả tiền - remuneration for labor) nếu bạn quan tâm thì ta sẽ bàn tiếp.
    Tôi muốn cut and paste GUI của mình để mọi người tham khảo mà không biết làm thế nào? Mong bạn chỉ dẫn. Tôi sẽ attache vào email gửi cho bạn. Thân mến.

    Leave a comment:


  • svngheo
    replied
    Thế là tốt rồi!Bác đi học, nghiên cứu thêm nhiều cho anh em học hỏi với, hy vọng bác có những báo cáo hay!
    Tôi định lấy kết quả của simullink hiển thị lên guide, theo như cậu hướng dẫn thì gắn một khối to file trên simulink nhưng không thấy cậu viết code cho khối hiển thị trên axis của guide.
    Còn nếu không như thế thì cậu chỉ cách tôi truy xuất dữ liệu với ( một đoạn mã nho nhỏ cũng được), trong khối to file tôi thấy tham số của nó có biến ans, mình làm thế nào để lấy dữ liệu của nó đây.

    Leave a comment:


  • ngohaibac
    replied
    Nguyên văn bởi svngheo Xem bài viết
    Thanks, bác Bắc nha. Bác định học thạc sĩ hay sao chứ, tại trường tôi thấy họ về tuyển cũng nhiều.Cậu không đi phỏng vấn intel sao?
    Xin lỗi hơi spam chút nhưng chốc nữa chắc cũng hỏi thôi....
    Chào bạn. Mình cũng đang có ý định học thạc sĩ bạn ạ.
    Mình không đi phỏng vấn Intel bạn ạ.

    Chúc bạn thành công.

    Leave a comment:

Về tác giả

Collapse

ngohaibac Tìm hiểu thêm về ngohaibac

Bài viết mới nhất

Collapse

Đang tải...
X