SlideShare a Scribd company logo
1 of 32
Download to read offline
1 
MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI 
MATLAB/SIMULINK 
Mô hình hóa và mô phỏng thiết bị điện – dành 
cho sinh viên chuyên ngành TBĐ-ĐT 
Soạn bởi: 
Trần Vĩnh Thái 
B/m Thiết bị điện – điện tử 
ĐHBK Hà nội 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
2 
NỘI DUNG 
„ Vai trò của mô hình hóa và mô phỏng 
„ Mô hình toán và phương pháp số 
† Mô hình toán của hệ vật lý 
† Phương pháp số giải phương trình vi phân 
„ Công cụ MATLAB/Simulink 
† MATLAB 
† Simulink 
„ Phân tích, mô phỏng một số mô hình thiết bị điện với 
MATLAB/Simulink
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
3 
Yêu cầu với sinh viên 
„ Tham dự lớp đầy đủ 
„ Làm các bài tập về nhà 
„ Hoàn thành bài tập lớn 
„ Thi cuối học kỳ 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
4 
1. Vai trò của mô hình hóa và mô phỏng 
„ Mô hình – dạng biểu diễn đơn giản hóa của một hệ vật lý. Chương 
trình này giới hạn mô hình ở dạng thức mô tả toán học, mô hình toán. 
„ Mô hình hóa và mô phỏng – là kỹ thuật cho phép xây dựng mô hình 
của hệ vật lý và thực hiện thực nghiệm trên mô hình đó. Môn học này 
sử dụng công cụ MATLAB/Simulink để biểu diễn mô hình toán của hệ trên 
máy tính số và cho phép phân tích, nghiên cứu nó. 
„ Vai trò của mô hình hóa và mô phỏng 
† Được sử dụng khi hệ vật lý không tồn tại, tốn kém và/hoặc tốn thời gian 
xây dựng… 
† Cho phép quan sát quá trình, đáp ứng động của hệ thống thiết kế trước 
khi thực nghiệm trên thiết bị thực 
† Là công cụ hữu hiệu với chi phí thấp cho nghiên cứu, dễ sử dụng, dễ 
dàng thay đổi phương án…
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
5 
2. Mô hình toán và phương pháp số 
„ Phân loại mô hình toán 
† Mô hình tuyến tính, phi tuyến 
† Mô hình thông số tập trung, thông số rải 
† Mô hình tĩnh, động 
† Mô hình liên tục, gián đoạn 
† Mô hình xác định, bất định 
„ Trình tự xây dựng mô hình 
† Xác định mục tiêu và điều kiện của bài toán 
† Đặt giả thiết đơn giản hóa và loại bỏ các yếu tố không quan 
trọng 
† Xác định các tham số cho mô hình theo mục tiêu và điều kiện 
† Kiểm chứng mô hình về mức độ phù hợp với hệ thống vật lý 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
6 
2. Mô hình toán và phương pháp số 
„ Mô tả toán học thường gặp 
† Phương trình vi phân 
† Hàm truyền 
† Không gian trạng thái
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
7 
2. Mô hình toán và phương pháp số 
„ Phương trình vi phân 
– Thí dụ 1: Phân tích mạch điện trên hình vẽ. Nguồn DC 1 V, 
điều kiện đầu i(0) = 0 A, uc(0) = 0 V. Xác định quá trình quá 
độ của i(t), uc(t) khi đóng công tắc. 
wBTVN: Xây dựng mô hình toán động cơ DC kích thích độc lập. 
RC dv + LC d v 
+ = 2 
C C v V 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
8 
2. Mô hình toán và phương pháp số 
„ Hàm truyền 
† Định nghĩa: The transfer function of a linear, time-invariant, differential 
equation system is defined as the ratio of the Laplace transform of the 
output variable to the Laplace transform ofthe input variable, with all initial 
conditions assumed to be zero. 
„ Tiếp theo thí dụ 1 – mô tả bài toán ở dạng hàm truyền 
Ri + L di + = 
C s v V 
dt 
C s 
dt 
dt 
2 
Biểu thức: 
Y s V s 
( ) = ( ) 
C 
V s 
( ) 
S 
wBTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về dạng hàm truyền. 
Điều kiện: Mạch từ tuyến tính, kích thích không đổi.
2. Mô hình toán và phương pháp số 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
9 
„ Mô tả không gian trạng thái 
† Dạng thức 
„ Tiếp theo thí dụ 1 – mô tả bài toán ở dạng thức không gian trạng thái 
† Đặt 
† Từ đó tìm được ma trận A, B, C, D 
wBTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về mô hình không gian trạng thái. 
Điều kiện: Mạch từ tuyến tính, kích thích không đổi. 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
11 
2. Mô hình toán và phương pháp số 
„ Phương pháp số giải phương trình vi phân 
† Phương pháp Euler: 
Giải phương trình y’ = f(t,y) trong khoản [a,b], 
với y(a) = y(0) = y0: 
– Chia đoạn [a,b] thành n khoảng h đủ nhỏ 
– Giá trị của y tại y(k) được tính theo giá trị đã biết y(k-1) và 
hàm f(tk, yk) theo biểu thức: 
. ( , ) −1 −1 −1 = + k k k k y y h f t y với k = 1..n
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
12 
Thí dụ về ph.pháp Euler viết trong MATLAB 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
13 
Sai số của phương pháp Euler 
w Sai số tỉ lệ với h2.
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
14 
2. Mô hình toán và phương pháp số 
„ Các phương pháp số khác 
† Phương pháp Runge-Kutta bậc 2 – trong MATLAB là ODE23 
† Phương pháp Runge-Kutta bậc 4 – trong MATLAB là ODE45 
† Phương pháp chuỗi Taylor 
† Các phương pháp Predictor-Correctors 
† … 
wThí dụ ODE45: 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
15 
Thí dụ: Runge-Kutta Order 4
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
16 
3. MATLAB/Simulink 
„ Tại sao chọn MATLAB/Simulink? 
Đây là một công cụ: 
† Mạnh cho việc thực hiện mô phỏng các mô hình toán 
† Dễ học, dễ sử dụng Æ tốn ít thời gian đầu tư cho công cụ 
„ Các công cụ khác 
† Dymola với ngôn ngữ Modelica 
† 20-Sim với phương pháp Bond Graph 
† Maple, Mathematica, ACSL, Saber, Dynast… 
„ Tài liệu tham khảo 
† MATLAB/Simulink dành cho kỹ sư điều khiển tự động – Nguyễn 
Phùng Quang 
† … 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
17 
MATLAB 
„ Môi trường MATLAB, demo và help 
„ Tạo biến trong MATLAB 
„ Thao tác với ma trận, toán tử logic và các hàm toán học 
„ Công cụ hiển thị 
„ M-file 
„ Viết chương trình trong MATLAB 
„ Lưu biến và buổi làm việc; thư mục và đường dẫn 
„ GUI 
„ Giải hệ phương trình vi phân với MATLAB 
„ …
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
18 
Môi trường MATLAB 
To get started, select "MATLAB Help" from the Help menu. 
Tạo biến trong môi trường MATLAB 
MATLAB – máy tính tay Gán các biến trong MATLAB 
» a = 2; 
» b = 5; 
» a^b 
ans = 
32 
» x = 5/2*pi; 
» y = sin(x) 
y = 
1 
» z = asin(y) 
z = 
1.5708 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
Tác dụng của dấu 
“;” 
19 
» a = 2; 
» b = 5; 
» a^b 
ans = 
32 
» x = 5/2*pi; 
» y = sin(x) 
y = 
1 
» z = asin(y) 
z = 
1.5708 
Kết quả được 
gán cho “ans” 
nếu không đặt 
tên biến 
Dấu () để truy cập 
hàm 
» -5/(4.8+5.32)^2 
ans = 
» -5/(4.8+5.32)^2 
ans = 
-0.0488 
-0.0488 
» (3+4i)*(3-4i) 
ans = 
» (3+4i)*(3-4i) 
ans = 
25 
25 
» cos(pi/2) 
ans = 
» cos(pi/2) 
ans = 
6.1230e-017 
» exp(acos(0.3)) 
ans = 
6.1230e-017 
» exp(acos(0.3)) 
ans = 
3.5470 
3.5470
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
20 
Một số lệnh tiện ích 
„ Các lệnh tiện ích 
† who và whos – liệt kê các biến 
† clear, clear x, clear all – xóa biến 
† close – xóa cửa sổ đồ họa hiện hành 
† cd – đổi thư mục hiện hành 
† dir – liệt kê nội dung thư mục hiện hành 
† format – đặt định dạng biến lưu trong môi trường 
† help “tên hàm” – tra cứu nhanh 
† clc – xóa màn hình lệnh 
† … 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
21 
Thao tác với ma trận 
„ 3 khái niệm trong đại số tuyến tính 
† Vô hướng – là một số hay một từ (có giá trị đơn nhất) 
† Véc-tơ – là mảng 1-D chứa một dãy các vô hướng, biến hoặc 
biểu thức 
† Ma trận – là mảng n-D chứa các vô hướng, biến hoặc biểu thức 
„ Trong MATLAB 
† Vô hướng – là ma trận 1x1 
† Véc-tơ – là ma trận 1xn hoặc nx1 
† Ma trận nxm
» a=[1 2;3 4] 
a = 
1 2 
3 4 
» b=[-2.8, sqrt(-7), (3+5+6)*3/4] 
b = 
-2.8000 0 + 2.6458i 10.5000 
» b(2,5) = 23 
b = 
-2.8000 0 + 2.6458i 10.5000 0 0 
0 0 0 0 23.0000 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
22 
Thao tác với ma trận 
» a=[1 2;3 4] 
a = 
1 2 
3 4 
» b=[-2.8, sqrt(-7), (3+5+6)*3/4] 
b = 
-2.8000 0 + 2.6458i 10.5000 
» b(2,5) = 23 
b = 
-2.8000 0 + 2.6458i 10.5000 0 0 
0 0 0 0 23.0000 
Tách dòng với 
dấu (;) 
Tách cột với dấu 
trống / phảy (,) 
Dùng dấu 
ngoặc [ ] 
A = A (2,4) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
23 
Thao tác với ma trận 
4 10 1 6 2 
8 1.2 9 4 25 
7.2 5 7 1 11 
0 0.5 4 5 56 
23 83 13 0 10 
1 
2 
Dòng (m) 3 
4 
5 
Cột 
(n) 
1 2 3 4 5 
1 6 11 16 21 
2 7 12 17 22 
3 8 13 18 23 
4 9 14 19 24 
5 10 15 20 25 
A (17) 
Ma trận: 
Vô hướng: 1-by-1 array 
Véc tơ: m-by-1 array 
1-by-n array 
Ma trận: m-by-n array
» w=[1 2;3 4] + 5 
w = 
6 7 
8 9 
» x = 1:5 
x = 
1 2 3 4 5 
» y = 2:-0.5:0 
y = 
2.0000 1.5000 1.0000 0.5000 0 
» z = rand(2,4) 
z = 
0.9501 0.6068 0.8913 0.4565 
0.2311 0.4860 0.7621 0.0185 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
24 
Thao tác với ma trận 
» w=[1 2;3 4] + 5 
w = 
6 7 
8 9 
» x = 1:5 
x = 
1 2 3 4 5 
» y = 2:-0.5:0 
y = 
2.0000 1.5000 1.0000 0.5000 0 
» z = rand(2,4) 
z = 
0.9501 0.6068 0.8913 0.4565 
0.2311 0.4860 0.7621 0.0185 
Cộng vô hướng 
Tạo dãy trình tự: 
dùng dấu (:) 
Các hàm tiện ích tạo 
ma trận 
» A=[1 5 9;4 3 2.5; 0.1 10 3i+1] 
A = 
1.0000 5.0000 9.0000 
4.0000 3.0000 2.5000 
0.1000 10.0000 1.0000+3.0000i 
1.0000 9.0000 
4.0000 2.5000 
0.1000 1.0000 + 3.0000i 
» A(2,2)=[] 
??? Indexed empty matrix assignment is not allowed. 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
25 
Thao tác với ma trận 
„ Xóa dòng, cột của ma trận 
» A=[1 5 9;4 3 2.5; 0.1 10 3i+1] 
A = 
1.0000 5.0000 9.0000 
4.0000 3.0000 2.5000 
0.1000 10.0000 1.0000+3.0000i 
» A(:,2)=[] 
A = 
» A(:,2)=[] 
A = 
1.0000 9.0000 
4.0000 2.5000 
0.1000 1.0000 + 3.0000i 
» A(2,2)=[] 
??? Indexed empty matrix assignment is not allowed.
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
A(1:end,end) 
A(:,end) 
A(21:end)’ 
26 
Thao tác với ma trận 
„ Truy cập các thành phần trong ma trận 
4 10 1 6 2 
8 1.2 9 4 25 
7.2 5 7 1 11 
0 0.5 4 5 56 
23 83 13 0 10 
1 
2 
3 
4 
5 
1 2 3 4 5 
1 6 11 16 21 
2 7 12 17 22 
3 8 13 18 23 
4 9 14 19 24 
5 10 15 20 25 
A = 
A(3,1) 
A(3) 
A(1:5,5) 
A(:,5) 
A(21:25) 
A(4:5,2:3) 
A([9 14;10 15]) 
» a = [1 2 3 4; 5 6 7 8]; 
» b = ones(4,3); 
» c = a*b 
c = 
10 10 10 
26 26 26 
» a = [1 2 3 4; 5 6 7 8]; 
» b = [1:4; 1:4]; 
» c = a.*b 
c = 
1 4 9 16 
5 12 21 32 c(2,4) = a(2,4)*b(2,4) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
27 
Thao tác với ma trận 
„ Nhân chia ma trận 
» a = [1 2 3 4; 5 6 7 8]; 
» b = ones(4,3); 
» c = a*b 
c = 
10 10 10 
26 26 26 
[2x4] 
[4x3] 
[2x4]*[4x3] [2x3] 
a(2nd row).b(3rd column) 
» a = [1 2 3 4; 5 6 7 8]; 
» b = [1:4; 1:4]; 
» c = a.*b 
c = 
1 4 9 16 
5 12 21 32
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
28 
Thao tác với ma trận 
„ Các hàm tiện ích 
† zeros – tạo ma trận rỗng 
† ones – tạo ma trận 1 
† eye – tạo ma trận đơn vị 
† rand – tạo ma trận các phần tử ngẫu nhiên 
† diag – tạo ma trận đường chéo 
† size – hàm trả về kích thước của ma trận 
† fliplr – đảo cột ma trận trái phải 
† flipud – đảo hàng ma trận trên dưới 
† rot90 – xoay ma trận 90 độ (ngược chiều kim đồng hồ) 
† transpose (‘) – chuyển vị ma trận 
† cross & dot – nhân ma trận 
† det – định thức ma trận 
† inv – nghich đảo ma trận 
† rank – hạng ma trận… 
⎤ 
⎥ ⎥ ⎥ 
⎦ 
⎡ 
⎢ ⎢ ⎢ 
⎣ 
1 0 0 
0 1 0 
0 0 1 
⎤ 
⎥ ⎥ ⎥ 
⎦ 
⎡ 
⎢ ⎢ ⎢ 
⎣ 
1 0 0 
0 2 0 
0 0 3 
» Mass = [-2 10 NaN 30 -11 Inf 31]; 
» each_pos = Mass>=0 
each_pos = 
0 1 0 1 0 1 1 
» all_pos = all(Mass>=0) 
all_pos = 
0 
» all_pos = any(Mass>=0) 
all_pos = 
1 
» pos_fin = (Mass>=0)&(isfinite(Mass)) 
pos_fin = 
0 1 0 1 0 0 1 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
29 
Các toán tử logic 
» Mass = [-2 10 NaN 30 -11 Inf 31]; 
» each_pos = Mass>=0 
each_pos = 
0 1 0 1 0 1 1 
» all_pos = all(Mass>=0) 
all_pos = 
0 
» all_pos = any(Mass>=0) 
all_pos = 
1 
» pos_fin = (Mass>=0)&(isfinite(Mass)) 
pos_fin = 
0 1 0 1 0 0 1 
= = equal to 
> greater than 
< less than 
>= Greater or equal 
<= less or equal 
~ not 
& and 
| or 
isfinite(), etc. . . . 
all(), any() 
find 
1 = TRUE 
0 = FALSE 
w Lưu ý:
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
30 
Một số hàm toán học 
„ Các hàm toán học 
† abs, sign – hàm trả về trị tuyệt đối và dấu 
† sin, cos, asin, acos… – hàm lượng giác 
† exp, log, log10 – hàm mũ e, log tự nhiên, log hệ 10 
† ceil, floor, fix, round – các hàm làm tròn số 
† sqrt – hàm căn bậc hai 
† gcd – ước số chung lớn nhất 
† lcm – bội số chung nhỏ nhất 
† real, img – hàm trả về phần thực, phần ảo của số phức 
† rem, mod – các hàm lấy phần nguyên và phần dư của phép chia 
† max, min, means – các hàm tìm max, min và trị trung bình 
† sort – hàm sắp xếp 
† … 
plot(plot(xx11,, yy11,, ''ccllmm11'',, xx22,, yy22,, ''ccllmm22'',, ......)) 
x=[0:0.1:2*pi]; 
y=sin(x); 
z=cos(x); 
plot(x,y,x,z,'linewidth',2) 
title('Sample Plot','fontsize',14); 
xlabel('X values','fontsize',14); 
ylabel('Y values','fontsize',14); 
legend('Y data','Z data') 
grid on 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
31 
Công cụ hiển thị - Visualizing data 
„ 2-D Plotting 
† Hàm plot() – cú pháp 
† Thí dụ sử dụng hàm plot() 
x=[0:0.1:2*pi]; 
y=sin(x); 
z=cos(x); 
plot(x,y,x,z,'linewidth',2) 
title('Sample Plot','fontsize',14); 
xlabel('X values','fontsize',14); 
ylabel('Y values','fontsize',14); 
legend('Y data','Z data') 
grid on
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
32 
Công cụ hiển thị - Visualizing data 
Title 
Ylabel 
Xlabel 
Grid 
Legend 
w Sử dụng TEX cho 
phép hiển thị ký tự Hy 
Lạp, các ký tự toán 
học… 
ssuubbpplloott((rroowwss,,ccoollss,,iinnddeexx)) 
»subplot(2,2,1); 
» … 
»subplot(2,2,2) 
» ... 
»subplot(2,2,3) 
» ... 
»subplot(2,2,4) 
» ... 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
33 
Công cụ hiển thị - Visualizing data 
„ subplot 
† Cú pháp 
»subplot(2,2,1); 
» … 
»subplot(2,2,2) 
» ... 
»subplot(2,2,3) 
» ... 
»subplot(2,2,4) 
» ... 
w Vẽ nhiều đồ 
thị trên cùng cửa 
sổ
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
34 
Công cụ hiển thị - Visualizing data 
„ 3-D plotting 
x = 0:0.1:2; 
y = 0:0.1:2; 
[xx, yy] = meshgrid(x,y); 
zz=sin(xx.^2+yy.^2); 
surf(xx,yy,zz) 
xlabel('X axes') 
ylabel('Y axes') 
x = 0:0.1:2; 
y = 0:0.1:2; 
[xx, yy] = meshgrid(x,y); 
zz=sin(xx.^2+yy.^2); 
surf(xx,yy,zz) 
xlabel('X axes') 
ylabel('Y axes') 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
35 
Công cụ hiển thị - Visualizing data 
„ Các dạng vẽ contour và 3-D 
w contourf 
w contour3 
w plot3 
w waterfall 
w mesh 
w surf
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
36 
Công cụ hiển thị - Visualizing data 
„ Một số thí dụ hiển thị khác 
w bar 
w bar3h 
w hist 
w area 
w pie3 
w rose 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
37 
M-files 
„ Script files 
† Là một tập lệnh lưu trong tệp tin m-file (tệp tin có đuôi .m). Tiện 
lợi hơn việc phải gõ từng lệnh vào dấu nhắc MATLAB (>>). 
† Các biến tạo ra khi chạy m-file được lưu trữ trong Workspace của 
MATLAB 
„ Function files 
† Cho phép người dùng tạo hàm riêng của mình 
† Tất cả các biến bên trong hàm có tính chất local (Muốn biến có tính 
chất global, phải dùng từ khóa global khi khai báo biến) 
† Thông tin đưa vào hàm dưới dạng thông số 
† MATLAB hỗ trợ nhiều tính năng cho hàm Æ xem thêm help 
function
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
38 
M-files 
„ Cửa sổ soạn thảo M-file: Editor/Debugger 
Select 
Workspace 
Set Auto- 
Breakpoints 
tips 
Tên hàm (phải trùng với tên file) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
39 
M-files 
„ Function file 
Tham số ra 
function y = mean (x) 
% MEAN Average or mean value. 
% For vectors, MEAN(x) returns the mean 
value. 
% For matrices, MEAN(x) is a row vector 
% containing the mean value of each column. 
[m,n] = size(x); 
if m == 1 
m = n; 
end 
y = sum(x)/m; 
Tham số vào 
Các dòng này sẽ 
xuất hiện khi gõ 
lệnh help mean 
Nội dung hàm
if ((attendance >= 0.90) & (grade_average >= 60)) 
if ((attendance >= 0.90) & (grade_average >= 60)) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
40 
Viết chương trình trong MATLAB 
„ Các điều khiển chương trình 
† Lệnh điều kiện if 
pass = 1; 
pass = 1; 
end; 
end; 
† Vòng lặp while 
eps = 1; 
while (1+eps) > 1 
eps = 1; 
while (1+eps) > 1 
eps = eps/2; 
eps = eps/2; 
end 
eps = eps*2 
end 
eps = eps*2 
a = zeros(k,k) % Preallocate matrix 
for m = 1:k 
a = zeros(k,k) % Preallocate matrix 
for m = 1:k 
for n = 1:k 
a(m,n) = 1/(m+n -1); 
a(m,n) = 1/(m+n -1); 
case {'linear','bilinear'} 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
41 
Viết chương trình trong MATLAB 
† Vòng lặp for 
for n = 1:k 
end 
end 
end 
end 
† Lệnh điều kiện switch 
method = 'Bilinear'; 
switch lower(method) 
method = 'Bilinear'; 
switch lower(method) 
case {'linear','bilinear'} 
disp('Method is linear') 
case 'cubic' 
disp('Method is cubic') 
otherwise 
disp('Unknown method.') 
end 
disp('Method is linear') 
case 'cubic' 
disp('Method is cubic') 
otherwise 
disp('Unknown method.') 
end
0 0 0 0 
0 0 0 0 
0 0 0 0 
0 0 0 0 
16 2 3 13 
5 11 10 8 
9 7 6 12 
4 14 15 1 
1 1 1 1 
1 2 3 4 
1 3 6 10 
1 4 10 20 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
42 
Viết chương trình trong MATLAB 
„ Kiểu dữ liệu 
† Numerical arrays 
† Multidimentional arrays 
† Structures and Cell arrays 
1 0 0 0 
0 1 0 0 
0 0 1 0 
0 0 0 1 
Page N 
Page 1 
load fname 
load fname x y z 
load fname -ascii 
load fname -mat 
save fname 
save fname x y z 
save fname -ascii 
save fname -mat 
diary 
diary fname 
diary (‘fname’) 
diary on/off 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
43 
Lưu biến và buổi làm việc 
„ Lưu các biến trong Workspace 
† Dùng lệnh save và load 
„ Lưu buổi làm việc 
† Dùng lệnh diary 
load fname 
load fname x y z 
load fname -ascii 
load fname -mat 
save fname 
save fname x y z 
save fname -ascii 
save fname -mat 
diary 
diary fname 
diary (‘fname’) 
diary on/off
» fid= fopen('mydata.bin' , 'wb'); 
» fwrite (fid,eye(5) , 'int32'); 
» fclose (fid); 
» fid= fopen('mydata.bin' , 'rb'); 
» M= fread(fid, [5 5], 'int32') 
» fclose (fid); 
» fid= fopen('mydata.bin' , 'wb'); 
» fwrite (fid,eye(5) , 'int32'); 
» fclose (fid); 
» fid= fopen('mydata.bin' , 'rb'); 
» M= fread(fid, [5 5], 'int32') 
» fclose (fid); 
»»[[AA11……AAnn]]==tteexxttrreeaadd((ffiilleennaammee,,ffoorrmmaatt,,NN)) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
44 
Xuất/nhập dữ liệu 
„ Cho tệp tin BINARY 
† Lệnh fopen, fclose, fread, fwrite, fseek: 
„ Cho tệp tin TEXT 
† Lệnh textread 
† Lệnh dlmread 
»» MM == ddllmmrreeaadd((ffiilleennaammee,,ddeelliimmiitteerr,,rraannggee)) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
45 
GUI 
„ Graphics objects 
Root 
object 
UIMenu 
objects Axes object 
Figure 
object 
Surface 
object 
Line 
objects 
Text 
objects 
UIControl 
objects 
Axes object
handle = plot(x_data, y_data, ...) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
46 
GUI 
„ Làm việc với object’s handle 
† Tạo cùng với lệnh 
† Các hàm tiện ích 
– 0 – root object handle 
– gcf – get current figure handle 
– gca – get current axis handle 
– gco – get current object handle 
† Hàm findobj 
h_obj = findobj(h_parent, 'Property', 'Value', ...) 
Default = 0 (root object) 
set(h_object,'PropertyName','New_Value',...) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
47 
GUI 
„ Thay đổi thuộc tính đối tượng 
† Lấy thuộc tính của đối tượng với hàm get 
get(h_object) 
† Đặt thuộc tính cho đối tượng với hàm set 
set(h_object) 
† Thay đổi thuộc tính đối tượng với Property Editor
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
48 
GUIDE 
Radio Buttons Push Buttons 
Frames 
Checkbox Slider 
Edit text 
static text 
Axes 
w MATLAB 
hỗ trợ việc 
tạo giao diện 
người dùng. 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
49 
GUIDE 
„ Tạo giao diện với GUIDE 
Guide Editor 
Property Inspector 
Result Figure
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
50 
GUIDE 
„ Làm việc với m-file 
„ Thí dụ tạo GUI và lập trình với m-file 
... 
handles.a = get(handles.slider_a,'Value'); 
set(handles.text_a,'String',... 
num2str(handles.a)); 
% Update handles structure 
guidata(hObject, handles); 
... 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
51 
Giải phương trình vi phân trong MATLAB 
„ Dùng hàm ODE23 và ODE45 
„ Trở lại thí dụ 1: 
„ Chuyển về dạng phương trình trạng thái
x 
& 
1 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
52 
Giải phương trình vi phân trong MATLAB 
„ Các bước giải phương trình vi phân trong thí dụ 1: 
† 1. Tạo hàm trạng thái elecsys() 
2 
C 
x 
1 2 
2 
V x R.x 
x 
− − 
= 
& 
Khai báo 
thông số 
mạch 
Khai báo phương 
trình trạng thái 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
53 
Giải phương trình vi phân trong MATLAB 
„ Các bước giải phương trình vi phân trong thí dụ 1: 
† 2. Giải phương trình dùng hàm ODE23() 
Gọi hàm ode23() 
giải phương trình 
vi phân khai báo 
trong elecsys 
wBTVN: Mô phỏng quá trình quá độ của động cơ DC kích thích độc lập trong MATLAB.
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
54 
Simulink 
„ Getting started 
w Commonly Used Blocks 
w Continuous 
w Discontinuous 
w Discrete 
w Logic and Bit Operations 
w Lookup Tables 
w Math Operations 
w Model Verification 
w Model-Wide Utilities 
w Ports and Subsystems 
w Signal Attributes 
w Signal Routing 
w Sinks 
w Sources 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
55 
Simulink 
„ Trình tự xây dựng mô hình (block-diagram) trong Simulink 
† Lập mô hình toán của hệ thống ở dạng phương trình vi phân, 
hàm truyền, hoặc không gian trạng thái (liên tục hoặc gián đoạn) 
† Xác định dạng đầu vào, đầu ra 
† Sử dụng Simulink Library Browser để chọn các biểu tượng tương 
ứng với các thông số cần thiết cho mô hình 
† Chọn thời gian chạy mô phỏng và chọn solver cho mô hình 
„ Thí dụ 1 xây dựng trong Simulink 
V 
x' = Ax+Bu 
y = Cx+Du 
State-Space Scope
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
56 
Simulink 
„ SimulationConfiguration Parameters 
Solver: 
ODE23 – fast, wide tolerance 
ODE45 – first choice 
ODE123 – multi-step, tight tolerance, time consumming 
ODE15s – multi-step, stiff 
… 
Solver options: 
Type: – variable-step or fixed-step 
Max step size: … 
Min step size: … 
… 
[t, x, y] = sim(model, timespan, option, ut) 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
57 
Simulink 
„ Một số tiện ích – trình bày online 
† Tạo sub-model 
† Sử dụng callback của model và sub-model 
† Chạy mô phỏng từ dấu nhắc MATLAB 
† Dùng chức năng mask cho sub-model 
† Sub-model có điều kiện 
– Thí dụ với if, enable…
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
58 
Simulink 
„ Bài tập 1: giải phương trình 
„ Bài tập 2: giải mạch RLC 
„ Bài tập 3: mô phỏng động cơ DC kích thích độc lập 
3. Phân tích, mô phỏng TBĐ với Simulink 
„ Bài tập 4: Mô phỏng từ trường quay trong máy điện xoay chiều 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
59 
Mach tu may dien xoay chieu - day quan 2 lop 
Tran Vinh Thai 
DHBK Hanoi 9/2006. 
1 
A 
A 
2 
A 
Z 
3 
Z 
Z 
4 
Z 
B 
5 
B 
B 
6 
B 
X 
7 
X 
X 
8 
X 
C 
9 
C 
C 
10 
C 
Y 
11 
Y 
Y 
12 
Y 
A 
13 
A 
A 
14 
A 
Z 
15 
Z 
Z 
16 
Z 
B 
17 
B 
B 
18 
B 
X 
19 
X 
X 
20 
X 
C 
21 
C 
C 
22 
C 
Y 
23 
Y 
Y 
24 
Y 
A 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
5 
0 
-5 
STD day quan pha A 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
5 
0 
-5 
STD day quan pha B 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
5 
0 
-5 
STD day quan pha C 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
5 
0 
-5 
STD quay day quan may dien xoay chieu
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
60 
3. Phân tích, mô phỏng TBĐ với Simulink 
„ Bài tập 4: Mô phỏng từ trường quay trong máy điện xoay chiều 
Control of DC motor 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
61 
3. Phân tích, mô phỏng TBĐ với Simulink 
„ Bài tập 5: Mô phỏng hệ điều khiển động cơ điện một chiều 
u_A 
u_R 
Armature Current 
Speed (radian) 
voltage UA1 
voltage UA 
Urout 
Tout 
iAout 
nout 
u_CW 
Switch 
ASS 
Speed 
Sensor 
-K-Speed 
Converter 
u_SW 
(-) u_SR 
Speed 
Controller 
Reference 
Voltage 
Load Torque 
Inverse 
Load Torque 
u_A 
T_L 
i_A 
Omega 
DC Motor 
ACS 
Current 
Sensor 
u_CW 
(-) u_CR 
u_R 
Current 
Controller 
AR 
TR.s+1 
Controlled Rectifier 
Clock 
Armature Current 
and Speed
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
62 
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
63
ĐHBK Hànội 
B/m Thiết bị điện – điện tử 
64

