Dear experts,
My procedure is written as follows:
+++++++++++++++++++++++
Pbd=10;
Dbd=10;
Ddr=15;
Ddc=12;
noise=0.00000000011000;
conversion=0.8;
h1=0.69;
h2=0.65;
h3=0.58;
Hbd=h1Dbd^(-3);
Hdr=h2Ddr^(-3);
Hdc=h3Ddc^(-3);
ps=0.4;
w1=1;
w2=0.2;
theta1=(conversionpsPbdHbdHdc)/noise;
theta2=(conversionpsPbdHbdHdr)/noise;
theta3=log2(1+((1-ps)PbdHbd)/noise);
%%
cvx_startup;
cvx_begin
variables x y z r;
rdr=(1-2z)log(1+ytheta2/(1-2z));
rbd=zlog(1+((1-ps)PbdHbd)/noise);
rdc=zlog(1+x*theta1/z);
maximize (w1r+w2rdr);
subject to
x+y<=z;
r<=rbd;
r<=rdc;
x>0;
y>0;
z>0;
1-2z>0;
cvx_end
++++++++++++++++
And the error is:
Setting CVX paths…done.
错误使用 . (line 173)
Disciplined convex programming error:
Cannot perform the operation: {real affine} ./ {real affine}
出错 ./ (line 19)
z = times( x, y, ‘./’ );
出错 * (line 36)
z = feval( oper, x, y );
出错 / (line 15)
z = mtimes( x, y, ‘rdivide’ );
出错 shili4 (line 27)
rdr=(1-2z)log(1+ytheta2/(1-2z));
++++++++++++++++++
I have tested this procedure and “rbd=zlog(1+((1-ps)PbdHbd)/noise)" is right while "rdr=(1-2z)log(1+ytheta2/(1-2z))" is wrong. I guess the problem exists in "ytheta2/(1-2*z)”. Could you please help me?