1. Trang chủ
  2. » Mẫu Slide

Slide GUI (môn CAD)

44 150 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 3,03 MB

Nội dung

M-File là tập tin chứa các chỉ thị MATLAB do người dùng tạo ra.M-File có thể chứa thủ tục hoặc hàm.. – Hàm có bắt buộc phải có tham số đầu vào và biến đầu ra không?... Các tham số đầu và

Trang 1

CAD

Trang 2

M-File và Hàm

GUI

GUIDE

2

Trang 4

SV đọc phần 8 (M-Files) trong giáo trình.

Cho biết M-File là gì!

4

Trang 5

M-File là tập tin chứa các chỉ thị MATLAB do người dùng tạo ra.

M-File có thể chứa thủ tục hoặc hàm.

M-File có thể được soạn thảo bởi bất kỳ trình soạn thảo nào Tạo mới 1 M-File:

File/New/Blank M-File

Trang 6

Ví dụ: Tạo file tên là dt5.m chứa thủ tục sau:

1 Nhấn nút nếu soạn thảo trong MATLAB.

2 Gõ tên M-File từ cửa sổ chính MATLAB:

dt5

6

Trang 7

SV đọc phần 8.2 Cho biết:

– Liên hệ giữa Hàm và M-File.

– Cú pháp định nghĩa một hàm.

– Ngăn cách giữa các tham số?

– Ngăn cách giữa các biến đầu ra?

– Hàm có bắt buộc phải có tham số đầu vào và biến đầu ra không?

Trang 8

Hàm được chứa trong M-File

Tên file nên đặt giống với tên hàm được chứa bên trong.

Cú pháp định nghĩa hàm:

function biendaura = tenham( cacthamso )

%Noi dung ham

8

Trang 9

Ví dụ: định nghĩa hàm bình phương rồi lưu vào file

Trang 10

Các tham số đầu vào: được bao bởi dấu (), cách nhau bởi dấu

phẩy.

Các biến đầu ra: được bao bởi dấu [], cách nhau bởi dấu phẩy.

function [x,y] =linhtinh (a,b)

%Ham tinh binh phuong cua a va bac ba cua b

x=a*a;

y=b*b*b;

Hàm không bắt buộc phải có tham số đầu vào và biến đầu ra!

10

Trang 11

Số lượng tham số đầu vào được lưu trong biến nargin

Ví dụ về hàm có số lượng tham số đầu vào linh hoạt:

Trang 12

Các lần thử khi gọi hàm vdnargin:

>> b1=vdnargin %khong tham so

Trang 13

BT1: Định nghĩa hàm ezplotdt5 như sau:

Đầu vào: hamso , maunetve , maunen , tieude , Đầu ra: đồ thị của hamso vẽ bằng hàm ezplot với màu nét vẽ, màu nền, tiêu đề lấy từ tham số đầu vào.

Ví dụ khi gọi hàm:

>> ezplotdt5( 'y=sin(x.^2)' , 'b' , [0.8 1 0.8] , 'Bai tap 1' )

Trang 14

BT2: Định nghĩa hàm amplot như sau:

Đầu vào: fm , fc

Đầu ra: đồ thị các tín hiệu ym, yc , yam.

Cho biết:

Tín hiệu gốc ym=sin(2πfmt)+1 Sóng mang yc=sin(2πfct)

Tín hiệu AM yam=ym.*yct=[0  π], y=[-2  2]

14

Trang 15

BT2: Ví dụ khi gọi hàm:

>> amplot(1, 10)

Trang 16

Nguyễn Mỹ 16

Trang 17

GUI = Graphical User Interface.

Là một giao diện đồ họa cho phép người dùng tương tác thông qua chuột.

Các thành phần trong giao diện có thể là: cửa sổ, menu, nút nhấn, trục.

Trang 20

Các đối tượng đồ họa trong MATLAB:

Trang 23

UIControl là các đối tượng hiển thị trên giao diện hỗ trợ cho việc tương tác giữa người dùng với ứng dụng.

Các kiểu khác nhau của uicontrol:

Trang 24

Callback: các chỉ thị (thủ tục, hàm) sẽ được thực hiện khi uicontrol nào

