Monday, October 13, 2014

Menulis Sistem LMI dengan MATLAB

Kali ini saya menulis tentang Linear Matrix Inequality (LMI) atau Pertidaksamaan Matriks Linier dalam konteks teknik kontrol, khususnya kode untuk menyatakan suatu sistem LMI dengan bahasa pemrograman MATLAB.

Contoh ini saya ambil dari dokumentasi MATLAB LMI Toolbox di halaman 184. Diketahui suatu sistem LMI berikut yang melibatkan variabel matriks X dan S. Matriks A, B, dan C mewakili suatu sistem kontrol yang telah didefinisikan.

image

Dalam sistem ini, terdapat tiga pertidaksamaan. Untuk menyatakan sistem LMI ini dalam MATLAB, diwakili kode program berikut.

setlmis([]);           % inisialisasi sistem LMI

X=lmivar(1,[6 1]);     % deklarasi variabel matriks X,

                       % matriks persegi simetri penuh, 6x6

S=lmivar(1,[2 0;2 1]); % deklarasi variabel matriks S,

                       % matriks persegi simetri campuran, 4x4

% 1st LMI

lmiterm([1 1 1 X],1,A,'s');   % XA + (XA)T < 0

lmiterm([1 1 1 S],C',C);      % CTSC < 0

lmiterm([1 1 2 X],1,B);       % XB < 0

lmiterm([1 2 2 S],-1,1);      % -S < 0

% 2nd LMI

lmiterm([-2 1 1 X],1,1);      % 0 < X

% 3rd LMI % dua baris di bawah menyatakan suku 1 < S

lmiterm([-3 1 1 S],1,1);

lmiterm([3 1 1 0],1);

LMISYS = getlmis;             % buat LMI nya

 

Bacaan penunjang:

Dokumentasi fungsi lmivar, lmiterm, getlmis.

-------------------------------------------------------------------

by: Nur Q | alfiyahibnumalik@gmail.com | Surabaya | Indonesia

No comments:

Post a Comment