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
B/m Thiết bị điện – điện tử
2
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ử
3
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ử
4
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ử
5
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ử
6
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.
Đ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ố
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
RC
di
+ vC = Vs
dt
dvC
d 2v
+ LC 2C + vC = Vs
dt
dt
Biểu thức:
Y ( s) =
VC ( s)
VS ( 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.
Đ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ố
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ử
9
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
B/m Thiết bị điện – điện tử
11
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ử
12
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ử
13
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ử
14
Thí dụ: Runge-Kutta Order 4
ĐHBK Hànội
B/m Thiết bị điện – điện tử
15
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ử
16
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ử
17
Môi trường MATLAB
To get started, select "MATLAB Help" from the Help menu.
ĐHBK Hànội
B/m Thiết bị điện – điện tử
18
Tạo biến trong môi trường MATLAB
MATLAB – máy tính tay
»» -5/(4.8+5.32)^2
-5/(4.8+5.32)^2
ans
ans ==
-0.0488
-0.0488
»» (3+4i)*(3-4i)
(3+4i)*(3-4i)
ans
ans ==
25
25
»» cos(pi/2)
cos(pi/2)
ans
ans ==
6.1230e-017
6.1230e-017
»» exp(acos(0.3))
exp(acos(0.3))
ans
ans ==
3.5470
3.5470
Gán các biến trong MATLAB
»»
»»
aa == 2;
2;
bb == 5;
5;
»» a^b
a^b
ans
ans ==
32
32
»» xx == 5/2*pi;
5/2*pi;
»» yy == sin(x)
sin(x)
Tác dụng của dấu
“;”
Kết quả được
gán cho “ans”
nếu không đặt
tên biến
yy ==
11
»» zz == asin(y)
asin(y)
zz ==
Dấu () để truy cập
hàm
1.5708
1.5708
ĐHBK Hànội
B/m Thiết bị điện – điện tử
19
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ử
20
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
B/m Thiết bị điện – điện tử
21