如何在 CVX 中平方范数?

How do I square a norm in CVX?

在 Matlab 的 CVX 包中,我想最小化 $|Ax-b|_2^2$ 之类的函数。表示 2 范数的平方。我如何在 CVX 中编码?我都试过了:

minimize (norm(A*x-b,2)^2);

minimize (norm(A*x-b,2)*norm(A*x-b,2));

但都抛出了错误。是否有我应该使用的内置函数?

(注意,实际上我正在尝试最小化该范数平方加上另一个范数的总和,例如 minimize (norm(A*x-b,2)^2 + norm(x,1)); 所以这就是为什么我试图指定范数平方而不是仅仅满足于找到未平方范数的最小值。)

CVX 不支持 ()^2 运算符。你可以做

(A*x-b)'*(A*x-b)  

power(2,norm(A*x-b,2))