Hi,
I want to calculate the peak to peak (L1) norm of a polytopic system using LMIs. Ding 2013 suggests the following LMI solution:
In CVX I tried to set it up this way:
cvx_begin sdp
cvx_precision best
variable L1gamma
variable L1mu
variable L1lambda
variable P(n,n) symmetric
minimize (L1gamma)
P >= 0
L1lambda >= 0
L1mu >= 0
for k = 1:NumberOfSystems
% LMI form for discrete systems given by Ding (2013, p. 306)
[ P P*A(:,:,k) P*B(:,:,k); ...
A(:,:,k)'*P (1-L1lambda)*P zeros(n,r); ...
B(:,:,k)'*P zeros(r,n) L1mu.*eye(r); ] >= 0;
[ L1lambda*P zeros(n,r) C(:,:,k)';...
zeros(r,n) (L1gamma-L1mu).*eye(r) D(:,:,k)';...
C(:,:,k) D(:,:,k) L1gamma .*eye(m); ] >=0;
end
cvx_end
with
k: polytopic system number (vertex)
n: number of states
r: number of inputs
m: number of outputs
The relation of Ding’s matrices (pic attached) to mine are:
A_Ding = A;
E_Ding = B;
C_Ding = C;
F_Ding = D;
The problem is that mtimes, I know by intention, does not support L1lambda*P and (1-L1lambda)*P, i.e. a scalar * matrix expression.
Can I formulate the problem in a way that is accepted by CVX?
Thanks,
maka
For information that is the CVX code I use to calculate the L2 norm of a polytopic which works well, but has no scalar * matrix expression.
cvx_begin sdp
cvx_precision best
variable rho
variable P(n,n) symmetric
minimize (rho)
P >= 0
for k = 1:NumberOfSystems
% LMI form for discrete systems given by Ding (2013, p. 301)
% modified: rho in lowest line removed:
[ -P P*A(:,:,k) P*B(:,:,k) zeros(n,m); ...
A(:,:,k)'*P -P zeros(n,r) C(:,:,k)'; ...
B(:,:,k)'*P zeros(r,n) -rho*eye(r) D(:,:,k)'; ...
zeros(m,n) C(:,:,k) D(:,:,k) -eye(m); ] <= 0;
end
cvx_end