I am Charmie

メモとログ

CVX: quickstart 1 Least squares

とゆーわけで,実際にCVXを触ってみる.examplesフォルダのquickstartをユーザガイドを見ながら実行していく.
CVX: quickstart1 Least squares
単純なLeast squares.これならx=A\b;と解いてもいけちゃう.
minimize ||Ax-b||2

  1. m = 16; n = 8;
  2. A = randn(m,n);
  3. b = randn(m,1);
  4. cvx_begin
  5. variable x(n);
  6. minimize( norm(A*x-b) );
  7. cvx_end
cvx_beginとcvx_endの間にConvex optimizationの定義や宣言をする.
全ての変数はobjective functionやconstraintsを定義する前に宣言しなければならない.
CVXの計算が終わると,以下の変数ができる.
  • cvx_optval: Objective functionの値
  • cvx_status: 計算結果の状態(Solved, Unbounded, Infeasible).
  • cvx_slvtol: solverによって得られた許容値.
  • cvx_slvitr: 解くのにかかったiterationの回数.
まー初回はこんなもん.単なるHello Worldみたいなもん.