Sincerely search for help ;
I just have no idea if
R = R+weight(it)*log2(1+pow_abs(H_ef(it,it),2)/(sum_inf+1/SNR));
is a convex function or not. I don’t know how to fix it.
my code is given as follow:
cvx_clear
cvx_begin
variables W(M,K)
expressions H_ef temp_R
Q = Pc+pow_pos(norm(W),2)/eta;
H_ef = HW;
for o =1:K
for it=1:K
for k=1:K
if k~=it
sum_inf = sum_inf+pow_pos(norm(H_ef(it,k)),2);
end
end
R = R+weight(it)log2(1+pow_abs(H_ef(it,it),2)/(sum_inf+1/SNR));
end
temp_R(o) = R;
end
maximize (2ysqrt(r) - (y^2)*Q);
subject to
pow_pos(norm(W),2) <= Pmax;
for k=1:K
temp_R(k) >= Rmin;
end
cvx_end
solution(i) = cvx_optval;
W
solution(i)
end
I run my code and i get the error state:Disciplined convex programming error:
Cannot perform the operation: {convex} ./ {convex}
Thanks for help!