Bài giảng Matlab ứng dụng thiết kế – điều khiển

BIỂU THỨC (EXPRESSION)

? Biến số ( variables)

? Số (Numbers)

? Toán tử ( Operaters)

? Hàm ( Functions)

- tối đa 19 ký tự có nghĩa

- phân biệt giữa chữ hoa và chữ thường.

- bắt đầu bằng một từ theo sau là từ hay số

hoặc dấu (_).

- biến tòan cục (global) tác dụng trong

tòan chương trình.

- biến cục bộ (local) tác dụng trong nội tại

hàm (function)

- một số biến đặc biệt: pi, ans,

Biến (Variables)

? Kiểm tra biến (who và whos)

? Xóa biến (clear và clear all)

DATA TYPES

Int8,uint8,int16,int32 số nguyên interger.

Single,double: kiểu số thực.

Logical: kiểu true,false.

Char: kiểu ký tự.

String: kiểu ký tự.

Array: a(1),a(0), .

Ví dụ:

Str=‘hello world’;

Str(2)=‘ e’.

 

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 1

Trang 1

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 2

Trang 2

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 3

Trang 3

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 4

Trang 4

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 5

Trang 5

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 6

Trang 6

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 7

Trang 7

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 8

Trang 8

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 9

Trang 9

Bài giảng Matlab ứng dụng thiết kế – điều khiển trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 55 trang duykhanh 5980
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Matlab ứng dụng thiết kế – điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Matlab ứng dụng thiết kế – điều khiển

Bài giảng Matlab ứng dụng thiết kế – điều khiển
ÄP 
1.SLIDE BÀI GIẢNG . 
2.SÁCH MATLAB CƠ SỞ. 
 ĐÁNH GIÁ HK HÈÙ 
 1.Thực hành Trên lớp : 10%. 
 2. kiểm tra : 10%. 
 2.Thi cuối kỳ : 80%. 
 Thời gian : 19/7 - 10/8/2016. 
 NỘI DUNG 
PHẦN I: MATLAB CĂN BẢN. 
PHẦN II: LẬP TRÌNH TRONG 
MATLAB. 
PHẦN III: GUIDE TRONG MATLAB - 
ỨNG DỤNG TRONG ĐIỀU KHIỂN. 
PHẦN I- MATLAB 
 CĂN BẢN 
 MATLAB CĂN BẢN 
 I. BIỂU THỨC (EXPRESSION) 
 . Biến số ( variables) 
 . Số (Numbers) 
 . Toán tử ( Operaters) 
 . Hàm ( Functions) 
 - tối đa 19 ký tự có nghĩa 
 - phân biệt giữa chữ hoa và chữ thường. 
Biến (Variables) - bắt đầu bằng một từ theo sau là từ hay số 
 hoặc dấu (_). 
 - biến tòan cục (global) tác dụng trong 
 tòan chương trình. 
 - biến cục bộ (local) tác dụng trong nội tại 
 hàm (function) 
 - một số biến đặc biệt: pi, ans, 
  Kiểm tra biến (who và whos) 
  Xóa biến (clear và clear all) 
 DATA TYPES 
Int8,uint8,int16,int32số nguyên interger. 
Single,double: kiểu số thực. 
Logical: kiểu true,false. 
Char: kiểu ký tự. 
String: kiểu ký tự. 
Array: a(1),a(0),. 
Ví dụ: 
Str=‘hello world’; 
Str(2)=‘ e’. 
DATA TYPES CONVERSION 
 Char(): chuyển sang kiểu ký tự. 
 Int2str(): chuyển số sang chuỗi. 
 Num2str(): chuyển integer sang chuỗi 
 Str2num(): chuổi sang số. 
 Num2bin(): số sang mã nhị phân. 
 Dec2bin(): chuyển số sang nhị phân 
 Ischar(): kiểm tra phải ký tự. 
 Isinteger():kiem tra so nguyen 
 Islogical():kiem tra bien logic. 
 Matlab command 
