Windows での,Octave のインストール手順と,いくつかの代表的な計算(主成分分析など)をスクリーンショット等で説明する. Octaveは, 「MATLAB にほぼ互換」ともいわれるプログラミング言語.
【目次】
【サイト内の関連ページ】
先人に感謝.
初回起動時には次のような確認画面が開く
X = rand(2000); Y = rand(2000); tic(); Z = X * Y; toc();
(a) 行列と行列の積:
X = rand(2000,2000); Y = rand(2000,2000); tic(); Z = X * Y; toc()
(b) LU 分解 (LU decomposition):
X = rand(2000,2000); tic(); [L, U, P] = lu(X); toc()
(c) 正方行列の逆行列:
X = rand(2000,2000); tic(); [Z, RCOND] = inv(X); toc()
(d) 行列式 (determinant):
X = rand(2000,2000); tic(); [D, RCOND] = det(X); toc()
(e) Singular Value Decomposition (SVD):
X = rand(2000,2000); tic(); [U, S, V] = svd(X); toc()
(f) QR factorization (QR decomposition ともいう):
X = rand(2000,2000); tic(); [Q, R, P] = qr(X); toc()
(g) 分散共分散行列:
X = rand(2000,2000); Y = rand(2000,2000); tic(); Z = cov(X, Y); toc()
(h) 分散共分散行列の固有値と固有ベクトル(主成分分析):
X = rand(2000,2000); tic(); [v, L] = eig( cov(X) ); toc()
(i) princomp 関数による主成分分析:
pkg load statistics; X = rand(2000,2000); tic(); [pc, z, w, Tsq] = princomp(X); toc()
(j) 2次元の畳み込み(コンボリューション):
X = rand(2000,2000); B = rand(21); tic(); Z = conv2(X, B, 'full'); toc()
(k) 2次元の高速フーリエ変換 (FFT):
X = rand(2000,2000); tic(); Z = fft2(X, 2000, 2000); toc()
(l) convex hull:
x = rand(1000000,1); y = rand(1000000,1); tic(); H = convhull(x, y); toc()