cvx_begin
cvx_solver sedumi
variable X(N+1,N+1) hermitian;
maximize (trace(Upsilon_k * X))
subject to
for i = 1:(N+1)
X(i,i) == 1;
end
X == hermitian_semidefinite(N+1);
trace ((X)(Zc1_1-gamma(Zc1_2+Zc1_3+Zs_1))) >= gamma * (sigma_UE);
trace ((X)(Zc2_2-gamma(Zc2_1+Zc2_3+Zs_2))) >= gamma * (sigma_UE);
trace ((X)(Zc3_3-gamma(Zc3_1+Zc3_2+Zs_3))) >= gamma * (sigma_UE);
cvx_end
cvx_optval
X_opt = X;
All but section 1o f Debugging infeasible models - YALMIP applies to CVX.
Note that your code segment
for i = 1:(N+1)
X(i,i) == 1;
end
is not “wrong”, but can be vectorized by using diag(X) == 1
instead of the for loop.
ok, i will change it,
the page doesn’t exist
Sorry. I fixed the link. Some spurious characters got onto the end of it.
1 Like