函数
cvx求解器中只能用一些特定的函数。参考内容
关于sum
s u m ( x ) sum(x) sum(x)在matlab中可以附带后缀’all’对矩阵内所有元素求和,但在cvx中,只能对某一维度求和,要对矩阵求和需要 s u m ( s u m ( X ) ) sum(sum(X)) sum(sum(X))。
关于 rel_entr
可以使用该函数去构 l o g ( 1 + x ) log(1+x) log(1+x)之类的函数,但要注意需要保证函数是凸的,(若弹出了报错信息,大概率是由于函数非凸)。信息工程中可能会遇到,需要将 t r a c e ( C X ) trace(CX) trace(CX)放入log中,此时会报错:{complex affine}不能放在log里,这是由于log内只能放实数,若我们能保证 t r a c e ( C X ) trace(CX) trace(CX)是实数,可以用 r e a l ( ∗ ) real(*) real(∗)将其括起来,应该不影响结果。