ピヨピヨ日記 シンガポール編

シンガポール生活の日記とかいろいろ

Octave の練習

Machine Learning の勉強のために Octave を使いこなす必要があるので、スーパーざっくり勉強してみる!

Octave のインストール

Octave のインストールの仕方はこちら

piyopiyo-singapore.hatenadiary.jp

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