
Thực Hành Lập Trình Giao Diện Vẽ Đồ Thị Trong Matlab GUI
Trong bài viết trước VuTienIT đã nói thì hôm nay chúng ta đã bắt tắt vào thực hành áp dụng sử dụng đối tượng Slider để vẽ một đồ thị nào đó. Bạn có thể xem lại 2 bài viết này trước khi bắt tay thực hành để hiểu rõ hơn vấn đề Sử Dụng Slider và Vẽ đồ thị

Hôm nay chúng ta sẽ kết hợp ở các kiến thức chúng ta đã học để làm được ví dụ hình dưới đây. Thực chất thì nó cũng không khó lắm đâu. Ta chỉ ôn lại kiến thức cũ về cách sử dụng các đối tượng để bạn nắm vững thôi.

Bạn hãy tự tay thiết kế giao diện như vậy xem có làm được không. Khi bạn tạo GUI xong thì ta tiến hành viết code cho nó.
Chú thích: VuTienIT sẽ không viết lại Code cũ của các bài trước. Bạn hãy xem lại và tự viết lại.
Như trên thì Slider có Tag là biendo Bây giờ bạn hãy mở đoạn code function của Pushbutton có String là Ve do thi (tag: pushbutton1) ở file .m và thêm dòng code dưới đây
biendo = get(handles.biendo, 'value');
Câu lệnh trên giúp bạn lấy được giá trị của Tag biendo của đối tượng Slider. Khi có được giá trị rồi thì ta thay đổi lại đoạn code
plot(t, sin(t));
Thành
plot(t, biendo * sin(t));
Đối với Cos, tan,… thì bạn cũng làm tương tự.

Sau khi hoàn thành bạn tiến hành chạy trương trình xem kết quả. Thì cũng giống các bài trước thì ta sẽ thêm đối tượng Edittext. Đối tượng này sẽ có nhiệm vụ đó là hiện thị thông số khi bạn thay đổi slider hay nó cách khác đó là khi nhập một số nào đó vào đối tượng này thì lập tức thanh scroll của slider sẽ thay đổi theo.
Gía trị bạn nhập vào phải nằm trong khoảng Min và Max của Slider

Bạn hãy mở đế Function của đối tượng tag hienthi và thêm các dòng code dưới đây.
biendomoi = get(handles.hienthi, 'string'); biendomoi = str2num(biendomoi); set(handles.biendo, 'value', biendomoi);

Tiếp theo bạn tìm đến Function của biendo_Callback và thêm 3 dòng dưới đây vào. Nhiệm vụ 3 dòng này là khi bạn keo thanh scroll thì ô Edittext sẽ có giá trị hiện thị thay đổi theo
biendo = get(handles.biendo, 'value'); biendo = num2str(biendo); set(handles.hienthi, 'string', biendo);

Khi viết xong bạn hãy chạy trương trình nên và test xem đã được chưa.
Để khi bạn khởi chạy nên thì ô Edittext sẽ hiện thị số luôn thì bạn chỉ cần copy 3 dòng ở Function biendo_Callback vào Function vidu4_OpeningFcn.

Đặt câu hỏi khi thoát trương trình.
Oke ở các bài viết trước thì VuTienIT chưa nói đến đối tượng Pushbutton có String là Close. Thì nhiệm vụ của nút này khi bạn bấm vào thì trương trình sẽ đóng lại. Bạn chỉ cần thêm 1 dòng code dưới đây vào Function của nó là được.
Close
Nhưng bạn thấy đấy. Khi chạy trương trình nên và nhấn vào nút này nó sẽ đóng. Bạn có để ý đến một số phần mền nào đó khi bạn sử dụng mà nhấn vào dấu X chẳng hạn thì có một câu hỏi như là “Bạn có muốn thoát trương trình không?”. Vậy làm sau để áp dụng câu đó vào bài tập của ta? Thì cũng khá đơn giản. Tại Function đó bạn hãy làm như sau
choice = questdlg('Would you like to close?', ...
'Choice menu', ....
'Yes', 'No', 'Yes');

Bạn có thể việt hóa các tự này cũng được tùy bạn. Bạn chỉ chú ý chỗ Yes Có nghĩa là khi hiện thị nên thì Yes sẽ được nổi bật. Bạn có thể điền là No cũng được. Bạn chỉ cần hiểu đơn giản là mong muốn người dùng click Yes hoặc No. Thường dùng để giữ chân người dùng không tắt trương trình đi.
Bạn thắc mắc là sao ta nhấn vào Yes, No không có tác dụng. Xin thưa với bạn là bạn có để ý đến nó gán giá trị vào biến choice không? Bây giờ ta sử lý đến trường hợp người ta nhấn Yes hoặc No bạn gõ tiếp lệnh dưới đây vào.
switch choice case 'Yes' close case 'No' end
Oke như vậy là xong rồi đó. Cũng khá là đơn giản phải không?
Tổng Kết
Trên đây chúng ta đã học được cách áp dụng các đối tượng với nhau một cách linh hoạt. Cũng như học được câu điều kiện khi người ta muốn thoát trương trình. Chúc bạn thành công!