とゆーわけで,実際にCVXを触ってみる.examplesフォルダのquickstartをユーザガイドを見ながら実行していく.
CVX: quickstart1 Least squares
単純なLeast squares.これならx=A\b;と解いてもいけちゃう.
minimize ||Ax-b||2
- m = 16; n = 8;
- A = randn(m,n);
- b = randn(m,1);
- cvx_begin
- variable x(n);
- minimize( norm(A*x-b) );
- cvx_end
全ての変数はobjective functionやconstraintsを定義する前に宣言しなければならない.
CVXの計算が終わると,以下の変数ができる.
- cvx_optval: Objective functionの値
- cvx_status: 計算結果の状態(Solved, Unbounded, Infeasible).
- cvx_slvtol: solverによって得られた許容値.
- cvx_slvitr: 解くのにかかったiterationの回数.