2

在 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));就是为什么我试图指定范数平方,而不仅仅是满足于找到未平方范数的最小值。)

4

1 回答 1

5

CVX 不支持()^2运营商。你可以做

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

或者

power(2,norm(A*x-b,2))
于 2016-04-14T18:49:22.273 回答