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

3 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Sam Chak
Sam Chak il 14 Set 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)

Categorie

Scopri di più su Robust Control Toolbox in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by