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