cvx_begin
variable theta_opt(M,Omax)
variable omega_opt
for n=1:N %时隙
for k=1:K %用户个数24个
%用户
aa=exp(1i*omega_opt); %81行错误原因
grkH_bigphi_gur((n-1)*K+k)=rho0*M*exp(1i*omega_opt)/sqrt(drk(k).^2*dur(n).^2);
%干扰机
C=0;
for i=1:M
theta_opt(n,i)=2*(i-1)*pi/lambda*d*(phi_rk(n)-phi_ur(n))+omega_opt;
C=C+exp(1i*(theta_opt(n,i)+2*(i-1)*pi/lambda*d*(phi_re(n)-phi_ur(n))));
end
greH_bigphi_gur(n)=C/sqrt(dre(n).^2*dur(n).^2);
end
%约束
ggre=greH_bigphi_gur(n).^2;
ggd=rho0.^2*M.^2/sqrt(dre(n).^2*dur(n).^2);
subject to
ggre<=ggd
end
cvx_end
The error message does not seem very “accurate”. Nevertheless, CVX does not allow exp(complex expression)
, because CVX can’t determine curvature (convexity or concavity). CVX only allows nonlinear expressions which are convex or concave.