Linear Matrix Inequality(LMI) دانشگاه علم و صنعت ايران دانشکده مهندسي برق – گروه کنترل Linear Matrix Inequality(LMI) ارائه دهنده : امير اسلامي مهرجردي استاد درس : دکترشمقدری
فهرست عناوين تعاریف اولیه و معرفی LMI انواع مسائل LMI کد نوبسی در متلب
α x + (1 −α )y ∈ Ω for any α ∈ (0, 1) تعاریف اولیه تعریف مجموعه محدب تابع محدب مجموعه Ω ⊆ Rn را محدب گویند اگر برای هر x و y در آن ، خط واصل آن دو به طور کامل در آن قرار بگیرد. α x + (1 −α )y ∈ Ω for any α ∈ (0, 1) تابع افاین ماتریس مثبت معین
معرفیLMI تعریف LMI مثالهایی از LMI
تبدیل و ترکیب LMI تبدیل به فرم LMI ترکیب LMI تبدیل نامساوی به LMI
نمایش LMI LMI یک محدوده محدب در فضا است لذا نقطه بهینه سراسری دارد
فهرست عناوين تعاریف اولیه و معرفی LMI انواع مسائل LMI کد نوبسی در متلب
انواع مسائل LMI LMI feasibility problem مسئله بهینه سازی خطی LMI LMI linear optimization problem مسئله کلی مقدار ویژه LMI LMI generalized eigenvalue problem
LMI feasibility problem
مسئله بهینه سازی خطی LMI LMI linear optimization problem
مسئله کلی مقدار ویژه LMI LMI generalized eigenvalue problem
فهرست عناوين تعاریف اولیه و معرفی LMI انواع مسائل LMI کد نوبسی در متلب
معرفی LMI در متلب بیان آغاز تعریف LMI جدید setlmis([]); معرفی متغییر ها LMI معرفی قیدهای مسئله ییان شروع قید جدید (LMI) BRL=newlmi; تکمیل هر قید بیان کامل شدن قید ومتغییر مسئله و ذخیره آن lmisys=getlmis بیان نوع مسئله و حل آن
معرفی LMI در متلب X = lmivar(type,struct) type=0 diagonal structure type=1: Symmetric matrices with a block-diagonal structure.. type=2: Full m-by-n rectangular matrix. type=3: Other structures. [X,n,sX] = lmivar(type,struct) sX1 givet he decision variable content of X1 N= number of decision variable
معرفی LMI در متلب TYPE 1 X = lmivar(type,struct) type=1: Symmetric matrices with a block-diagonal structure Each diagonal block is either full(arbitrary symmetric matrix), scalar (a multiple of the identity matrix),or identically zero. struct(r,1) is the size of the r-thblock struct(r,2) is the type of the r-thblock (1 for full, 0 for scalar, –1 for zero block). مثال نوع ماتریس کد متلب X1 is a3-by-3 symmetric matrix X1 = lmivar(1,[3 1]) X3 = Δ is an arbitrary 5-by-5 symmetric matrix, δ1 andδ2 are scalars, and I2 denotes the identity matrix of size 2. X3 = lmivar(1,[5 1;1 0;2 0])
معرفی LMI در متلب TYPE 2 X = lmivar(type,struct) type=2: Full m-by-n rectangularmatrix. Set struct = [m,n] in this case. مثال [X1,n,sX1] = lmivar(2,[2 3]) sX1 = 1 2 3 4 5 6 نوع ماتریس کد متلب X1 is 2-by-3 rectangular matrices X1=lmivar(2,[2 3]) X2 is 3-by-2 rectangular matrices X2 = lmivar(2,[2 3])
معرفی LMI در متلب TYPE 3 X = lmivar(type,struct) type=3: Other structures WithType 3, each entry of X is specified as zero or±x where xn isthe n-th decision variable. struct is a matrix of the samedimensions as X such that struct(i,j)=0 if X(i,j) is a hard zero struct(i,j)=n if X(i,j) = xn struct(i,j)=–n if X(i,j) = –xn مثال setlmis([]) [X1,n,sX1] = lmivar(2,[2 3]) [X2,n,sX2] = lmivar(2,[3 2]) [X,n,sX] = lmivar(3,[sX1,zeros(2);zeros(3),sX2])
‘s’ به معنی اضافه شدن transpose متییر وارد شده به LMI بیان قیدها lmiterm([BRL 1 1 X],1,A,'s'); - اسم LMI + سمت راست (-) یا چپ (+) سطر و ستون بلوک در صورت صفر بودن ضریب ماتریس کلی نام متغییر LMI در صورت صفر بودن متغییر ندارد ضریب قبل از متغییر LMI ضریب بعد از متغییر LMI ‘s’ به معنی اضافه شدن transpose متییر وارد شده به LMI
lmiterm(termID,A,B,flag) بیان قیدها lmiterm(termID,A,B,flag) lmiterm([1 1 1 X2],2*A,A') % 2*A*X2*A' lmiterm([1 1 1 x3],-1,E) % -x3*E lmiterm([1 1 1 0],D*D') % D*D' lmiterm([1 2 1 -X1],1,B) % X1'*B lmiterm([1 2 2 0],-1) % -I lmiterm([-1 0 0 0],M) % outer factor M lmiterm([-1 1 1 X1],C,C','s') % C*X1*C'+C*X1'*C‘ lmiterm([-1 2 2 X2],-f,1) % -f*X2
BRL=newlmi; lmiterm([BRL 1 1 X],1,A,'s'); lmiterm([BRL 1 1 S],C',C); بیان قیدها BRL=newlmi; lmiterm([BRL 1 1 X],1,A,'s'); lmiterm([BRL 1 1 S],C',C); lmiterm([BRL 1 2 X],1,B); lmiterm([BRL 2 2 S],-1,1); % 2nd LMI X > 0 Xpos=newlmi; lmiterm([-Xpos 1 1 X],1,1); % 3rd LMI S > I Slmi=newlmi; lmiterm([-Slmi 1 1 S],1,1); lmiterm([Slmi 1 1 0],1);
بیان مسئله و استخراج جواب TYPE 3 بیان مسئله و استخراج جواب مسائل شدنی [tmin,xfeas] = feasp(lmis) مثال setlmis([]) p = lmivar(1,[2 1]) lmiterm([1 1 1 p],1,a1,'s') % LMI #1 lmiterm([2 1 1 p],1,a2,'s') % LMI #2 lmiterm([3 1 1 p],1,a3,'s') % LMI #3 lmiterm([-4 1 1 p],1,1) % LMI #4: P lmiterm([4 1 1 0],1) % LMI #4: I lmis = getlmis
بیان مسئله و استخراج جواب مسائل برنامه ریزی خطی [copt,xopt] = mincx(lmisys,c,options,xinit,target) ndec = decnbr(lmisys) پیدا کردن ابعاد c
بیان مسئله و استخراج جواب decvec = mat2dec(lmisys,X1,X2,X3,...) مثال decv = mat2dec(lmisys,X0,Y0) Ans= 1 3 -1 5 1 2 3 4 5 6
فهرست عناوين تعاریف اولیه و معرفی LMI انواع مسائل LMI کد نوبسی در متلب
تبدیل متجانس (Congruent transformation) تکنیکهای تبدیل به LMI تغییر متغیر تبدیل متجانس (Congruent transformation) مکمل شور(Schur complement )
تکنیکهای تبدیل به LMI تغییر متغیر
تبدیل متجانس (Congruent transformation) تکنیکهای تبدیل به LMI تبدیل متجانس (Congruent transformation)
با تشكر