Machine Learning の勉強のために Octave を使いこなす必要があるので、スーパーざっくり勉強してみる!
Octave の起動
Terminal で次のコマンドを打てばok
octave
次のような感じで入力待ちになる
octave:1>
Octave での四則演算
Octave での四則演算の仕方は、普通のプログラミング言語と同じ。
加算: +
減算: -
乗算: *
徐算: /
octave:1> 1 + 2 ans = 3 octave:2> 15 - 8 ans = 7 octave:3> 4 * 8 ans = 32 octave:4> 64 / 8 ans = 8
Octave でのべき乗の計算
2 の 6 乗 であれば、2 ^ 6 といった形で表すことができます。これもほとんどのプログラミング言語と同じ
octave:5> 2 ^ 6 ans = 64
Octave で変数を使う
これも普通のプログラミング言語と一緒
octave:6> x = 2 x = 2 octave:7> y = 4 y = 4 octave:8> x + y ans = 6 octave:9> x - y ans = -2 octave:10> x * y ans = 8 octave:11> x / y ans = 0.50000 octave:12> x ^ y ans = 16
変数に値を代入する時も結果が表示されてしまうのですが、行末にセミコロン(;)をつけてあげると、結果が出力されなくなるらしい。
octave:13> z = 100 % 結果が表示される z = 100 octave:14> z = 100; % 結果が表示されない
ちなみに % はコメント。
また、つぎのようなコマンドをたたくことでプロンプトを変えることができるらしい。
PS1(プロンプトで表示したい文字列);
デフォルトだと、octave: 数字> といったようなプロンプトが表示されるのですが、単純に >といったような形にしたい場合は、 次のようなコマンドを入力してあげます。
PS1('> ');
Octave で数値のフォーマット
Octave でなにもせずに pi の結果を表示すると、つぎのように 3.1416 と小数点以下4桁まで表示されます。
> pi ans = 3.1416
より多くの桁(long)で表示したい場合は、format long コマンドを打ちます。
> format long > pi ans = 3.14159265358979
小数点以下2桁までの表示にしたい場合は、次のように書きます。
> sprintf('%0.2f', pi) ans = 3.14
また、結果の数字だけを表示したい場合は、disp関数を使用します。
> disp(sprintf('%0.2f', pi)) 3.14
Octave での真偽値判定
等しいかどうかは ==、等しくないかどうかは ~= で判定します。
結果が真であれば 1 が、偽であれば 0 が返ります。
> x = 3 x = 3 > x == 3 ans = 1 > x == 2 ans = 0 > x ~= 3 ans = 0 > x ~= 2 ans = 1
Octave でマトリクスを扱う
3 x 2 マトリクスはこんな感じで書けます。
> A = [1 2; 3 4; 5 6] A = 1 2 3 4 5 6
また、わかりやすいように、次のように書いてもいいみたいです。
> A = [1 2; > 3 4; > 5 6] A = 1 2 3 4 5 6
1 x 3 の vector、3-dimensional vector は次のように書けます。
> v = [1 2 3] v = 1 2 3
次のように書くと、xから始まり、yずつ増やしていって、z以下になるまでの Vector が作れます。
v = x:y:z
例:
> v = 1:3:16 v = 1 4 7 10 13 16
1 ~ 6 までの整数のベクターを作る場合は、次のように書けます。
> v = 1:6 v = 1 2 3 4 5 6
すべての数値が 1 の 2x3 マトリクス を作成する場合は、次のように書けます。
> ones(2,3) ans = 1 1 1 1 1 1
すべての数値を 2 にしたい場合は、つぎのように書けます。
> 2 * ones(2,3) ans = 2 2 2 2 2 2
すべての数値が 0 の 3x4 マトリクス を作成する場合は、次のように書けます。
> zeros(3,4) ans = 0 0 0 0 0 0 0 0 0 0 0 0
すべての数値がランダムの 5x2 マトリクス を作成する場合は、次のように書けます。
> rand(5,2) ans = 0.418930 0.229111 0.788978 0.751823 0.628767 0.039750 0.442152 0.807939 0.434310 0.952818
つぎのように書くことで、4x4 の identity matrix が書けます。
> eye(4) ans = Diagonal Matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1