トップ(最新)

nDiki : Octave

GNU Octave

数値計算言語。

変数への代入

'=' を使う

 x = 5

代入で最後に ';' をつけると代入結果は表示されない。

変数の中身を表示

変数名

 x

変数一覧を表示

 who

変数のクリア

'clear' を使う

 clear x

行列

[, ] を使う。1行目から順に各要素を入力していき、行と行の間は ';' で区切る

 [1 2; 3 4]

行列の加算・減算

'+', '-'

  [1 2; 3 4] + [5 6; 7 8]

行列の積

'*'

 [1 2; 3 4] * [5 6; 7 8]

転置行列

行列の後ろに' をつける

 [1 2; 3 4]'

行列固有値を求める

eig を使う。

 eig([3 1 1; 1 2 0; 1 0 2])

固有値分解

eig を使う

 m = [1 2; 3 4]
 [v, lambda] = eig(m)
 m' * m
 v * lambda * v'

固有値は、lambda の対角成分に値の大きい順に並ぶ(絶対値順ではない)。

特異値分解 (singular value decomposition)

svd を使う

 [u, s, v] = svd([1 2; 3 4])
 u * s * v'

行列の各列ごとに2ノルム正規化

 function retval = normalize_column(M)
   [m, n] = size(M);
   for i = 1:n
      nr = norm(M(:, i));
      if (nr != 0)
        nv([1:m], i) = nr;
      else
        nv([1:m], i) = 1;
      endif
   endfor
   retval = M ./ nv;
 endfunction

 m = [1, 2; 3 4]
 a = normalizeColumn(m)

もっと良い方法があると思う。

別スクリプトを include する。

 source("script.m")

source は遅い。データ(行列)を読み込むだけなら load の方が良い。

sscanf

 [val, count] = sscanf(line, "%s")

では val は column vector にならずに、文字列が連結されてしまう。

関連情報

スポンサード リンク

Related term

2002年8月27日 (火)

Inline::Octave このエントリーを含むはてなブックマーク

Perl コードに直接 Octave のコードを埋め込むためのモジュール。 Octave を使った実験用プログラムを書くのによさそげ。

スポンサード リンク


[ 8月27日全て ]

2004年6月14日 (月)

PDL疎行列 このエントリーを含むはてなブックマーク

計算しようとしている行列が 2000 x 2000 次元を超えているので、PDLで素直に計算させるとしんどい。 PDLはネイティブに疎行列をサポートしていないので、独自に実装する必要があるので面倒だな(一応 CPANPDL::Sparse というのもあるにはある)。

外部で計算させようかとも思ったが、GNU Octave もネイティブサポートなし。

やはりPDL::PPを使って自前でPDL上に実装するしかないか?


[ 6月14日全て ]

■よく検索されるキーワード

torrent(56) 提案書(47) perl(45) windows(37) linux(31) 使い方(27) 書き方(25) debian(22) x31(22) usb(22) cvs(20) subversion(20) インストール(18) ドラマ(18) c#(17) mp980(17) svn(17) 修理(17) 手帳(16) ssh(15) 評判(15) アジェンダ(15) java(15) デロンギ(14) ガントチャート(13) 感想(13) n-01a(13) centos(13) tc-1(13) 充電式カイロ(13) ノート(12) ダイソー(12) thinkpad(12) rcs(12) f-01a(12) ヤマダ電機(12) ganttproject(12) 無印(11) ppm(11) レビュー(11) カイロ(11) 壁紙(11) 静電気(10) 動画(10) バッグインバッグ(10) ヨドバシカメラ(10) サンプル(10) アジェンダとは(10) wiki(10) ミノルタ(10) グッズ(10) 作り方(10) tortoisesvn(10) firefox(9) so905ics(9) memcached(9) 画像(9) gmail(9) ハクキンカイロ(9) 口コミ(9) a6(9) sh-01a(9) 冷蔵庫(9) ほぼ日手帳(9) mp3(8) emacs(8) 日本語(8) openssh(8) xampp(8) カメラ(8) nikon(8) 設定(8) 写真(8) 値段(7) flash(7) 方眼(7) web(7) docomo(7) カバー(7) リポジトリ(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.10141s / load averages: 0.24, 0.23, 0.24
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)