Clc: xóa màn hình. 
Clear all: xóa tất cả các biến. 
Global: khai báo biến toàn cục. 
Quit: thoát matlab. 
Who: liệt kê tất cả biến hiện có 
Whos: liệt kê biến , kiểu biến. 
 INPUT, OUTPUT COMMAND 
Disp: hiển thị ra comand matlab. 
Input: nhận dữ liệu từ command matlab. 
sprintf: dinh dang chuoi xuat ra man hinh. 
Format : dinh dang dữ liệu . 
Các kiểu dữ liệu format: 
Short,long,short e,long e,rat 
 MATLAB CĂN BẢN 
1. Số (Numbers) 
 Tất cả những con số đều được lưu kiểu định dạng (format) 
 Dùng hàm format để định dạng kiểu số: 
format (định dạng) 
 >> b=3/26; 
 >> format long; b >> format +; b 
 b = b = 
 0.11538461538462 + 
 >> format short e; b >> format rat; b 
 b = b = 
 1.1538e-001 3/26 
 >> format bank; b >> format short; b 
 b = b = 
 0.12 0.1154 
 >> format short eng; b >> format long eng; b 
 b = b = 
 115.3846e-003 115.384615384615e-003>> 
 >> format hex; b 
 b = 
 3fbd89d89d89d89e 
 MATLAB CĂN BẢN 
2. Toán tử (operaters) (+, -, *, /, \,^,’) 
 . Các biến không cần khai báo trước. 
 . Các ký tự thường và in là phân biệt. 
 . Kết thúc câu lệnh với ‚;‛ không hiển thị kết qủa câu 
 lệnh. 
 . Biến mặc nhiên ‚ans‛ . 
 .Thứ tự tính toan nhu thong thuong:nhân chia trước , 
 cộng trừ sau.. 
2. Toán tử (operaters) (+, -, *, /, \,^,’) 
 To¸n tư quan hƯ ý nghÜa 
 < Nhá h¬n vd A<B 
 > Lín h¬n vd A>B 
 <= Nhá h¬n hoỈc b»ng A<=B 
 >= Lín h¬n hoỈc b»ng A>=B 
 == B»ng vd A==B 
 ~= Kh«ng b»ng vd A~=B 
Toán tử (operaters) 
To¸n tư logic ý nghÜa 
 & Vµ vd A&B 
 | HoỈc vd A|B 
 ~ §¶o vd ~A 
 operators 
operator Miêu tả 
+ Phép cộng 
- Trừ 
* nhân 
.* Nhân ma trận 
/ chia 
./ Chia phải 2 ma trận 
^ Lũy thừa 
.^ Lũy thừa ma trận 
‘ Tranpose 
 MATLAB CĂN BẢN 
3. Hàm cơ bản (basis functions) abs, sqrt, exp, sin, 
 Tên hàm ý nghĩa 
 Sin Hàm sin 
 Cos Hàm cos 
 Tan Hàm tan 
 Asin acsin 
 Acos accos 
 Atan arctg 
 Exp Hàm e mũ 
 Log Logarit co so e 
 log10 Logarit co so 10 
 sqrt(x) Can bac 2 
 MA TRẬN TRONG MATLAB 
Cách Khai báo ma trận: 
A=[2 3;4 5]; . ‚;‛ có nghĩa là chuyển sang hàng kế tiếp. 
B=[2 3 4;4 5 6;6 7 8]. . ‚,‛ hay ‚ ‚ phân cách giữa các phần tử. 
 >> t = 1:5 
 t = 
 1 2 3 4 5 
 >> row = A(1,:) 
 row = 
 1 2 3 
 >> col = A(:,1) 
 col = 
 1 
 4 
 7 
 >> 1: 0.3:2 
 ans = 
 1 1.3000 1.6000 1.9000 
 MA TRẬN TRONG MATLAB 
