Search on the blog

2013年2月26日火曜日

Octaveメモ(1)

GNU Octaveをインストールした。
当初quadratic programmingのソルバーにCGALを使う予定だったが、OctaveにもQPのソルバーが入ってるようなのでこちらを使うことにした。学生時代に使っていたMATLABと似ているのでOctaveの方が個人的には使いやすい。

インストール
ubuntu universeのレポジトリに含まれているのでapt-getで。
sudo apt-get install octave


QPを解いてみる
とりあえず手計算でも解ける簡単な問題から。
ソルバーの使い方はここ

octave> X0 = [0;0;0];
octave> H = [2,0,0;0,2,0;0,0,2];
octave> Q = [0;0;0];
octave> A = [1,1,1];
octave> B = [1];
octave> LB = [];
octave> UB = [];
octave> A_LB = [];
octave> A_IN = [1,1,1];
octave> A_UB = [];
octave> [X, OBJ, INFO, LAMBDA] = qp (X0, H, Q, A, B, LB, UB,A_LB, A_IN, A_UB);
octave> X
X =

   0.33333
   0.33333
   0.33333

octave> OBJ
OBJ =  0.33333
octave> LAMBDA
LAMBDA =  0.66667
いいですねぇ、使いやすいです。

0 件のコメント:

コメントを投稿