前言
在使用matlab cvx求解凸优化问题时遇到了一些问题,在这里记录一下。
Disciplined convex programming error: Cannot perform the operation: {real affine} .* {invalid}
这个问题困扰了我好久TAT
先前的代码中定义variable为x
看报错的意思应该是,x为real affine,那么就是与x(i)相乘的后面那几项中出现了问题
最后找到是Y(1,i)的问题
因为Y在定义的时候,表达式在第一次迭代时,分母中出现了0,相除的时候就成了invalid
解决方法是,在分母中加入了一个很小的浮点数eps即可解决问题
耶!