Phép tính Chú thích 
 +, - Cộng hoặc trừ hai ma trận cùng kích thước 
 A*B Nhân hai ma trận A và B 
 A/B Chia hai ma trận (chia phải) A và B 
 A\B Chia trái hai ma trận B và A 
 A.*B Nhân từng phần tử của hai ma trận A và B 
 A./B Chia từng phần tử của hai ma trận A và B 
 A.\B Chia từng phần tử của hai ma trận B và A 
 .^ Mũ cho từng phần tử của mảng 
 MA TRẬN TRONG MATLAB 
 >> D=[A C] 
>> A=[1 2 3;4 5 6;7 8 9] D = 
A = 1 2 3 -4 2 3 
 1 2 3 4 5 10 1 2 1 
 4 5 6 7 8 9 2 5 6 
 7 8 9 >> D(5) 
>> A(2,3)=10 ans = 
A = 5 
 1 2 3 >> D(4,5) 
 4 5 10 ??? Index exceeds matrix dimensions. 
 7 8 9 >> X=D 
>> B=A(2,1) X = 
B = 1 2 3 -4 2 3 
 4 4 5 10 1 2 1 
>> C=[-4 2 3;1 2 1;2 5 6] 7 8 9 2 5 6 
C = >> X(2,6) 
 -4 2 3 ans = 
 1 2 1 1 
 2 5 6 >> X(2,:) 
 ans = 
 4 5 10 1 2 1 
 ĐỒ HỌA TRONG MATLAB 
Đồ họa trong Matlab 
 Cây thư mục quản lý đối tượng trong Matlab: 
 Figure 
 Axes Uicontrol Uimenu Uicontextmenu 
Image Light Line Patch Rectangle Surface Text 
 ĐỒ HỌA TRONG MATLAB 
 Bước MATLAB code 
 X= 0:0.1:2*pi; 
1. Chuẩn bị dữ liệu 
 Y= sin(X)=f(x). 
2. Chọn cửa sổ và vị trí của đối figure(‘Name’,’Hinh sine’); 
tượng đồ họa trong cửa sổ. subplot(2,2,1); 
3. Gọi hàm vẽ đồ thị h = plot(X,Y); 
4. Xác định thuộc tính cho hình set(h, ‘LineStyle’,’-
như kiểu đường, màu sắc,  ‘,’Color’,’r’) 
5. Xác định các thuộc tính của axis, axis([-1 6 -1.2 1.2]); 
axes, lưới vẽ,  grid on; 
 xlabel(‘X’); 
6. Chú thích cho đồ thị: labels, 
 ylabel(‘Y=SIN(X)’); 
legend, text,  
 title(‘Đồ thị hình sine’); 
7. Xuất kết quả 
 ĐỒ HỌA TRONG MATLAB 
Các lệnh vẽ cơ bản: 
 Tên hàm Mô tả hàm 
 plot Vẽ dữ liệu 2D với tỉ lệ tuyến tính cho các trục tọa độ 
 plot3 Vẽ dữ liệu 3D với tỉ lệ tuyến tính cho các trục tọa độ 
 line Vẽ đường thẳng đi qua các điểm dữ liệu 
 loglog Vẽ với tỉ lệ logarithmic cho các trục tọa độ 
 semilogx Vẽ với tỉ lệ logarithmic cho trục x và tỉ lệ tuyến tính cho 
 trục y 
 semilogy Vẽ với tỉ lệ logarithmic cho trục y và tỉ lệ tuyến tính cho 
 trục x 
 plotyy Vẽ đồ thị với trục y ở bên trái và bên phải 
 ĐỒ HỌA TRONG MATLAB 
Lệnh plot 
 Cú pháp Mô tả 
 Vẽ đồ thị với hoành độ là chỉ số 
 plot(Y) của phần tử, tung độ là giá trị của 
 phần tử tương ứng 
 Vẽ đồ thị bằng cách sử dụng các 
 plot(X1,Y1,...) đường thẳng nối từng cặp dữ liệu 
 X1(i) và Y1(i) 
 Vẽ đồ thị và định tính chất cho tất 
 plot(X1,Y1,LineSpec,...) 
 cả các đường thẳng 
 Vẽ có định tính chất cho các đối 
 plot(...,'PropertyName',PropertyValue,...) 
 tượng 
 h = plot(...) Trả về giá trị quản lý đối tượng vẽ 
 ĐỒ HỌA TRONG MATLAB 
 t = 0:pi/100:2*pi; 
 y = sin(t); 
 y2 = sin(t-0.25); 
 y3 = sin(t-0.5); 
 plot(t,y,'-',t,y2,'--',t,y3,':') 
