LMIterm problem: Error using lmiterm, Complex number, NaN or Inf not allowed in A, B.

조회 수: 3 (최근 30일)
Syue-Cian
Syue-Cian 2023년 9월 14일
답변: Sam Chak 2023년 9월 14일
Error using lmiterm
Complex number, NaN or Inf not allowed in A, B.
A'*P+PA<0, P>0
P = lmivar(1,[2 1]);
lmiterm([1 1 1 P],A_F',1,'s')
LMI = getlmis
[t,~] = feasp(LMI,[0 0 0 0 1])
From my view, I check the A_F. it is impossible for the upper three problem(Complex number, NaN or inf)
Maybe the P variable is NaN or inf in this problem?
I don't know what is the problem about this.

답변 (1개)

Sam Chak
Sam Chak 2023년 9월 14일
The code looks okay. Can you show the matrix A_F?
Performing Test #1:
% Test #1
A_F = eye(2)
A_F = 2×2
1 0 0 1
setlmis([])
P = lmivar(1, [2 1]);
lmiterm([1 1 1 P], A_F', 1, 's')
LMI = getlmis;
[t, xfeas] = feasp(LMI, [0 0 0 0 1])
t = -8.0837e+08
xfeas = 3×1
1.0e+08 * -4.0419 0 -4.0419
P = dec2mat(LMI, xfeas, P)
P = 2×2
1.0e+08 * -4.0419 0 0 -4.0419
e = eig(P)
e = 2×1
1.0e+08 * -4.0419 -4.0419
Performing Test #2:
% Test #2
A_F = eye(2)*1i
A_F =
0.0000 + 1.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 1.0000i
setlmis([])
P = lmivar(1, [2 1]);
lmiterm([1 1 1 P], A_F', 1, 's')
Error using lmiterm
Complex numbers, NaN, or Inf not allowed in A,B
LMI = getlmis;
[t, xfeas] = feasp(LMI, [0 0 0 0 1])
P = dec2mat(LMI, xfeas, P)
e = eig(P)

카테고리

Help CenterFile Exchange에서 Robust Control Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by