Trang 25

Text: hiển thị một chuỗi ra giao diện.

Ví dụ:

uicontrol( 'style' ,'text', %kieu text

'string' ,'Dai hoc Tay Do', %chuoi hien thi

'fontsize' ,20,

'fontname' ,'Arial')

Trang 26

Pushbutton: hiển thị một nút nhấn.

Ví dụ: kế thừa hàm amplot của BT2

uicontrol( 'style' ,'pushbutton', %kieu pushbutton

'string' ,'Click here',… %chuoi hien thi

'callback' ,'amplot(1,10)') %goi ham khi nhan nut

26

Trang 27

Edit box: cho phép người dùng nhập liệu.

Dữ liệu đã nhập được truy xuất thông qua thuộc tính string.

Trang 28

Dữ liệu lấy từ edit box sẽ có kiểu chuỗi, vì vậy ta cần chuyển sang kiểu số khi cần tính toán.

Ví dụ:

28

Trang 29

Ta nên đặt tag cho các uicontrol quan trọng để

có thể gọi chúng về sau

Đặt tag: thông qua thuộc tính tag .

Gọi đối tượng nào đó thông qua tag: dùng

Trang 30

Viết một GUI cho phép người dùng nhập vào 1 con số, sau đó in ra bình phương của số đó ngay trên giao diện.

30

Trang 32

Frame: chỉ dùng để gom nhóm các đối tượng khác lại hoặc dùng để trang trí.

32

ĐỌC THÊM

Trang 33

Slider : thanh trượt dùng để chọn giá trị số nằm trong khoảng 0 - 1.

Ví dụ:

h=uicontrol('style','slider', 'tag','thanhtruot');

set(h,'callback','disp(get(findobj(''tag'',''thanhtruot''),''value''))');

ĐỌC THÊM

Trang 34

Đọc thêm phần 34.2 (UIControls) ,

quyển Basics of MATLAB and Beyonds

của Andrew Knight.

Đọc thêm bài 6 (Tạo giao diện trong MATLAB) , giáo trình Thí nghiệm CAD

của thầy Nguyễn Chí Ngôn.

34

ĐỌC THÊM

Trang 36

UIMenu dùng để thêm mục vào thanh menu của cửa sổ figure.

Cú pháp cơ bản: uimenu('label','nhãn')

Ví dụ:

figure; %tao cua so figure

set(gcf,'menubar','none'); %tat thanh menu mac dinh

cha=uimenu('label','File'); %them muc menu

36

Trang 37

Tạo một mục menu con trực thuộc menucha:

uimenu(menucha, 'label', 'nhan')

Ví dụ:

figure

set(gcf,'menubar','none')

cha =uimenu('label','File')

uimenu( cha ,'label','New')

uimenu( cha ,'label','Open')

uimenu( cha ,'label','Close','callback','close')

Trang 38

Khi click chuột vào mục của menu, hàm được chỉ định bởi thuộc tính callback sẽ được gọi! Nguyên tắc tương tự như uicontrol.

Tham khảo thêm về uimenu tại phần 34.6 (UIMenus) trong giáo trình tiếng Anh!

38

Trang 40

Một giải pháp khác để thiết kế giao diện trong MATLAB là sử dụng bộ công cụ GUIDE.

GUIDE = GUI Development Environment.

Thiết kế giao diện nhanh hơn bằng cách kéo thả các thành phần cần thiết vào figure.

Từ cửa sổ chính của MATLAB, ta dùng lệnh guide để bắt đầu thao tác.

40

Trang 41

GUIDE hỗ trợ một số mẫu thiết kế có sẵn cho người sử dụng.

Trang 42

Từ cửa sổ thiết kế của GUIDE, người dùng chỉ cần kéo thả những gì cần đến:

42

Trang 43

Một số giao diện minh họa:

Trang 44

BT3: Viết một GUI cho phép người dùng nhập vào a, b, sau đó in ra nghiệm của phương trình ax+b=0 ngay trên giao diện.

Ngày đăng: 29/11/2016, 14:18

TỪ KHÓA LIÊN QUAN

w