9/16/2015
14
Đơn giản hoá sơ đồ simulink
53
Ví dụ: kết hợp simulink và m-file
Con lắc elliptic
x
z
O
l
m
p
m
t
u
x
u
l
Đơn giản hoá sơ đồ simulink
54
Ví dụ: kết hợp simulink và m-file
x
z
O
l
m
p
m
t
u
x
u
l
2
cos
( )
cos
t
p
p
p
p
m
m
m l
m l
m l
M q
1
0
B
0
sin
( , )
0
0
p
m l
C q q
0
( )
sin
p
m gl
g q
( )
( , )
( )
M q q C q q q g q
Bu
1
( ) [
( , )
( )]
q
v
v
M q
u C q v v g q
Đơn giản hoá sơ đồ simulink
55
function
xdot = xdot_elliptic_pendul(
ins
)
% cac tham so he
m1 = 5; % kg
m2 = 2; % kg
l = 0.5; % m
gr = 9.81; % m/s^2
d1 = 6.2; d2 = 0; % damping coefs
% ins = [1 2 3 4 5]'; % for test
% viet ra cac phuong trinh vi phan
q =
ins
(1:2);
% bien chua toa do suy rong
qdot =
ins
(3:4);
% bien chua van toc suy rong
u =
ins
(5);
% bien vao (bien dieu khien)
M = [m1+m2, m2*l*cos(q(2));
m2*l*cos(q(2)), m2*l^2 ];
C = [0, -m2*l*qdot(2)*sin(q(2));
0, 0];
D = diag([d1, d2]); % damping matrix
g = [0; m2*l*gr*sin(q(2))];
B = [1; 0]; % he hut dan dong
% B = [1, 0; 0, 1]; % he
đủ dan dong
vdot = inv(M)*(B*u- (C+D)*qdot - g);
xdot = [qdot; vdot];
Đơn giản hoá sơ đồ simulink
56
5. Mask and unmask ??
Kết hợp simulink-model với lệnh sim
•
Thực hiện mô phỏng mà không cần mở simulink
•
Sử dụng được mô hình simulink trong một m-file
•
Thuận tiện cho các bài toán lặp như tìm tham số tối ưu cho bộ điều
khiển bằng GA, PSO, Nelder-Mead,…,
•
Cú pháp: xem >> help sim