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

3 Ansichten (letzte 30 Tage)
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.

Antworten (1)

Sam Chak
Sam Chak am 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)

Kategorien

Mehr zu Robust Control Toolbox finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by