More Related Content

What's hot

Thuchanh Ktdk-matlab
Thuchanh Ktdk-matlabThuchanh Ktdk-matlab
Thuchanh Ktdk-matlabmark
 
Tailieu.vncty.com 06 matlab-osadq3_j2qu_20130412090644_577
Tailieu.vncty.com   06 matlab-osadq3_j2qu_20130412090644_577Tailieu.vncty.com   06 matlab-osadq3_j2qu_20130412090644_577
Tailieu.vncty.com 06 matlab-osadq3_j2qu_20130412090644_577Trần Đức Anh
 
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]Vinh Phan
 
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Muoivy Wm
 
Lttt matlab chuong 1
Lttt matlab chuong 1Lttt matlab chuong 1
Lttt matlab chuong 1Hoa Cỏ May
 
4 matlab ly-thuyet_dohoa_
4 matlab ly-thuyet_dohoa_4 matlab ly-thuyet_dohoa_
4 matlab ly-thuyet_dohoa_Phi Phi
 
Đồ Thị Matlab
Đồ Thị Matlab Đồ Thị Matlab
Đồ Thị Matlab JoneCole
 
Các lệnh-cơ-bản-của-giải-tích-1
Các lệnh-cơ-bản-của-giải-tích-1Các lệnh-cơ-bản-của-giải-tích-1
Các lệnh-cơ-bản-của-giải-tích-1thaicuia
 
