hi,
I encountered problems when using cvx, and the code is as follows :
cvx_begin
variable W_W(N,N) semidefinite
variables t0 t(K,1) p_p(K,1);
expressions R1(K,1) R2(K,1) R3(K,1) R4(K,1) R5(K,1)
for k=1:K
(delta^2)/p_p(k,1)/(g(k)^2))+rel_entr((t(k,1)^2)*(delta^2)/p_p(k,1)/(g(k)^2),t(k,1)+(t(k,1)^2)*(delta^2)/p_p(k,1)/(g(k)^2)))/log(2);
%R1(k,1)=t(k,1)*log(1+p_p(k,1)*g(k)^2/(t(k,1)*delta^2))/log(2);
R1(k,1)=-rel_entr(t(k,1),p_p(k,1)*g(k)^2/delta^2+t(k,1));
end
for k=1:K
R2(k,1)=p_p(k,1);
R3(k,1)=(t0+t(k,1))*PkC;
R4(k,1)=t(k,1)*PIR;
end
R5(1,1)=chi*(G1*W_W(N,N)*G1');
R5(2,1)=chi*(G2*W_W(N,N)*G2');
maximize sum(R1)-eta*(sum(R2)+t0*(PPS+N*Pe)+sum(R3)+sum(R4)+trace(W_W(N,N))-sum(R5));
subject to
t0+sum(t)<=T;
t0>=0;
trace(W_W(N,N))<=t0*Pmax;
for k=1:K
t(k,1)>=0;
p_p(k,1)+PkC*(t0+t(k,1))<=chi*(G1*W_W(N,N)*G1');
R1(k,1)>=Rkmin;
end
cvx_end
The error shown is as follows:
Error using sparse
Indexes exceed the matrix dimension.
Error pretransfo ( line 444 )
dblks = cumsum ( full ( sparse ( 1, istrt, 1,1, sdpL ) ) ) ;
error sedumi ( line 261 )
[ A, b, c, K, prep, origcoeff ] = pretransfo ( A, b, c, K, pars ) ;
Error cvx _ run _ solver ( line 50 )
[ varargout { 1 : nargout } ] = sfunc ( input { : } ) ;
Error cvx _ sedumi > solve ( line 245 )
[ xx, yy, info ] = cvx _ run _ solver ( @ sedumi, At, b, c, K, pars, ’ xx ', ’ yy ', ’ info ', settings, 5 ) ;
Error cvxprob / solve ( line 253 )
[ x, status, tprec, iters2, y, z ] = shim.solve ( [ At, Anew2 ], [ b ; bnew ], c, cones, true, prec, solv. settings, eargs { : } ) ;
Error cvx _ end ( line 88 )
solve ( prob ) ;
Error Untitled2 ( line 99 )
cvx _ end
I set the breakpoint before the line cvx _ end, and the operation will not report errors. But as long as it runs to cvx _ end, the error will be reported.
I don ’ t know how to solve it, please help me!