Kí hiệu Kiểu đường Ví dụ 
 solid line (Mặc 
- định) 
-- dashed line 
: dotted line 
-. dash-dot line 
 ĐỒ HỌA TRONG MATLAB 
 LineWidth: plot(X,Y,’LineWidth’,2) 
Giá trị 1 3 5 
LineWidth 
Hình 
 ĐỒ HỌA TRONG MATLAB 
 Color: plot(X,Y,’Color’,[0.1 0.5 0.7]), plot(X,Y,’Color’,’y’) 
 Cách khai báo giá trị màu cho đối tượng trong Matlab 
 o Nhập giá trị màu RGB là vector hàng 3 phần tử 
 o Nhập tên của màu x = 0:pi/15:4*pi; 
 y1 = exp(2*cos(x)); 
 y2 = exp(2*sin(x)); 
 plot(x,y1,'-*r',x,y2,'-.og','linewidth',2) 
 8 
 7 
 6 
 5 
 4 
 3 
 2 
 1 
 00 2 4 6 8 10 12 14 
 ĐỒ HỌA TRONG MATLAB 
 Marker: plot(X,Y,’o’) 
 Kí hiệu Ý nghĩa 
 Một số loại Marker: 
 Định giá trị màu 
 MarkerEdgeColor cho đường viền 
 Kí hiệu Ý nghĩa của Marker 
 + Dấu cộng Định giá trị màu 
 o Hình tròn MarkerFaceColor cho bề mặt của 
 Marker 
 * Dấu hoa thị 
 MarkerSize Định độ lớn cho 
 . Điểm 
 Marker 
 x Dấu chéo nhau 
 x = 0:pi/15:4*pi; y = exp(2*cos(x)); 
 s Hình vuông 
 plot(x,y,'r+') 
 d Hình thoi 
 8 
 ^ Tam giác trên 7 
 v Tam giác dưới 6 
 > Tam giác bên phải 5 
 4 
 < Tam giác bên trái 3 
 p Sao năm cạnh 2 
 h Sao sáu cạnh 1 
 00 2 4 6 8 10 12 14 
 ĐỒ HỌA TRONG MATLAB 
 Một số lệnh phụ trợ trong đồ họa 
 Lệnh Giá trị Mô tả 
grid on, off Bật hay tắt lưới vẽ 
hold on, off Giữ lại tất cả các đối 
 tượng vẽ 
axes Tạo hệ trục tọa độ 
axis [Xmin Xmax Ymin Ymax] Định giá trị giới hạn 
 cho các trục tọa độ 
Xlabel, Ylabel Chuỗi kí tự Ghi chú các trục tọa 
 độ 
Legend Chuỗi kí tự Ghi chú các dữ liệu 
Title Chuỗi kí tự Định tiêu đề cho hình 
 vẽ 
cla Xoá tất cả đối tượng 
 trên axes 
 ĐỒ HỌA TRONG MATLAB 
 Lệnh Line 
Cú pháp Mô tả 
line(X,Y) Vẽ đoạn thẳng đi qua các 
 điểm dữ liệu trong mặt 
 phẳng OXY 
line(X,Y,Z) Vẽ đoạn thẳng đi qua các 
 điểm dữ liệu trong mặt 
 phẳng OXYZ 
line(X,Y,Z,'PropertyName',PropertyValue,...) Định giá trị cho các thuộc 
 tính của đối tượng 
h = line(...) Trả về giá trị của biến quản 
 lý đối tượng 
 ĐỒ HỌA TRONG MATLAB 
