MATLAB LECTURE - Trang 60

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