Lttt matlab chuong 3
Lttt matlab chuong 3Lttt matlab chuong 3
Lttt matlab chuong 3Hoa Cỏ May
 
Nhom lenh co ban
Nhom lenh co banNhom lenh co ban
Nhom lenh co banVũ Tích
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlabPhạmThế Anh
 
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dong
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dongKhao sat-ung-dung-matlab-trong-dieu-khien-tu-dong
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dongKhoa Pham
 
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202Tran Anh
 
Tài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtTài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtPham Hoang
 
Lttt matlab chuong 5
Lttt matlab chuong 5Lttt matlab chuong 5
Lttt matlab chuong 5Hoa Cỏ May
 
Lttt matlab chuong 2
Lttt matlab chuong 2Lttt matlab chuong 2
Lttt matlab chuong 2Hoa Cỏ May
 
Images compression using huffman algorithm matlab
Images compression using huffman algorithm matlabImages compression using huffman algorithm matlab
Images compression using huffman algorithm matlabTan Hoang Luu
 

What's hot (19)

Thuchanh Ktdk-matlab
Thuchanh Ktdk-matlabThuchanh Ktdk-matlab
Thuchanh Ktdk-matlab
 
Tailieu.vncty.com 06 matlab-osadq3_j2qu_20130412090644_577
Tailieu.vncty.com   06 matlab-osadq3_j2qu_20130412090644_577Tailieu.vncty.com   06 matlab-osadq3_j2qu_20130412090644_577
Tailieu.vncty.com 06 matlab-osadq3_j2qu_20130412090644_577
 
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
 
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
 
