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.