[問題]LMI求助 gevp指令求解相關

看板MATLAB作者 (悠哉看雲)時間11年前 (2013/04/11 18:12), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
最近在寫控制法 其中有一部分LMI的問題一直無法解決 用各種方法debug及上網搜尋解答依然找不到方法 希望有這方面的高手能夠幫忙 問題如下 --------------------------------------------- LMI Problem P>0 H2'*P2*H2>1 uT'*Q*T>N'*N 其中變數P1 P2 u(generalized eigenvalue) P=[P1 0 ; 且P1 P2 皆為symmetry 0 P2] Q則為一個以P1,P2組成的矩陣 Q=[P1-Gtil11'*P1*Gtil11 Gtil12'*P1*Gtil11; Gtil11'*P1*Gtil12 P2-Gtil12'*P1*Gtil12] 目標為minimize u 其他的H2 與Gtill11 Gtil12 T皆為已知的矩陣 維度設定都有再三確認沒有問題 變數有兩個矩陣 分別為 P1 P2 而u也是變數 但因為符合gevp型式(generalized eigenvalue variable problem) 於下方以gevp求解 未將其以lmivar設定為variable -------------------------------------------------- code如下 %% LMI optimization,F N=[1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 0 0 0 1]; Gtil11= [ 5.4648 1.0000 0 0 0; -80.3294 2.9756 0 0 0; -4.5025 0 1.1156 1.0345 2.4569; 80.2795 0 0.2548 3.0441 4.8847; -0.0250 0 -0.0260 -0.0002 0.9846]; Gtil12= [-8.1608; 69.6420; 4.3328; -77.2530; 0.0241]; Ttil= [ 1.0000 0 -1.0000 0 0 0; 0 1.0000 0 -1.0000 0 0; 0 0 1.0000 0 0 0; 0 0 0 1.0000 0 0; 0 0 0 0 1.0000 0; 0 0 0.0400 0.0090 0.6418 1.0000;]; H2=0.0001; NN=N'*N; setlmis([]); P1=lmivar(1,[2*n-m,1]); P2=lmivar(1,[m,1]); lmiterm([-1 1 1 P1],1,1); % LMI #1: P1 lmiterm([-1 2 1 0],zeros(1,5); % LMI #1: zeros(1,5) lmiterm([-1 2 2 P2],1,1); % LMI #1: P2 lmiterm([2 1 1 P2],H2',H2); % LMI #2: P2 lmiterm([-2 1 1 0],1); % LMI #2: 1 lmiterm([3 1 1 0],NN(1:5,1:5)); lmiterm([3 1 2 0],NN(6,1:5)); lmiterm([3 2 2 0],NN(6,6)); lmiterm([-3 0 0 0],Ttil); % LMI #3: Ttil lmiterm([-3 1 1 P1],1,1); % LMI #3: P1 lmiterm([-3 1 1 P1],Gtil11',-Gtil11); % LMI #3: -Gtil11'*P1*Gtil11 lmiterm([-3 2 1 P1],Gtil12',-Gtil11); % LMI #3: -Gtil12'*P1*Gtil11 lmiterm([-3 2 2 P2],1,1); % LMI #3: P2 lmiterm([-3 2 2 P1],Gtil12',-Gtil12); % LMI #3: -Gtil12'*P1*Gtil12 lmisys=getlmis; [ufinv,xopt]=gevp(lmisys,1); %opt3 ------------------------------------------------------------------------------ 但顯示的逼近結果如下 Solver for generalized eigenvalue minimization Iterations : Best objective value so far 1 2 3 4 5 6 7 8 9 10 11 12 13 * switching to QR 14 15 16 17 18 * upper bound on optimal value set to 1.00e+08 19 20 21 22 23 * upper bound on optimal value set to 1.00e+11 24 25 Result: infeasibility 可以看出他並沒有在逼近 於網路上也有看到有人有類似的情況發生 但卻沒有得到相關的解答 還請高手能否看出端倪 或有gevp LMI的心得可以分享 先謝過了!!小的願意贈送全身的P幣T_T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.81.229 ※ 編輯: mibassmi 來自: 111.248.81.229 (04/11 18:44)

04/13 17:13, , 1F
lmi2 是不是寫反了?
04/13 17:13, 1F

04/13 17:19, , 2F
lmi3 也是?是最上描述寫錯還是程式碼的寫錯
04/13 17:19, 2F

04/13 17:20, , 3F
報歉,lmi3沒錯.
04/13 17:20, 3F

04/17 17:46, , 4F
感謝大大回復 小的之後發現LMI基本上沒有問題的 3q
04/17 17:46, 4F

04/20 09:14, , 5F
所以lmi2沒問題?我看你程式所描述的是 xxx<1 這件事,和你
04/20 09:14, 5F

04/20 09:16, , 6F
最上方式子不符,修改一下吧
04/20 09:16, 6F

05/27 00:11, , 7F
1這不是詹博嗎
05/27 00:11, 7F
文章代碼(AID): #1HPeo9Q3 (MATLAB)