在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));
这样的另一个范数,这就是为什么我试图指定范数的平方而不是只是满足于找到不平等的最小标准。)
答案 0 :(得分:3)
CVX不支持()^2
运算符。你可以做到
(A*x-b)'*(A*x-b)
或
power(2,norm(A*x-b,2))