余白の書きなぐり

aueweのブログ

2013-10-16から1日間の記事一覧

Python3の計算結果をGnuplotでグラフ化(subprocess Popenを使う)

ディスプレイにグラフを表示させる pythonからgnuplotを使う上で、これが最も簡単な方法。 from subprocess import call call( ["gnuplot", "-e", "plot sin(x); pause -1"]) qを押せばグラフは消える。 グラフをファイルに保存 gnuplotの設定は長くなるので…

シェルスクリプトからPython3に移行する人のために ~標準入出力・ファイル管理編~

環境変数の取得 # Python import os home = os.environ.get('HOME', "") カレントディレクトリのパスを取得 # Bash ... もともと $PWDに入っているが current_path=`pwd` # Python import os current_path = os.getcwd() # スクリプトのあるディレクトリの絶…

Python3の文字列について。%記法とformat()記法の対応関係

Python3では '%d'とか'%+5.3lf'のような記法は推奨されず、廃止される。 代わりにformat()を使う必要がある。 このような変更がなされた理由については、 Python 3.0 Hacks第6回 Pythonicな文字列フォーマットforamat()メソッド が分かりやすい。 高尚な理由…

Pythonで並列計算(Poolとmapを使う)

pythonで並列計算をしたいとき、Poolとmapを使うのが簡単だった。 C言語で並列計算して配列に格納する のと同じような感覚。 mapを使うのがカッコイイ。Haskellみたい。 簡単な例 twiceFuncという名の関数 f(x) = 2x に argList = [1,2,3] の各要素を並列に…

OpenMPで多重forループを並列化して配列に格納する方法

注意点 forループを並列化して配列に値を代入したい。 forループが一重の時は簡単だけど、 多重forループの場合には 内側から #pragma omp parralel forしないとバグる。 以下の正解とまちがいを見れば、よくわかる。 正解 // 内外共に #pragma omp する int…