Hallo

i have problem running my cvx code

m=6;

V=8;

n=4;

f=[100;0;0;50];

cvx_begin

variables t(m) x(n)

minimize( f’*x )*

subject to

(K1t(1)+K2*t(2)+K3*t(3)+K4*t(4)+K5*t(5)+K6*t(6)) * x == f*

Lt <= V

t>=0

cvx_end

where K1,K2,K3,K4,K5,K6 are (4x4) positive matrices and L is vector (length 6)

i get this error

Disciplined convex programming error:

Only scalar quadratic forms can be specified in CVX

.

`(K1t(1)+K2t(2)+K3t(3)+K4t(4)+K5t(5)+K6t(6)) * x == f`

is non-convex, as it involves multiplication of 2 CVX variables, t and x.

oh sorry i can see that now

so now i have this problem which is semidefinite and also i get the error

I=ones(4);

V=30;

m=13;

n=8;

cvx_begin sdp

variables tau(1) t(m)

minimize( tau )

subject to

[tau * I ,Q’ ;Q, K1*t(1)+K2*t(2)+K3*t(3)+K4*t(4)+K5*t(5)+K6*t(6)+K7*t(7)+K8*t(8)+K9*t(9)+K10*t(10)+K11*t(11)+K12*t(12)+K13*t(13) ] >=0

t>=0

sum(t)==V

cvx_end

where matrixes K1:K13 are positive definite (12x4) and Q is orthonormal (8x8)

and i get error

Error using cvx/cat (line 40)

All dimensions but the one being concatenated (2) must be equal.

Error in cvx/horzcat (line 2)

y = cat( 2, varargin{:} );

[tau*I,Q’;Q,*

error in : K1t(1)+K2*t(2)+K3*t(3)+K4*t(4)+K5*t(5)+K6*t(6)+K7*t(7)+K8*t(8)+K9*t(9)+K10*t(10)+K11*t(11)+K12*t(12)+K13*t(13)

] >=0

The dimensions of the matrix you formed are incompatible. If instead of being declared CVX variables, tau and t were MATLAB variables (having numerical values) of the same dimensions you declared in CVX, any operations you perform have to be acceptable to MATLAB, such as compatible dimensions. This error essentially doesn’t have to do with CVX, but with basic rules of MATLAB.

Also, a matrix needs to be square to be positive definite, which 12 by 4 is not. And any matrix to which you want to apply a semidefinite constraint must be not only square, but also symmetric.