Lttt matlab chuong 1
Lttt matlab chuong 1Lttt matlab chuong 1
Lttt matlab chuong 1
 
4 matlab ly-thuyet_dohoa_
4 matlab ly-thuyet_dohoa_4 matlab ly-thuyet_dohoa_
4 matlab ly-thuyet_dohoa_
 
Matlab intro
Matlab introMatlab intro
Matlab intro
 
Đồ Thị Matlab
Đồ Thị Matlab Đồ Thị Matlab
Đồ Thị Matlab
 
Các lệnh-cơ-bản-của-giải-tích-1
Các lệnh-cơ-bản-của-giải-tích-1Các lệnh-cơ-bản-của-giải-tích-1
Các lệnh-cơ-bản-của-giải-tích-1
 
Lttt matlab bt1
Lttt matlab bt1Lttt matlab bt1
Lttt matlab bt1
 
Lttt matlab chuong 3
Lttt matlab chuong 3Lttt matlab chuong 3
Lttt matlab chuong 3
 
Nhom lenh co ban
Nhom lenh co banNhom lenh co ban
Nhom lenh co ban
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlab
 
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dong
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dongKhao sat-ung-dung-matlab-trong-dieu-khien-tu-dong
Khao sat-ung-dung-matlab-trong-dieu-khien-tu-dong
 
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202
B%c3%a1o%20c%c3%a1o%20gi%e1%ba%a3i%20t%c3%a dch%202
 
Tài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtTài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuật
 
Lttt matlab chuong 5
Lttt matlab chuong 5Lttt matlab chuong 5
Lttt matlab chuong 5
 
Lttt matlab chuong 2
Lttt matlab chuong 2Lttt matlab chuong 2
Lttt matlab chuong 2
 
Images compression using huffman algorithm matlab
Images compression using huffman algorithm matlabImages compression using huffman algorithm matlab
Images compression using huffman algorithm matlab
 

Viewers also liked

Cach su dung matlab
Cach su dung matlabCach su dung matlab
Cach su dung matlabHoa Luc Binh
 
Cơ lượng tử tiểu luận2
Cơ lượng tử  tiểu luận2Cơ lượng tử  tiểu luận2
Cơ lượng tử tiểu luận2Linh Tinh Trần
 
Truyen song anten thay ngo lam
Truyen song anten thay ngo lamTruyen song anten thay ngo lam
Truyen song anten thay ngo lamhoangclick
 
Xử lí tín hiệu số
Xử lí tín hiệu số Xử lí tín hiệu số
Xử lí tín hiệu số Tran An
 
Tìm hiểu về anten loa
Tìm hiểu về anten loaTìm hiểu về anten loa
Tìm hiểu về anten loaTuấn Trần
 
Truyen song va anten
Truyen song va antenTruyen song va anten
Truyen song va antenQuý Ngọc
 
Tích phân
Tích phân Tích phân
Tích phân roggerbob
 
Xu ly anh
Xu ly anhXu ly anh
Xu ly anhChu Lam
 
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER PHƯƠNG TRÌNH SÓNG SCHRÖDINGER
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER www. mientayvn.com
 
Chuyên đề Toán Tích phân - Megabook.vn
Chuyên đề Toán Tích phân - Megabook.vnChuyên đề Toán Tích phân - Megabook.vn
Chuyên đề Toán Tích phân - Megabook.vnMegabook
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Sốviethung094
 
Chuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phoChuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phothanhyu
 
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũ
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũXử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũ
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũPhan Khanh Toan
 

Viewers also liked (18)

Cach su dung matlab
Cach su dung matlabCach su dung matlab
Cach su dung matlab
 
Cach su dung matlab
Cach su dung matlabCach su dung matlab
Cach su dung matlab
 