Lệnh Line 
 clear all; clc; close all; 
 t = 0:pi/20:2*pi; 
 hline1 = plot(t,sin(t),'g','LineWidth',2); 
 hline2 = line(t+.6,sin(t),'LineWidth',4,'Color',[.5 .2 .2]); 
 set(gca,'Children',[hline1 hline2]) 
 1 
 0.8 
 0.6 
 0.4 
 0.2 
 0 
 -0.2 
 -0.4 
 -0.6 
 -0.8 
 -1 
 0 1 2 3 4 5 6 7 
 PHẦN II- LẬP 
TRÌNH TRONG 
 MATLAB 
 LẬP TRÌNH VỚI MATLAB 
 Lập trình với Matlab 
 Matlab cho phép lập trình theo hai hình thức: SCRIPTS và function 
 Là hình thức đơn giản nhất của M-file, nó không có 
 thông số vào và ra. Là tập hợp các lệnh và hàm của 
 Matlab. Tất cả các biến tạo ra trong Scripts đều có thể 
 sử dụng sau khi Scripts kết thúc. 
Scripts ----------------------------------------------------------------- 
 M-file: vidu.m 
 x= 0:0.01:2*pi; 
 y=sin(x); 
 plot(x,y) 
 Là Scripts tuy nhiên có thêm đối số vào (input 
 arguments) và đối số đầu ra (output argument). Tất cả 
 các biến hoạt động trong một Workspace riêng. Biến 
 function trong function chỉ là biến cục bộ. 
 ----------------------------------------------------------------- 
 M-file: doido.m 
 function rad = doido(do) 
 rad=do*pi/180; 
 MATLAB CĂN BẢN 
 8. Lập trình với Matlab 
 Hình thức khai báo hàm 
- Từ khoá function bắt buộc phải khai báo. 
- Thông số đầu ra: nếu có nhiều giá trị trả về, các thông số này được đặt trong 
dấu ‚[ ]‛. Nếu không có giá trị trả về ta có thể để trống hay để dấu []. 
- Tên hàm 
-Thông số đầu vào được khai báo trong dấu () 
- Biến toàn cục và địa phương 
Ví dụ1 : lập trình 1 hàm cộng , luu file cong.m de tinh 
tổng 2 số. 
function tong = cong(x,y) 
Tong = x+y; 
End. 
Vidu 2: Lập hàm tính tốn nhiều thơng số đầu ra tính 
cơng , tru ,nhan, chia cho 2 so x,y 
Function [a,b,c,d]= pheptoan(x,y); 
 MATLAB CĂN BẢN 
8. Cấu trúc điều kiện 
 Toán tử Ý nghĩa 
  Cấu trúc điều kiện: if 
 < Nhỏ hơn 
 <= Nhỏ hơn hoặc bằng 
 if (biểu thức logic) 
 nhóm lệnh > Lớn hơn 
 end >= Lớn hơn hoặc bằng 
 == Bằng nhau 
 ~= Không bằng 
 if (biểu thức logic) 
 nhóm lệnh 1 
 else 
 nhóm lệnh 2 
 end 
 MATLAB CĂN BẢN 
 8. Cấu trúc điều kiện 
 Cấu trúc điều kiện: ifend 
 if (biểu thức logic) 
 nhóm lệnh 1 
 elseif 
 nhóm lệnh 2 
 else 
 nhóm lệnh 3 
 end 
 Ví dụ: 
Tìm nghiệm phương trình bậc 2 nhập vào a,b,c. 
 %tim nghiem phuong trinh bac 2 
 % lap trinh th.s nguyen tan phuc 
 a=input('nhap a '); 
 b=input('nhap b '); 
 c=input('nhap c '); 
 delta=b^2-4*a*c; 
 if delta<0 
 disp(' vo nghiem '); 
 elseif delta ==0 
 disp(' nghiem '); 
 disp(-b/(2*a)); 
 else 
 disp(' nghiem 1 '); 
 disp((-b+sqrt(delta))/2); 
 disp(' nghiem 2 '); 
 disp((-b-sqrt(delta))/2); 
 end 
 MATLAB CĂN BẢN 
 8. Cấu trúc điều kiện 
  Cấu trúc điều kiện: switch  case 
 switch (biểu thức điều kiện) 
 case (giá trị 1 biểu thức) 
 nhóm lệnh 1 
 otherwise 
 nhóm lệnh 2 
 end 
