MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI MATLAB/SIMULINK

Chia sẻ: thachthaoxanh

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

Bạn đang xem 10 trang mẫu tài liệu này, vui lòng download file gốc để xem toàn bộ.

Nội dung Text: MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI MATLAB/SIMULINK

MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI
MATLAB/SIMULINK
Soạn bởi:
Trần Vĩnh Thái
B/m Thiết bị điện – điện tử
ĐHBK Hà nội




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




1




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 2
B/m Thiết bị điện – điện tử
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 3
B/m Thiết bị điện – điện tử




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 4
B/m Thiết bị điện – điện tử
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 5
B/m Thiết bị điện – điện tử




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 6
B/m Thiết bị điện – điện tử
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.




BTVN: Xây dựng mô hình toán động cơ DC kích thích độc lập.

ĐHBK Hànội 7
B/m Thiết bị điện – điện tử




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

di
Ri + L + vC = Vs Biểu thức:
dt VC ( s)
Y ( s) =
VS ( s)
d 2v
dvC
+ LC 2C + vC = Vs
RC
dt dt
BTVN: 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.

ĐHBK Hànội 8
B/m Thiết bị điện – điện tử
2. Mô hình toán và phương pháp số

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

BTVN: 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 9
B/m Thiết bị điện – điện tử




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:

yk = yk −1 + h. f (t k −1 , yk −1 ) với k = 1..n




ĐHBK Hànội 11
B/m Thiết bị điện – điện tử
Thí dụ về ph.pháp Euler viết trong MATLAB




ĐHBK Hànội 12
B/m Thiết bị điện – điện tử




Sai số của phương pháp Euler

Sai số tỉ lệ với h2.




ĐHBK Hànội 13
B/m Thiết bị điện – điện tử
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

Thí dụ ODE45:




ĐHBK Hànội 14
B/m Thiết bị điện – điện tử




Thí dụ: Runge-Kutta Order 4




ĐHBK Hànội 15
B/m Thiết bị điện – điện tử
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 16
B/m Thiết bị điện – điện tử




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 17
B/m Thiết bị điện – điện tử
Môi trường MATLAB




To get started, select "MATLAB Help" from the Help menu.


ĐHBK Hànội 18
B/m Thiết bị điện – điện tử




Tạo biến trong môi trường MATLAB

Gán các biến trong MATLAB
MATLAB – máy tính tay

Tác dụng của dấu
» -5/(4.8+5.32)^2 » a = 2;
» -5/(4.8+5.32)^2 » a = 2;
“;”
ans = » b = 5;
ans = » b = 5;
-0.0488
-0.0488 » a^b
» a^b
» (3+4i)*(3-4i)
» (3+4i)*(3-4i) Kết quả được
ans =
ans =
ans =
ans = gán cho “ans”
32
32
25
25 nếu không đặt
» cos(pi/2) » x = 5/2*pi;
» cos(pi/2) » x = 5/2*pi; tên biến
ans = » y = sin(x)
ans = » y = sin(x)
6.1230e-017 y=
6.1230e-017 y=
» exp(acos(0.3))
» exp(acos(0.3)) 11
ans =
ans =
Dấu () để truy cập
» z = asin(y)
» z = asin(y)
3.5470
3.5470
hàm
z=
z=
1.5708
1.5708


ĐHBK Hànội 19
B/m Thiết bị điện – điện tử
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 20
B/m Thiết bị điện – điện tử




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




ĐHBK Hànội 21
B/m Thiết bị điện – điện tử
Thao tác với ma trận


» a=[1 2;3 4]
» a=[1 2;3 4]
Dùng dấu
a=
a=
ngoặc [ ]
1 2
1 2
3 4
3 4
Tách dòng với » b=[-2.8, sqrt(-7), (3+5+6)*3/4]
» b=[-2.8, sqrt(-7), (3+5+6)*3/4]
dấu (;) b=
b=
-2.8000
-2.8000 0 + 2.6458i 10.5000
0 + 2.6458i 10.5000
Tách cột với dấu » b(2,5) = 23
» b(2,5) = 23
trống / phảy (,)
b=
b=
-2.8000 0 + 2.6458i 10.5000 0 0
-2.8000 0 + 2.6458i 10.5000 0 0
0 0 0 0 23.0000
0 0 0 0 23.0000




