データ解析ツールoctaveを語ろうat UNIXデータ解析ツールoctaveを語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト761:名無しさん@お腹いっぱい。 09/02/16 00:38:19 質問です。 やりたいことは、x=1:50; y=1:50; として、 その各々の格子点からcを作成して、 c = [ 1 ; x0; y0; ]; (x0, y0は格子点によって値が各々1~50に変わります。) ある行列Aとの積の値 val = A * c; を求めて、 valをある関数fの引数にすることでzを求めます。 z=f(val); すると、x軸、y軸、z軸で等高線がひけると思いますが、 この過程を効率よく(スマートに)計算するにはどのようにすれば よさそうですか??for文でcを作ってやるしかないですか?? 50x50x3の3次元行列なんかが作れてスパッと計算できたら よさそうなのですが、どうもよくわかりませんでした。。 762:名無しさん@お腹いっぱい。 09/02/16 09:59:37 というわけでMatlabを含めてテスト テスト対象のCPUはiMacの人と同じくIntel Core2Duo 2.4GHz テストスクリプトは n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6 のまま Octave Cygwin版3.0.3 GFLOPS = 1.1429 Octave MSVC版3.0.3 GFLOPS = 2.3239 MatlabR2008a(MT OFF) GFLOPS = 6.1464 MatlabR2008a(MT ON) GFLOPS = 10.326 (MT:マルチスレッド) そして Octave MacOSX版 GFLOPS = 12.5 Matlabをもってしても勝てません。もちろんループはOctaveの方が速いので 実際のプログラムの速度ではOctave-MacOSよりMatlabの方が速いでしょう えーとちなみにMatlabは「安すぎる」と日本の関係者に言われている アメリカの1ユーザーパッケージでも$1900で、日本国内で個人が買うと… とても信じられない価格です ^_^;。 じゃあどうするか ・マルチスレッド対応のテキサス州立大学のGotoBLASを使う(無料、自由配布不可) ・マルチスレッド対応のインテルMKLを使う(有料、自由配布不可) ・Macを買う ・Matlabにお布施 ちなみにGotoBLASとMKLは同程度のパフォーマンスのようです。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch