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

3 views (last 30 days)
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.

Answers (1)

Sam Chak
Sam Chak on 14 Sep 2023
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)

Categories

Find more on Robust Control Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!