ĐHBK Hànội 22
B/m Thiết bị điện – điện tử




Thao tác với ma trận

Cột
(n)
1 2 3 4 5
A= 1 6 11 16 21
4 10 1 6 2 A (2,4)
1
2 7 12 17 22
8 1.2 9 4 25
2

7.2 3 5 7 1 11 23
8 13 18
A (17)
Dòng (m) 3

0 0.5 9 4 5 56 24
4 14 19
4
5 10 15 20 25
23 83 13 0 10
5 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

ĐHBK Hànội 23
B/m Thiết bị điện – điện tử
Thao tác với ma trận


Cộng vô hướng » w=[1 2;3 4] + 5
» w=[1 2;3 4] + 5
w=
w=
6 7
6 7
8 9
8 9
Tạo dãy trình tự: » x = 1:5
» x = 1:5
dùng dấu (:) x=
x=
1 2 3 4 5
1 2 3 4 5
» y = 2:-0.5:0
» y = 2:-0.5:0
y=
y=
2.0000
2.0000 1.5000
1.5000 1.0000 0.5000 0
1.0000 0.5000 0
» z = rand(2,4)
Các hàm tiện ích tạo » z = rand(2,4)
z=
ma trận z=
0.9501 0.6068 0.8913 0.4565
0.9501 0.6068 0.8913 0.4565
0.2311 0.4860 0.7621 0.0185
0.2311 0.4860 0.7621 0.0185


ĐHBK Hànội 24
B/m Thiết bị điện – điện tử




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 5 9;4 3 2.5; 0.1 10 3i+1]
A=
A=
1.0000 5.0000 9.0000
1.0000 5.0000 9.0000
4.0000 3.0000 2.5000
4.0000 3.0000 2.5000
0.1000 10.0000 1.0000+3.0000i
0.1000 10.0000 1.0000+3.0000i
» A(:,2)=[]
» A(:,2)=[]
A=
A=
1.0000 9.0000
1.0000 9.0000
4.0000 2.5000
4.0000 2.5000
0.1000 1.0000 + 3.0000i
0.1000 1.0000 + 3.0000i
» A(2,2)=[]
» A(2,2)=[]
??? Indexed empty matrix assignment is not allowed.
??? Indexed empty matrix assignment is not allowed.


ĐHBK Hànội 25
B/m Thiết bị điện – điện tử
Thao tác với ma trận

Truy cập các thành phần trong ma trận

1 2 3 4 5
A= 1 6 11 16 21
4 10 1 6 2
1
8 1.2 7 9 12 4 25 22
2 17
2
A(1:5,5) A(1:end,end)
A(:,5) A(:,end)
7.2 5 7 1 11
3 8 13 18 23
3
A(21:25) A(21:end)’
0 0.5 9 4 14 5 56 24
4 19
4
A(3,1)
A(3)
23 83 10 1315 0 10 25
5 20
5
A(4:5,2:3)
A([9 14;10 15])


ĐHBK Hànội 26
B/m Thiết bị điện – điện tử




Thao tác với ma trận

Nhân chia ma trận

[2x4]
» a = [1 2 3 4; 5 6 7 8];
» a = [1 2 3 4; 5 6 7 8];
[4x3]
» b = ones(4,3);
» b = ones(4,3);
[2x4]*[4x3] [2x3]
» c = a*b
» c = a*b
c=
c=
10 10 10
10 10 10
a(2nd row).b(3rd column)
26 26 26
26 26 26

» a = [1 2 3 4; 5 6 7 8];
» a = [1 2 3 4; 5 6 7 8];
» b = [1:4; 1:4];
» b = [1:4; 1:4];
» c = a.*b
» c = a.*b
c=
c=
1 4 9 16
1 4 9 16
c(2,4) = a(2,4)*b(2,4)
5 12 21 32
5 12 21 32


ĐHBK Hànội 27
B/m Thiết bị điện – điện tử
Thao tác với ma trận

Các hàm tiện ích
⎡1 0 0 ⎤
⎢0 1 0⎥ zeros – tạo ma trận rỗng
⎢ ⎥
ones – tạo ma trận 1
⎢0 0 1 ⎥
⎣ ⎦
eye – tạo ma trận đơn vị
rand – tạo ma trận các phần tử ngẫu nhiên
⎡1 0 0 ⎤ diag – tạo ma trận đường chéo
⎢0 2 0 ⎥ 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
⎢0 0 3⎥
⎣ ⎦
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…

ĐHBK Hànội 28
B/m Thiết bị điện – điện tử




Các toán tử logic

» Mass == [-2 10 NaN 30 -11 Inf 31];
= = equal to » Mass [-2 10 NaN 30 -11 Inf 31];
» each_pos == Mass>=0
» each_pos Mass>=0
> greater than
each_pos =
each_pos =
< less than 0 1 0 1 0 1 1
0 1 0 1 0 1 1
» all_pos == all(Mass>=0)
» all_pos all(Mass>=0)
>= Greater or equal all_pos =
all_pos =
0
=0)
» all_pos any(Mass>=0)
~ not all_pos =
all_pos =
1
& and 1
» pos_fin == (Mass>=0)&(isfinite(Mass))
» pos_fin (Mass>=0)&(isfinite(Mass))
| or pos_fin =
pos_fin =
0 1 0 1 0 0 1
0 1 0 1 0 0 1
isfinite(), etc. . . .

all(), any()
Lưu ý: 1 = TRUE
find 0 = FALSE

ĐHBK Hànội 29
B/m Thiết bị điện – điện tử
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



ĐHBK Hànội 30
B/m Thiết bị điện – điện tử




Công cụ hiển thị - Visualizing data

2-D Plotting
Hàm plot() – cú pháp

plot(x1, y1, 'clm1', x2, y2, 'clm2', ...)
plot(x1, y1, 'clm1', x2, y2, 'clm2', ...)

Thí dụ sử dụng hàm plot()

x=[0:0.1:2*pi];
x=[0:0.1:2*pi];
y=sin(x);
y=sin(x);
z=cos(x);
z=cos(x);
plot(x,y,x,z,'linewidth',2)
plot(x,y,x,z,'linewidth',2)
title('Sample Plot','fontsize',14);
title('Sample Plot','fontsize',14);
xlabel('X values','fontsize',14);
xlabel('X values','fontsize',14);
ylabel('Y values','fontsize',14);
ylabel('Y values','fontsize',14);
legend('Y data','Z data')
legend('Y data','Z data')
grid on
grid on

ĐHBK Hànội 31
B/m Thiết bị điện – điện tử
Công cụ hiển thị - Visualizing data

Title
Sử dụng TEX cho
phép hiển thị ký tự Hy
Lạp, các ký tự toán
học…




Ylabel
Grid



Legend

Xlabel
ĐHBK Hànội 32
B/m Thiết bị điện – điện tử




Công cụ hiển thị - Visualizing data

subplot subplot(rows,cols,index)
subplot(rows,cols,index)
Vẽ nhiều đồ
Cú pháp
thị trên cùng cửa
»subplot(2,2,1);
»subplot(2,2,1);
sổ
»…
»…

»subplot(2,2,2)
»subplot(2,2,2)
» ...
» ...

»subplot(2,2,3)
»subplot(2,2,3)
» ...
» ...

»subplot(2,2,4)
»subplot(2,2,4)
» ...
» ...



ĐHBK Hànội 33
B/m Thiết bị điện – điện tử
Công cụ hiển thị - Visualizing data

3-D plotting

x = 0:0.1:2;
x = 0:0.1:2;
y = 0:0.1:2;
y = 0:0.1:2;
[xx, yy] = meshgrid(x,y);
[xx, yy] = meshgrid(x,y);
zz=sin(xx.^2+yy.^2);
zz=sin(xx.^2+yy.^2);
surf(xx,yy,zz)
surf(xx,yy,zz)
xlabel('X axes')
xlabel('X axes')
ylabel('Y axes')
ylabel('Y axes')




ĐHBK Hànội 34
B/m Thiết bị điện – điện tử




Công cụ hiển thị - Visualizing data

Các dạng vẽ contour và 3-D

contourf
contour3
plot3
waterfall
mesh
surf




ĐHBK Hànội 35
B/m Thiết bị điện – điện tử
Công cụ hiển thị - Visualizing data

Một số thí dụ hiển thị khác

bar
bar3h
hist
area
pie3
rose




ĐHBK Hànội 36
B/m Thiết bị điện – điện tử




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 37
B/m Thiết bị điện – điện tử
M-files

Cửa sổ soạn thảo M-file: Editor/Debugger
Select
Workspace

Set Auto-
Breakpoints


tips




ĐHBK Hànội 38
B/m Thiết bị điện – điện tử




M-files

Function file Tên hàm (phải trùng với tên file)
Tham số vào
Tham số ra

Các dòng này sẽ
xuất hiện khi gõ function y = mean (x)
lệnh help mean % 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
Nội dung hàm m = n;
end
y = sum(x)/m;


ĐHBK Hànội 39
B/m Thiết bị điện – điện tử
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

if ((attendance >= 0.90) & (grade_average >= 60))
if ((attendance >= 0.90) & (grade_average >= 60))
pass = 1;
pass = 1;
end;
end;

Vòng lặp while
eps = 1;
eps = 1;
while (1+eps) > 1
while (1+eps) > 1
eps = eps/2;
eps = eps/2;
end
end
eps = eps*2
eps = eps*2


ĐHBK Hànội 40
B/m Thiết bị điện – điện tử




Viết chương trình trong MATLAB

Vòng lặp for
aa == zeros(k,k) %% Preallocate matrix
zeros(k,k) Preallocate matrix
for mm == 1:k
for 1:k
for nn == 1:k
for 1:k
a(m,n) == 1/(m+n -1);
a(m,n) 1/(m+n -1);
end
end
end
end

Lệnh điều kiện switch
method == 'Bilinear';
method 'Bilinear';
switch lower(method)
switch lower(method)
case {'linear','bilinear'}
case {'linear','bilinear'}
disp('Method is linear')
disp('Method is linear')
case 'cubic'
case 'cubic'
disp('Method is cubic')
disp('Method is cubic')
otherwise
otherwise
disp('Unknown method.')
disp('Unknown method.')
ĐHBK Hànội 41
end
end B/m Thiết bị điện – điện tử
Viết chương trình trong MATLAB

Kiểu dữ liệu




1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Page N
0 0 0 0
20 30 130 0
16
110 100 80 0
15
1 1 1
70 60 120 0
Numerical arrays 9
1 2 3 4
4 14 15 1
Multidimentional arrays 1 3 6 10
1 4 10 20
Structures and Cell arrays
Page 1
ĐHBK Hànội 42
B/m Thiết bị điện – điện tử




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

save fname load fname
save fname load fname
save fname x y z load fname x y z
save fname x y z load fname x y z
save fname -ascii load fname -ascii
save fname -ascii load fname -ascii
save fname -mat load fname -mat
save fname -mat load fname -mat

Lưu buổi làm việc
Dùng lệnh diary

diary
diary
diary fname
diary fname
diary (‘fname’)
diary (‘fname’)
diary on/off
diary on/off


ĐHBK Hànội 43
B/m Thiết bị điện – điện tử
Xuất/nhập dữ liệu

Cho tệp tin BINARY
Lệnh fopen, fclose, fread, fwrite, fseek:
» fid= fopen('mydata.bin' ', 'wb');
» fid= fopen('mydata.bin , 'wb');
» fwrite (fid,eye(5) , 'int32');
» fwrite (fid,eye(5) , 'int32');
» fclose (fid);
» fclose (fid);
» fid= fopen('mydata.bin' ', 'rb');
» fid= fopen('mydata.bin , 'rb');
» M= fread(fid, [5 5], 'int32')')
» M= fread(fid, [5 5], 'int32
» fclose (fid);
» fclose (fid);


Cho tệp tin TEXT
Lệnh textread
»[A1…An]=textread(filename,format,N)
»[A1…An]=textread(filename,format,N)

Lệnh dlmread
» M = dlmread(filename,delimiter,range)
» M = dlmread(filename,delimiter,range)
ĐHBK Hànội 44
B/m Thiết bị điện – điện tử




GUI

Graphics objects
Root
object

Figure
object

UIMenu Axes object UIControl
Axes object
objects
objects
Surface
object


Line
objects


Text
objects

ĐHBK Hànội 45
B/m Thiết bị điện – điện tử
GUI

Làm việc với object’s handle
Tạo cùng với lệnh

handle = plot(x_data, y_data, ...)

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)
ĐHBK Hànội 46
B/m Thiết bị điện – điện tử




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)

set(h_object,'PropertyName','New_Value',...)


Thay đổi thuộc tính đối tượng với Property Editor




ĐHBK Hànội 47
B/m Thiết bị điện – điện tử
GUIDE


static text
MATLAB
Frames
hỗ trợ việc
tạo giao diện
Axes
người dùng.




Checkbox Slider



Edit text


Radio Buttons Push Buttons
ĐHBK Hànội 48
B/m Thiết bị điện – điện tử




GUIDE

Property Inspector
Tạo giao diện với GUIDE
Guide Editor




Result Figure

ĐHBK Hànội 49
B/m Thiết bị điện – điện tử
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 50
B/m Thiết bị điện – điện tử




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




ĐHBK Hànội 51
B/m Thiết bị điện – điện tử
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()
Khai báo
thông số
mạch




Khai báo phương
trình trạng thái
x2
&
x1
= C
&
x2 V − x − R.x
1 2

ĐHBK Hànội 52
B/m Thiết bị điện – điện tử




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




BTVN: 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 53
B/m Thiết bị điện – điện tử
Simulink

Getting started

Commonly Used Blocks
Continuous
Discontinuous
Discrete
Logic and Bit Operations
Lookup Tables
Math Operations
Model Verification
Model-Wide Utilities
Ports and Subsystems
Signal Attributes
Signal Routing
Sinks
Sources

ĐHBK Hànội 54
B/m Thiết bị điện – điện tử




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

x' = Ax+Bu
y = Cx+Du
V Scope
State-Space



ĐHBK Hànội 55
B/m Thiết bị điện – điện tử
Simulink

Simulation\Configuration Parameters




Solver:
ODE23 – fast, wide tolerance
ODE45 – first choice
Solver options:
ODE123 – multi-step, tight tolerance, time consumming
Type: – variable-step or fixed-step
ODE15s – multi-step, stiff
Max step size: …

Min step size: …


ĐHBK Hànội 56
B/m Thiết bị điện – điện tử




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

[t, x, y] = sim(model, timespan, option, ut)

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 57
B/m Thiết bị điện – điện tử
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


ĐHBK Hànội 58
B/m Thiết bị điện – điện tử




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
Tran Vinh Thai
Mach tu may dien xoay chieu - day quan 2 lop DHBK Hanoi 9/2006.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
A A Z Z B B X X C C Y Y A A Z Z B B X X C C Y Y
A Z Z B B X X C C Y Y A A Z Z B B X X C C Y Y A


STD day quan pha A
5

0

-5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
STD day quan pha B
5

0

-5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
STD day quan pha C
5

0

-5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
STD quay day quan may dien xoay chieu
5
0
-5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24




ĐHBK Hànội 59
B/m Thiết bị điện – điện tử
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 60
B/m Thiết bị điện – điện tử




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



Control of DC motor
Urout



Armature Current
u_A
u_SW u_CW u_R u_A i_A
AR
u_CW u_R
Speed (radian)
Reference (-) u_SR (-) u_CR TR.s+1 T_L Omega
Voltage
Speed Current Controlled Rectifier DC Motor -K-
Controller Controller

Speed
ACS
Armature Current
Load Torque Converter
and Speed
Current
Switch
Sensor iAout
ASS

Speed nout
Inverse
Sensor
Load Torque voltage UA

voltage UA1
Tout
Clock




ĐHBK Hànội 61
B/m Thiết bị điện – điện tử
ĐHBK Hànội 62
B/m Thiết bị điện – điện tử




ĐHBK Hànội 63
B/m Thiết bị điện – điện tử
ĐHBK Hànội 64
B/m Thiết bị điện – điện tử
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản