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’.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
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
Ä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:
bai_giang_matlab_ung_dung_thiet_ke_dieu_khien.pdf