Ví dụ: tạo một menu lựa chọn 
 chon = input(‘Nhap vao lua chon cua ban, chon= ’) 
 Switch chon 
 case 1 
 disp(‘ menu ve do thi ’); 
 case 2 
 disp(‘ menu noi suy da thuc ’); 
 otherwise 
 disp(‘thoat khoi chuong trinh ’); 
 end 
 MATLAB CĂN BẢN 
8. Cấu trúc lặp có điều kiện 
  Cấu trúc lặp có điều kiện: while 
 while (biểu thức điều kiện) 
 nhóm lệnh 
 end 
 Ví dụ: yêu cầu nhập vào giá trị cho biến x. 
 việc nhập chỉ kết thúc khi x có giá dương 
 a= input(‘Nhap vao gia tri a: ’) 
 while a<=0 
 disp(‘a lon hon khong ’); 
 a= input(‘Nhap vao gia tri a: ’) 
 end 
Tính tổng của chuỗi: 
 % tính tong chuoi tu o den n.. 
 n=input('nhap n '); 
 i=0; 
 tong=0; 
 while (i<=n) 
 tong=tong+1/(i^2+1); 
 i=i+1; 
 end 
 disp('tong '); 
 disp(tong); 
 MATLAB CĂN BẢN 
9. Cấu trúc lặp 
  Cấu trúc lặp: for 
 for biến = biểu thức 
 nhóm lệnh 
 end 
1.Viết chương trình nhập số n và tính tổng 
 từ 1 đến n. 
2. Viết chương trình nhập vào n số, in ra số 
lớn nhất, số bé nhất. 
LƯnh break : T¸c dơng ®iỊu khiĨn chương tr×nh nh¶y ra khái 
 vßng lỈp for.. hay while gÇn nã nhÊt. 
Continue: thực thi tiếp cac lệnh sau vong lặp. 
Biến tồn cục : global x,y,z..cĩ gi trị trong tất cả chương 
trinh. 
Lưu ý: các biến khai báo trong hàm chỉ cĩ giá trị cục bộ trong 
hàm .. 
PHẦN III- TẠO GIAO DIỆN TRONG 
 MATLAB 
 --------- 
 GUIDE IN MATLAB 
 1.MỞ PHẦN MỀM 
Mở phần mềm, gõ lệnh sau vào command>>guide 
Create New GUI: Tạo một hộp thoại GUI mới: 
 Blank GUI (Default): Hộp thoại GUI trống khơng cĩ điều khiển unicontrol 
 nào cả. 
 * GUI With Unicontol: Hộp thoại GUI với vài unicontrol như button,, 
 chương trình cĩ thể chạy ngay. 
 * GUI With Axes Menu: Hộp thoại với một unicontrol axse 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ở hộp thoại project cĩ sẵn 
 • Push Button: giống như nút command button trong VB. Là các nút 
 bấm như nút OK,Cancel,.. 
 Slider: Thanh trược cĩ một con trược chạy trên đĩ. 
 Radio Button: Nút nhỏ hình trịn để lựa chọn (Options) 
 Các nút điều khiển khác: 
 Check Box, Edit Text, Static Text, Pop-up Menu, List Box, Axes, Panel, 
 Button Group, AtiveX Control, Toggle Button. 
EDIT BOX 
 gán giá trị vào edit-box: 
 Set(handles.editbox,’string’, string ) 
Pop-up menu 
SLIDER 
AXES-FIGURE 
BASIC GUIDE 
MATLAB IN SERVO 
 CONTROLLERS 
MATLAB IN ROBOT 
 CONTROLLERS 
MATLAB IN ROBOT 
 CONTROLLERS 
The end. 

File đính kèm:

  • pdfbai_giang_matlab_ung_dung_thiet_ke_dieu_khien.pdf