These comments are relative to problem `P`

as shown in your most recent post. My comments don’t address whether problem `P`

corresponds to whatever problem you really want to solve.

What is the value of `K`

? Your code is written as though it is 1; although you have `sum(eta)`

.

Your first constraint has `>=`

instead of `<=`

, and does not include the factor `(2^R - 1)`

on the right-hand side. You also omitted `Beta`

, which you can get away with using this input data, because `Beta = `

, but if it ever changed, your code would be wrong. If `eta`

is declared as `variable eta(K)`

, that would make it a column vector, and if Beta were K by 1, then you could use `.*`

in the constraint, which would produce the required ‘K’ constraints using just one MATLAB statement, which is faster for CVX and saves code compared to using a for loop.

Should `eta`

and `P_R`

be constrained to be `>= 0`

? if not, how do you guarantee the original denominator is positive, as is required to move it to the right-hand side?

You also have sloppy coding practices, such as setting the value of `rho`

, then setting it again before it is used.

I am not saying this is the entirety of what’s wrong with your code.