2015年11月25日水曜日

Matlab での計算時間比較

いま、n 次元行列として A があって、V を 1 から n の添え字の部分集合としたとき、V の要素を行と列にもつ行列を A から作るには

A(V,V)

とすればよい。

ところで、この対角成分を取り出すとした時に、
v = diag(A(V,V))
とするよりも
diagA = diag(A); v = diagA(V);
とした方が圧倒的に高速である。
(このあたり、自動的に Matlab が変換してくれるかと思っていたが、どうやらそうでもないらしい)



今日の作業では、こういった高速化をいくつか入れることで、昨日1時間かかっていた部分を3秒程度まで短縮することができている。

今日の作業内容:プログラムの高速化 3h
明日の予測作業時間:2h




0 件のコメント:

コメントを投稿