Octave メモ

行ベクトルをくり返す行列をつくる

octave:> a = [2,4,6];
octave:> b = a(ones(1,2), [1,2,3])  
b =

  2  4  6
  2  4  6

octave:> b = a(ones(1,2), (1:columns(a)))
b =

  2  4  6
  2  4  6

列の交換

octave:> a = [1, 2; 3, 4]
a =

  1  2
  3  4

octave:> a(:,[2,1])
ans =

  2  1
  4  3

行列の左端の列を削除する

octave:> a = [1,2,3;4,5,6;7,8,9];
octave:> b = a(:,(2:columns(a)))
b =

  2  3
  5  6
  8  9

history を編集して再実行する

まず、標準のエディターが emacs で起動がおそいので、EDITOR="vi" として、history を編集するためのエディターを vi に変更します。history 10 でヒストリーの後から10行を表示させ、edit_history で修正したいコマンドを vi で編集します。ZZ で vi を終了すると編集したコマンドが実行されます。

octave:> EDITOR="vi";
octave:> t = (-3:0.1:3);
octave:> plot (t, sin(t))
octave:> history 4
 1046 EDITOR="vi";
 1047 t = (-3:0.1:3);
 1048 plot (t, sin(t))
 1049 history 4
octave:19> edit_history 1047 1048