“Disciplined convex programming error: Illegal operation: exp( {affine} ).”how can I fix it?

Uncategorized
Nov 14, 2023
X
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
M

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.