Cơ lượng tử tiểu luận2
Cơ lượng tử  tiểu luận2Cơ lượng tử  tiểu luận2
Cơ lượng tử tiểu luận2
 
Truyen song anten thay ngo lam
Truyen song anten thay ngo lamTruyen song anten thay ngo lam
Truyen song anten thay ngo lam
 
Xử lí tín hiệu số
Xử lí tín hiệu số Xử lí tín hiệu số
Xử lí tín hiệu số
 
Tìm hiểu về anten loa
Tìm hiểu về anten loaTìm hiểu về anten loa
Tìm hiểu về anten loa
 
Vật lý lượng tử
Vật lý lượng tử Vật lý lượng tử
Vật lý lượng tử
 
Thi nghiem xlths
Thi nghiem xlthsThi nghiem xlths
Thi nghiem xlths
 
Truyen song va anten
Truyen song va antenTruyen song va anten
Truyen song va anten
 
Tích phân
Tích phân Tích phân
Tích phân
 
Xu ly anh
Xu ly anhXu ly anh
Xu ly anh
 
Kythuatanten
KythuatantenKythuatanten
Kythuatanten
 
Trường điện từ
Trường điện từTrường điện từ
Trường điện từ
 
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER PHƯƠNG TRÌNH SÓNG SCHRÖDINGER
PHƯƠNG TRÌNH SÓNG SCHRÖDINGER
 
Chuyên đề Toán Tích phân - Megabook.vn
Chuyên đề Toán Tích phân - Megabook.vnChuyên đề Toán Tích phân - Megabook.vn
Chuyên đề Toán Tích phân - Megabook.vn
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
 
Chuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phoChuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va pho
 
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũ
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũXử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũ
Xử lý ảnh theo phương pháp âm bản, nhị phân, hàm số mũ
 

Similar to Matlab cho sv_tbd-dt_8-2007

On thi thpt toan 2014 2015
On thi thpt toan 2014 2015On thi thpt toan 2014 2015
On thi thpt toan 2014 2015baoanh79
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBrand Xanh
 
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 1 MA TRẬN TỔNG DẪN
GIAI TICH HE THONG DIEN NANG CAO -  CHƯƠNG 1 MA TRẬN TỔNG DẪNGIAI TICH HE THONG DIEN NANG CAO -  CHƯƠNG 1 MA TRẬN TỔNG DẪN
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 1 MA TRẬN TỔNG DẪNĐinh Công Thiện Taydo University
 
Điều khiển điện tử công suất DCDC bộ BUCK.pdf
Điều khiển điện tử công suất DCDC bộ BUCK.pdfĐiều khiển điện tử công suất DCDC bộ BUCK.pdf
Điều khiển điện tử công suất DCDC bộ BUCK.pdfNguynCnh45
 
Bài giảng về máy điện
Bài giảng về máy điệnBài giảng về máy điện
Bài giảng về máy điệnactech trung tam
 
Toan pt.de018.2010
Toan pt.de018.2010Toan pt.de018.2010
Toan pt.de018.2010BẢO Hí
 
ACTIVE_Rectifier_SVM (2).pptx
ACTIVE_Rectifier_SVM (2).pptxACTIVE_Rectifier_SVM (2).pptx
ACTIVE_Rectifier_SVM (2).pptxHauvu14
 
Dien tu so dhbk ha noi
Dien tu so   dhbk ha noiDien tu so   dhbk ha noi
Dien tu so dhbk ha noiHung Mobi QL
 
Tai lieu thi nghiem
Tai lieu thi nghiemTai lieu thi nghiem
Tai lieu thi nghiem98a14567
 
[Thi247.com] giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...
[Thi247.com]   giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...[Thi247.com]   giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...
[Thi247.com] giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...thanhky30
 
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpXây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpnataliej4
 
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaThiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaAnhDngBi4
 
Toan pt.de032.2011
Toan pt.de032.2011Toan pt.de032.2011
Toan pt.de032.2011BẢO Hí
 
Dien xoay chieu
Dien xoay chieuDien xoay chieu
Dien xoay chieuBrain Less
 
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt Trí
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt TríĐề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt Trí
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt TríTrung Tâm Gia Sư Việt Trí
 
Bài giảng điều khiển logic và plc_876512.pdf
Bài giảng điều khiển logic và plc_876512.pdfBài giảng điều khiển logic và plc_876512.pdf
Bài giảng điều khiển logic và plc_876512.pdfThien Chu Van
 

Similar to Matlab cho sv_tbd-dt_8-2007 (20)

Báo cáo môn học phương pháp phần tử hữu hạn
Báo cáo môn học phương pháp phần tử hữu hạnBáo cáo môn học phương pháp phần tử hữu hạn
Báo cáo môn học phương pháp phần tử hữu hạn
 
On thi thpt toan 2014 2015
On thi thpt toan 2014 2015On thi thpt toan 2014 2015
On thi thpt toan 2014 2015
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tu
 
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 1 MA TRẬN TỔNG DẪN
GIAI TICH HE THONG DIEN NANG CAO -  CHƯƠNG 1 MA TRẬN TỔNG DẪNGIAI TICH HE THONG DIEN NANG CAO -  CHƯƠNG 1 MA TRẬN TỔNG DẪN
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 1 MA TRẬN TỔNG DẪN
 
Điều khiển điện tử công suất DCDC bộ BUCK.pdf
Điều khiển điện tử công suất DCDC bộ BUCK.pdfĐiều khiển điện tử công suất DCDC bộ BUCK.pdf
Điều khiển điện tử công suất DCDC bộ BUCK.pdf
 
Bài giảng về máy điện
Bài giảng về máy điệnBài giảng về máy điện
Bài giảng về máy điện
 
Toan pt.de018.2010
Toan pt.de018.2010Toan pt.de018.2010
Toan pt.de018.2010
 
ACTIVE_Rectifier_SVM (2).pptx
ACTIVE_Rectifier_SVM (2).pptxACTIVE_Rectifier_SVM (2).pptx
ACTIVE_Rectifier_SVM (2).pptx
 
Dien tu so dhbk ha noi
Dien tu so   dhbk ha noiDien tu so   dhbk ha noi
Dien tu so dhbk ha noi
 
Tai lieu thi nghiem
Tai lieu thi nghiemTai lieu thi nghiem
Tai lieu thi nghiem
 
[Thi247.com] giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...
[Thi247.com]   giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...[Thi247.com]   giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...
[Thi247.com] giải nhanh một số dạng toán vật lý 12 bằng máy tính casio fx 5...
 
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpXây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
 
bat tap lon tkdtcs
bat tap lon tkdtcsbat tap lon tkdtcs
bat tap lon tkdtcs
 
Cong thuc 2013
Cong thuc 2013Cong thuc 2013
Cong thuc 2013
 
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 phaThiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
Thiết kế hệ thống điều khiển chỉnh lưu tích cực 1 pha
 
Ch6
Ch6Ch6
Ch6
 
Toan pt.de032.2011
Toan pt.de032.2011Toan pt.de032.2011
Toan pt.de032.2011
 
Dien xoay chieu
Dien xoay chieuDien xoay chieu
Dien xoay chieu
 
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt Trí
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt TríĐề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt Trí
Đề Thi HK2 Toán 7 - Trung Tâm Gia Sư Việt Trí
 
Bài giảng điều khiển logic và plc_876512.pdf
Bài giảng điều khiển logic và plc_876512.pdfBài giảng điều khiển logic và plc_876512.pdf
Bài giảng điều khiển logic và plc_876512.pdf
 

Matlab cho sv_tbd-dt_8-2007

  • 1. 1 MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI MATLAB/SIMULINK Mô hình hóa và mô phỏng thiết bị điện – dành cho sinh viên chuyên ngành TBĐ-ĐT Soạn bởi: Trần Vĩnh Thái B/m Thiết bị điện – điện tử ĐHBK Hà nội ĐHBK Hànội B/m Thiết bị điện – điện tử 2 NỘI DUNG „ Vai trò của mô hình hóa và mô phỏng „ Mô hình toán và phương pháp số † Mô hình toán của hệ vật lý † Phương pháp số giải phương trình vi phân „ Công cụ MATLAB/Simulink † MATLAB † Simulink „ Phân tích, mô phỏng một số mô hình thiết bị điện với MATLAB/Simulink
  • 2. ĐHBK Hànội B/m Thiết bị điện – điện tử 3 Yêu cầu với sinh viên „ Tham dự lớp đầy đủ „ Làm các bài tập về nhà „ Hoàn thành bài tập lớn „ Thi cuối học kỳ ĐHBK Hànội B/m Thiết bị điện – điện tử 4 1. Vai trò của mô hình hóa và mô phỏng „ Mô hình – dạng biểu diễn đơn giản hóa của một hệ vật lý. Chương trình này giới hạn mô hình ở dạng thức mô tả toán học, mô hình toán. „ Mô hình hóa và mô phỏng – là kỹ thuật cho phép xây dựng mô hình của hệ vật lý và thực hiện thực nghiệm trên mô hình đó. Môn học này sử dụng công cụ MATLAB/Simulink để biểu diễn mô hình toán của hệ trên máy tính số và cho phép phân tích, nghiên cứu nó. „ Vai trò của mô hình hóa và mô phỏng † Được sử dụng khi hệ vật lý không tồn tại, tốn kém và/hoặc tốn thời gian xây dựng… † Cho phép quan sát quá trình, đáp ứng động của hệ thống thiết kế trước khi thực nghiệm trên thiết bị thực † Là công cụ hữu hiệu với chi phí thấp cho nghiên cứu, dễ sử dụng, dễ dàng thay đổi phương án…
  • 3. ĐHBK Hànội B/m Thiết bị điện – điện tử 5 2. Mô hình toán và phương pháp số „ Phân loại mô hình toán † Mô hình tuyến tính, phi tuyến † Mô hình thông số tập trung, thông số rải † Mô hình tĩnh, động † Mô hình liên tục, gián đoạn † Mô hình xác định, bất định „ Trình tự xây dựng mô hình † Xác định mục tiêu và điều kiện của bài toán † Đặt giả thiết đơn giản hóa và loại bỏ các yếu tố không quan trọng † Xác định các tham số cho mô hình theo mục tiêu và điều kiện † Kiểm chứng mô hình về mức độ phù hợp với hệ thống vật lý ĐHBK Hànội B/m Thiết bị điện – điện tử 6 2. Mô hình toán và phương pháp số „ Mô tả toán học thường gặp † Phương trình vi phân † Hàm truyền † Không gian trạng thái
  • 4. ĐHBK Hànội B/m Thiết bị điện – điện tử 7 2. Mô hình toán và phương pháp số „ Phương trình vi phân – Thí dụ 1: Phân tích mạch điện trên hình vẽ. Nguồn DC 1 V, điều kiện đầu i(0) = 0 A, uc(0) = 0 V. Xác định quá trình quá độ của i(t), uc(t) khi đóng công tắc. wBTVN: Xây dựng mô hình toán động cơ DC kích thích độc lập. RC dv + LC d v + = 2 C C v V ĐHBK Hànội B/m Thiết bị điện – điện tử 8 2. Mô hình toán và phương pháp số „ Hàm truyền † Định nghĩa: The transfer function of a linear, time-invariant, differential equation system is defined as the ratio of the Laplace transform of the output variable to the Laplace transform ofthe input variable, with all initial conditions assumed to be zero. „ Tiếp theo thí dụ 1 – mô tả bài toán ở dạng hàm truyền Ri + L di + = C s v V dt C s dt dt 2 Biểu thức: Y s V s ( ) = ( ) C V s ( ) S wBTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về dạng hàm truyền. Điều kiện: Mạch từ tuyến tính, kích thích không đổi.
  • 5. 2. Mô hình toán và phương pháp số ĐHBK Hànội B/m Thiết bị điện – điện tử 9 „ Mô tả không gian trạng thái † Dạng thức „ Tiếp theo thí dụ 1 – mô tả bài toán ở dạng thức không gian trạng thái † Đặt † Từ đó tìm được ma trận A, B, C, D wBTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về mô hình không gian trạng thái. Điều kiện: Mạch từ tuyến tính, kích thích không đổi. ĐHBK Hànội B/m Thiết bị điện – điện tử 11 2. Mô hình toán và phương pháp số „ Phương pháp số giải phương trình vi phân † Phương pháp Euler: Giải phương trình y’ = f(t,y) trong khoản [a,b], với y(a) = y(0) = y0: – Chia đoạn [a,b] thành n khoảng h đủ nhỏ – Giá trị của y tại y(k) được tính theo giá trị đã biết y(k-1) và hàm f(tk, yk) theo biểu thức: . ( , ) −1 −1 −1 = + k k k k y y h f t y với k = 1..n
  • 6. ĐHBK Hànội B/m Thiết bị điện – điện tử 12 Thí dụ về ph.pháp Euler viết trong MATLAB ĐHBK Hànội B/m Thiết bị điện – điện tử 13 Sai số của phương pháp Euler w Sai số tỉ lệ với h2.
  • 7. ĐHBK Hànội B/m Thiết bị điện – điện tử 14 2. Mô hình toán và phương pháp số „ Các phương pháp số khác † Phương pháp Runge-Kutta bậc 2 – trong MATLAB là ODE23 † Phương pháp Runge-Kutta bậc 4 – trong MATLAB là ODE45 † Phương pháp chuỗi Taylor † Các phương pháp Predictor-Correctors † … wThí dụ ODE45: ĐHBK Hànội B/m Thiết bị điện – điện tử 15 Thí dụ: Runge-Kutta Order 4
  • 8. ĐHBK Hànội B/m Thiết bị điện – điện tử 16 3. MATLAB/Simulink „ Tại sao chọn MATLAB/Simulink? Đây là một công cụ: † Mạnh cho việc thực hiện mô phỏng các mô hình toán † Dễ học, dễ sử dụng Æ tốn ít thời gian đầu tư cho công cụ „ Các công cụ khác † Dymola với ngôn ngữ Modelica † 20-Sim với phương pháp Bond Graph † Maple, Mathematica, ACSL, Saber, Dynast… „ Tài liệu tham khảo † MATLAB/Simulink dành cho kỹ sư điều khiển tự động – Nguyễn Phùng Quang † … ĐHBK Hànội B/m Thiết bị điện – điện tử 17 MATLAB „ Môi trường MATLAB, demo và help „ Tạo biến trong MATLAB „ Thao tác với ma trận, toán tử logic và các hàm toán học „ Công cụ hiển thị „ M-file „ Viết chương trình trong MATLAB „ Lưu biến và buổi làm việc; thư mục và đường dẫn „ GUI „ Giải hệ phương trình vi phân với MATLAB „ …
  • 9. ĐHBK Hànội B/m Thiết bị điện – điện tử 18 Môi trường MATLAB To get started, select "MATLAB Help" from the Help menu. Tạo biến trong môi trường MATLAB MATLAB – máy tính tay Gán các biến trong MATLAB » a = 2; » b = 5; » a^b ans = 32 » x = 5/2*pi; » y = sin(x) y = 1 » z = asin(y) z = 1.5708 ĐHBK Hànội B/m Thiết bị điện – điện tử Tác dụng của dấu “;” 19 » a = 2; » b = 5; » a^b ans = 32 » x = 5/2*pi; » y = sin(x) y = 1 » z = asin(y) z = 1.5708 Kết quả được gán cho “ans” nếu không đặt tên biến Dấu () để truy cập hàm » -5/(4.8+5.32)^2 ans = » -5/(4.8+5.32)^2 ans = -0.0488 -0.0488 » (3+4i)*(3-4i) ans = » (3+4i)*(3-4i) ans = 25 25 » cos(pi/2) ans = » cos(pi/2) ans = 6.1230e-017 » exp(acos(0.3)) ans = 6.1230e-017 » exp(acos(0.3)) ans = 3.5470 3.5470
  • 10. ĐHBK Hànội B/m Thiết bị điện – điện tử 20 Một số lệnh tiện ích „ Các lệnh tiện ích † who và whos – liệt kê các biến † clear, clear x, clear all – xóa biến † close – xóa cửa sổ đồ họa hiện hành † cd – đổi thư mục hiện hành † dir – liệt kê nội dung thư mục hiện hành † format – đặt định dạng biến lưu trong môi trường † help “tên hàm” – tra cứu nhanh † clc – xóa màn hình lệnh † … ĐHBK Hànội B/m Thiết bị điện – điện tử 21 Thao tác với ma trận „ 3 khái niệm trong đại số tuyến tính † Vô hướng – là một số hay một từ (có giá trị đơn nhất) † Véc-tơ – là mảng 1-D chứa một dãy các vô hướng, biến hoặc biểu thức † Ma trận – là mảng n-D chứa các vô hướng, biến hoặc biểu thức „ Trong MATLAB † Vô hướng – là ma trận 1x1 † Véc-tơ – là ma trận 1xn hoặc nx1 † Ma trận nxm
  • 11. » a=[1 2;3 4] a = 1 2 3 4 » b=[-2.8, sqrt(-7), (3+5+6)*3/4] b = -2.8000 0 + 2.6458i 10.5000 » b(2,5) = 23 b = -2.8000 0 + 2.6458i 10.5000 0 0 0 0 0 0 23.0000 ĐHBK Hànội B/m Thiết bị điện – điện tử 22 Thao tác với ma trận » a=[1 2;3 4] a = 1 2 3 4 » b=[-2.8, sqrt(-7), (3+5+6)*3/4] b = -2.8000 0 + 2.6458i 10.5000 » b(2,5) = 23 b = -2.8000 0 + 2.6458i 10.5000 0 0 0 0 0 0 23.0000 Tách dòng với dấu (;) Tách cột với dấu trống / phảy (,) Dùng dấu ngoặc [ ] A = A (2,4) ĐHBK Hànội B/m Thiết bị điện – điện tử 23 Thao tác với ma trận 4 10 1 6 2 8 1.2 9 4 25 7.2 5 7 1 11 0 0.5 4 5 56 23 83 13 0 10 1 2 Dòng (m) 3 4 5 Cột (n) 1 2 3 4 5 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 A (17) Ma trận: Vô hướng: 1-by-1 array Véc tơ: m-by-1 array 1-by-n array Ma trận: m-by-n array
  • 12. » w=[1 2;3 4] + 5 w = 6 7 8 9 » x = 1:5 x = 1 2 3 4 5 » y = 2:-0.5:0 y = 2.0000 1.5000 1.0000 0.5000 0 » z = rand(2,4) z = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185 ĐHBK Hànội B/m Thiết bị điện – điện tử 24 Thao tác với ma trận » w=[1 2;3 4] + 5 w = 6 7 8 9 » x = 1:5 x = 1 2 3 4 5 » y = 2:-0.5:0 y = 2.0000 1.5000 1.0000 0.5000 0 » z = rand(2,4) z = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185 Cộng vô hướng Tạo dãy trình tự: dùng dấu (:) Các hàm tiện ích tạo ma trận » A=[1 5 9;4 3 2.5; 0.1 10 3i+1] A = 1.0000 5.0000 9.0000 4.0000 3.0000 2.5000 0.1000 10.0000 1.0000+3.0000i 1.0000 9.0000 4.0000 2.5000 0.1000 1.0000 + 3.0000i » A(2,2)=[] ??? Indexed empty matrix assignment is not allowed. ĐHBK Hànội B/m Thiết bị điện – điện tử 25 Thao tác với ma trận „ Xóa dòng, cột của ma trận » A=[1 5 9;4 3 2.5; 0.1 10 3i+1] A = 1.0000 5.0000 9.0000 4.0000 3.0000 2.5000 0.1000 10.0000 1.0000+3.0000i » A(:,2)=[] A = » A(:,2)=[] A = 1.0000 9.0000 4.0000 2.5000 0.1000 1.0000 + 3.0000i » A(2,2)=[] ??? Indexed empty matrix assignment is not allowed.
  • 13. ĐHBK Hànội B/m Thiết bị điện – điện tử A(1:end,end) A(:,end) A(21:end)’ 26 Thao tác với ma trận „ Truy cập các thành phần trong ma trận 4 10 1 6 2 8 1.2 9 4 25 7.2 5 7 1 11 0 0.5 4 5 56 23 83 13 0 10 1 2 3 4 5 1 2 3 4 5 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 A = A(3,1) A(3) A(1:5,5) A(:,5) A(21:25) A(4:5,2:3) A([9 14;10 15]) » a = [1 2 3 4; 5 6 7 8]; » b = ones(4,3); » c = a*b c = 10 10 10 26 26 26 » a = [1 2 3 4; 5 6 7 8]; » b = [1:4; 1:4]; » c = a.*b c = 1 4 9 16 5 12 21 32 c(2,4) = a(2,4)*b(2,4) ĐHBK Hànội B/m Thiết bị điện – điện tử 27 Thao tác với ma trận „ Nhân chia ma trận » a = [1 2 3 4; 5 6 7 8]; » b = ones(4,3); » c = a*b c = 10 10 10 26 26 26 [2x4] [4x3] [2x4]*[4x3] [2x3] a(2nd row).b(3rd column) » a = [1 2 3 4; 5 6 7 8]; » b = [1:4; 1:4]; » c = a.*b c = 1 4 9 16 5 12 21 32
  • 14. ĐHBK Hànội B/m Thiết bị điện – điện tử 28 Thao tác với ma trận „ Các hàm tiện ích † zeros – tạo ma trận rỗng † ones – tạo ma trận 1 † eye – tạo ma trận đơn vị † rand – tạo ma trận các phần tử ngẫu nhiên † diag – tạo ma trận đường chéo † size – hàm trả về kích thước của ma trận † fliplr – đảo cột ma trận trái phải † flipud – đảo hàng ma trận trên dưới † rot90 – xoay ma trận 90 độ (ngược chiều kim đồng hồ) † transpose (‘) – chuyển vị ma trận † cross & dot – nhân ma trận † det – định thức ma trận † inv – nghich đảo ma trận † rank – hạng ma trận… ⎤ ⎥ ⎥ ⎥ ⎦ ⎡ ⎢ ⎢ ⎢ ⎣ 1 0 0 0 1 0 0 0 1 ⎤ ⎥ ⎥ ⎥ ⎦ ⎡ ⎢ ⎢ ⎢ ⎣ 1 0 0 0 2 0 0 0 3 » Mass = [-2 10 NaN 30 -11 Inf 31]; » each_pos = Mass>=0 each_pos = 0 1 0 1 0 1 1 » all_pos = all(Mass>=0) all_pos = 0 » all_pos = any(Mass>=0) all_pos = 1 » pos_fin = (Mass>=0)&(isfinite(Mass)) pos_fin = 0 1 0 1 0 0 1 ĐHBK Hànội B/m Thiết bị điện – điện tử 29 Các toán tử logic » Mass = [-2 10 NaN 30 -11 Inf 31]; » each_pos = Mass>=0 each_pos = 0 1 0 1 0 1 1 » all_pos = all(Mass>=0) all_pos = 0 » all_pos = any(Mass>=0) all_pos = 1 » pos_fin = (Mass>=0)&(isfinite(Mass)) pos_fin = 0 1 0 1 0 0 1 = = equal to > greater than < less than >= Greater or equal <= less or equal ~ not & and | or isfinite(), etc. . . . all(), any() find 1 = TRUE 0 = FALSE w Lưu ý:
  • 15. ĐHBK Hànội B/m Thiết bị điện – điện tử 30 Một số hàm toán học „ Các hàm toán học † abs, sign – hàm trả về trị tuyệt đối và dấu † sin, cos, asin, acos… – hàm lượng giác † exp, log, log10 – hàm mũ e, log tự nhiên, log hệ 10 † ceil, floor, fix, round – các hàm làm tròn số † sqrt – hàm căn bậc hai † gcd – ước số chung lớn nhất † lcm – bội số chung nhỏ nhất † real, img – hàm trả về phần thực, phần ảo của số phức † rem, mod – các hàm lấy phần nguyên và phần dư của phép chia † max, min, means – các hàm tìm max, min và trị trung bình † sort – hàm sắp xếp † … plot(plot(xx11,, yy11,, ''ccllmm11'',, xx22,, yy22,, ''ccllmm22'',, ......)) x=[0:0.1:2*pi]; y=sin(x); z=cos(x); plot(x,y,x,z,'linewidth',2) title('Sample Plot','fontsize',14); xlabel('X values','fontsize',14); ylabel('Y values','fontsize',14); legend('Y data','Z data') grid on ĐHBK Hànội B/m Thiết bị điện – điện tử 31 Công cụ hiển thị - Visualizing data „ 2-D Plotting † Hàm plot() – cú pháp † Thí dụ sử dụng hàm plot() x=[0:0.1:2*pi]; y=sin(x); z=cos(x); plot(x,y,x,z,'linewidth',2) title('Sample Plot','fontsize',14); xlabel('X values','fontsize',14); ylabel('Y values','fontsize',14); legend('Y data','Z data') grid on
  • 16. ĐHBK Hànội B/m Thiết bị điện – điện tử 32 Công cụ hiển thị - Visualizing data Title Ylabel Xlabel Grid Legend w Sử dụng TEX cho phép hiển thị ký tự Hy Lạp, các ký tự toán học… ssuubbpplloott((rroowwss,,ccoollss,,iinnddeexx)) »subplot(2,2,1); » … »subplot(2,2,2) » ... »subplot(2,2,3) » ... »subplot(2,2,4) » ... ĐHBK Hànội B/m Thiết bị điện – điện tử 33 Công cụ hiển thị - Visualizing data „ subplot † Cú pháp »subplot(2,2,1); » … »subplot(2,2,2) » ... »subplot(2,2,3) » ... »subplot(2,2,4) » ... w Vẽ nhiều đồ thị trên cùng cửa sổ
  • 17. ĐHBK Hànội B/m Thiết bị điện – điện tử 34 Công cụ hiển thị - Visualizing data „ 3-D plotting x = 0:0.1:2; y = 0:0.1:2; [xx, yy] = meshgrid(x,y); zz=sin(xx.^2+yy.^2); surf(xx,yy,zz) xlabel('X axes') ylabel('Y axes') x = 0:0.1:2; y = 0:0.1:2; [xx, yy] = meshgrid(x,y); zz=sin(xx.^2+yy.^2); surf(xx,yy,zz) xlabel('X axes') ylabel('Y axes') ĐHBK Hànội B/m Thiết bị điện – điện tử 35 Công cụ hiển thị - Visualizing data „ Các dạng vẽ contour và 3-D w contourf w contour3 w plot3 w waterfall w mesh w surf
  • 18. ĐHBK Hànội B/m Thiết bị điện – điện tử 36 Công cụ hiển thị - Visualizing data „ Một số thí dụ hiển thị khác w bar w bar3h w hist w area w pie3 w rose ĐHBK Hànội B/m Thiết bị điện – điện tử 37 M-files „ Script files † Là một tập lệnh lưu trong tệp tin m-file (tệp tin có đuôi .m). Tiện lợi hơn việc phải gõ từng lệnh vào dấu nhắc MATLAB (>>). † Các biến tạo ra khi chạy m-file được lưu trữ trong Workspace của MATLAB „ Function files † Cho phép người dùng tạo hàm riêng của mình † Tất cả các biến bên trong hàm có tính chất local (Muốn biến có tính chất global, phải dùng từ khóa global khi khai báo biến) † Thông tin đưa vào hàm dưới dạng thông số † MATLAB hỗ trợ nhiều tính năng cho hàm Æ xem thêm help function
  • 19. ĐHBK Hànội B/m Thiết bị điện – điện tử 38 M-files „ Cửa sổ soạn thảo M-file: Editor/Debugger Select Workspace Set Auto- Breakpoints tips Tên hàm (phải trùng với tên file) ĐHBK Hànội B/m Thiết bị điện – điện tử 39 M-files „ Function file Tham số ra function y = mean (x) % MEAN Average or mean value. % For vectors, MEAN(x) returns the mean value. % For matrices, MEAN(x) is a row vector % containing the mean value of each column. [m,n] = size(x); if m == 1 m = n; end y = sum(x)/m; Tham số vào Các dòng này sẽ xuất hiện khi gõ lệnh help mean Nội dung hàm
  • 20. if ((attendance >= 0.90) & (grade_average >= 60)) if ((attendance >= 0.90) & (grade_average >= 60)) ĐHBK Hànội B/m Thiết bị điện – điện tử 40 Viết chương trình trong MATLAB „ Các điều khiển chương trình † Lệnh điều kiện if pass = 1; pass = 1; end; end; † Vòng lặp while eps = 1; while (1+eps) > 1 eps = 1; while (1+eps) > 1 eps = eps/2; eps = eps/2; end eps = eps*2 end eps = eps*2 a = zeros(k,k) % Preallocate matrix for m = 1:k a = zeros(k,k) % Preallocate matrix for m = 1:k for n = 1:k a(m,n) = 1/(m+n -1); a(m,n) = 1/(m+n -1); case {'linear','bilinear'} ĐHBK Hànội B/m Thiết bị điện – điện tử 41 Viết chương trình trong MATLAB † Vòng lặp for for n = 1:k end end end end † Lệnh điều kiện switch method = 'Bilinear'; switch lower(method) method = 'Bilinear'; switch lower(method) case {'linear','bilinear'} disp('Method is linear') case 'cubic' disp('Method is cubic') otherwise disp('Unknown method.') end disp('Method is linear') case 'cubic' disp('Method is cubic') otherwise disp('Unknown method.') end
  • 21. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 ĐHBK Hànội B/m Thiết bị điện – điện tử 42 Viết chương trình trong MATLAB „ Kiểu dữ liệu † Numerical arrays † Multidimentional arrays † Structures and Cell arrays 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Page N Page 1 load fname load fname x y z load fname -ascii load fname -mat save fname save fname x y z save fname -ascii save fname -mat diary diary fname diary (‘fname’) diary on/off ĐHBK Hànội B/m Thiết bị điện – điện tử 43 Lưu biến và buổi làm việc „ Lưu các biến trong Workspace † Dùng lệnh save và load „ Lưu buổi làm việc † Dùng lệnh diary load fname load fname x y z load fname -ascii load fname -mat save fname save fname x y z save fname -ascii save fname -mat diary diary fname diary (‘fname’) diary on/off
  • 22. » fid= fopen('mydata.bin' , 'wb'); » fwrite (fid,eye(5) , 'int32'); » fclose (fid); » fid= fopen('mydata.bin' , 'rb'); » M= fread(fid, [5 5], 'int32') » fclose (fid); » fid= fopen('mydata.bin' , 'wb'); » fwrite (fid,eye(5) , 'int32'); » fclose (fid); » fid= fopen('mydata.bin' , 'rb'); » M= fread(fid, [5 5], 'int32') » fclose (fid); »»[[AA11……AAnn]]==tteexxttrreeaadd((ffiilleennaammee,,ffoorrmmaatt,,NN)) ĐHBK Hànội B/m Thiết bị điện – điện tử 44 Xuất/nhập dữ liệu „ Cho tệp tin BINARY † Lệnh fopen, fclose, fread, fwrite, fseek: „ Cho tệp tin TEXT † Lệnh textread † Lệnh dlmread »» MM == ddllmmrreeaadd((ffiilleennaammee,,ddeelliimmiitteerr,,rraannggee)) ĐHBK Hànội B/m Thiết bị điện – điện tử 45 GUI „ Graphics objects Root object UIMenu objects Axes object Figure object Surface object Line objects Text objects UIControl objects Axes object
  • 23. handle = plot(x_data, y_data, ...) ĐHBK Hànội B/m Thiết bị điện – điện tử 46 GUI „ Làm việc với object’s handle † Tạo cùng với lệnh † Các hàm tiện ích – 0 – root object handle – gcf – get current figure handle – gca – get current axis handle – gco – get current object handle † Hàm findobj h_obj = findobj(h_parent, 'Property', 'Value', ...) Default = 0 (root object) set(h_object,'PropertyName','New_Value',...) ĐHBK Hànội B/m Thiết bị điện – điện tử 47 GUI „ Thay đổi thuộc tính đối tượng † Lấy thuộc tính của đối tượng với hàm get get(h_object) † Đặt thuộc tính cho đối tượng với hàm set set(h_object) † Thay đổi thuộc tính đối tượng với Property Editor
  • 24. ĐHBK Hànội B/m Thiết bị điện – điện tử 48 GUIDE Radio Buttons Push Buttons Frames Checkbox Slider Edit text static text Axes w MATLAB hỗ trợ việc tạo giao diện người dùng. ĐHBK Hànội B/m Thiết bị điện – điện tử 49 GUIDE „ Tạo giao diện với GUIDE Guide Editor Property Inspector Result Figure
  • 25. ĐHBK Hànội B/m Thiết bị điện – điện tử 50 GUIDE „ Làm việc với m-file „ Thí dụ tạo GUI và lập trình với m-file ... handles.a = get(handles.slider_a,'Value'); set(handles.text_a,'String',... num2str(handles.a)); % Update handles structure guidata(hObject, handles); ... ĐHBK Hànội B/m Thiết bị điện – điện tử 51 Giải phương trình vi phân trong MATLAB „ Dùng hàm ODE23 và ODE45 „ Trở lại thí dụ 1: „ Chuyển về dạng phương trình trạng thái
  • 26. x & 1 ĐHBK Hànội B/m Thiết bị điện – điện tử 52 Giải phương trình vi phân trong MATLAB „ Các bước giải phương trình vi phân trong thí dụ 1: † 1. Tạo hàm trạng thái elecsys() 2 C x 1 2 2 V x R.x x − − = & Khai báo thông số mạch Khai báo phương trình trạng thái ĐHBK Hànội B/m Thiết bị điện – điện tử 53 Giải phương trình vi phân trong MATLAB „ Các bước giải phương trình vi phân trong thí dụ 1: † 2. Giải phương trình dùng hàm ODE23() Gọi hàm ode23() giải phương trình vi phân khai báo trong elecsys wBTVN: Mô phỏng quá trình quá độ của động cơ DC kích thích độc lập trong MATLAB.
  • 27. ĐHBK Hànội B/m Thiết bị điện – điện tử 54 Simulink „ Getting started w Commonly Used Blocks w Continuous w Discontinuous w Discrete w Logic and Bit Operations w Lookup Tables w Math Operations w Model Verification w Model-Wide Utilities w Ports and Subsystems w Signal Attributes w Signal Routing w Sinks w Sources ĐHBK Hànội B/m Thiết bị điện – điện tử 55 Simulink „ Trình tự xây dựng mô hình (block-diagram) trong Simulink † Lập mô hình toán của hệ thống ở dạng phương trình vi phân, hàm truyền, hoặc không gian trạng thái (liên tục hoặc gián đoạn) † Xác định dạng đầu vào, đầu ra † Sử dụng Simulink Library Browser để chọn các biểu tượng tương ứng với các thông số cần thiết cho mô hình † Chọn thời gian chạy mô phỏng và chọn solver cho mô hình „ Thí dụ 1 xây dựng trong Simulink V x' = Ax+Bu y = Cx+Du State-Space Scope
  • 28. ĐHBK Hànội B/m Thiết bị điện – điện tử 56 Simulink „ SimulationConfiguration Parameters Solver: ODE23 – fast, wide tolerance ODE45 – first choice ODE123 – multi-step, tight tolerance, time consumming ODE15s – multi-step, stiff … Solver options: Type: – variable-step or fixed-step Max step size: … Min step size: … … [t, x, y] = sim(model, timespan, option, ut) ĐHBK Hànội B/m Thiết bị điện – điện tử 57 Simulink „ Một số tiện ích – trình bày online † Tạo sub-model † Sử dụng callback của model và sub-model † Chạy mô phỏng từ dấu nhắc MATLAB † Dùng chức năng mask cho sub-model † Sub-model có điều kiện – Thí dụ với if, enable…
  • 29. ĐHBK Hànội B/m Thiết bị điện – điện tử 58 Simulink „ Bài tập 1: giải phương trình „ Bài tập 2: giải mạch RLC „ Bài tập 3: mô phỏng động cơ DC kích thích độc lập 3. Phân tích, mô phỏng TBĐ với Simulink „ Bài tập 4: Mô phỏng từ trường quay trong máy điện xoay chiều ĐHBK Hànội B/m Thiết bị điện – điện tử 59 Mach tu may dien xoay chieu - day quan 2 lop Tran Vinh Thai DHBK Hanoi 9/2006. 1 A A 2 A Z 3 Z Z 4 Z B 5 B B 6 B X 7 X X 8 X C 9 C C 10 C Y 11 Y Y 12 Y A 13 A A 14 A Z 15 Z Z 16 Z B 17 B B 18 B X 19 X X 20 X C 21 C C 22 C Y 23 Y Y 24 Y A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 0 -5 STD day quan pha A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 0 -5 STD day quan pha B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 0 -5 STD day quan pha C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 0 -5 STD quay day quan may dien xoay chieu
  • 30. ĐHBK Hànội B/m Thiết bị điện – điện tử 60 3. Phân tích, mô phỏng TBĐ với Simulink „ Bài tập 4: Mô phỏng từ trường quay trong máy điện xoay chiều Control of DC motor ĐHBK Hànội B/m Thiết bị điện – điện tử 61 3. Phân tích, mô phỏng TBĐ với Simulink „ Bài tập 5: Mô phỏng hệ điều khiển động cơ điện một chiều u_A u_R Armature Current Speed (radian) voltage UA1 voltage UA Urout Tout iAout nout u_CW Switch ASS Speed Sensor -K-Speed Converter u_SW (-) u_SR Speed Controller Reference Voltage Load Torque Inverse Load Torque u_A T_L i_A Omega DC Motor ACS Current Sensor u_CW (-) u_CR u_R Current Controller AR TR.s+1 Controlled Rectifier Clock Armature Current and Speed
  • 31. ĐHBK Hànội B/m Thiết bị điện – điện tử 62 ĐHBK Hànội B/m Thiết bị điện – điện tử 63
  • 32. ĐHBK Hànội B/m Thiết bị điện – điện tử 64