Bluepostech

まじめなことを書きます

2016-01-01から1年間の記事一覧

【python】matplotlibがdvipngを見つけられない

最近理論の話が続いたのでプログラムの話に戻ろう。先日matplotlibを使ったpythonコードを移植しようとしたところ、以下のようなエラーを吐いて動かない、ということがあった。Could not obtain dvipng version直訳すると「dvipngのバージョンを特定できない…

「熱速度」とは結局何なのか

統計物理の重要な概念のひとつに「熱速度」という概念がある。熱速度とは、気体やプラズマのように多くの粒子からなる系で、さまざまな速度で運動する粒子集団の代表的な速度として定義される。しかし定義がいくつかあるうえ、あまりテキストに載っていない…

ガウス積分チートシート

理系学生としてあってはならないことだが、僕は頻繁にガウス積分を忘れる。導出の方法は覚えているのだが、毎回導出するのはかなりあほらしいしまちがいのもとにもなりかねないので、ここにまとめておこうと思う。 1.一番基本的なケース(e^{-x^2}) 2.指数の…

【python】fortranのnamelistで書かれた設定ファイルを読み込む(f90nml)

以前fortranのnamelistという機能を紹介した。 数字を羅列しただけの平文ファイルとちがってnamelistはfortran独自のものなので、ほかの言語で読み込む場合は何らかの工夫が必要になる。 「fortranで計算した結果をpythonのmatplotlibでグラフ化したい」とい…

【fortran】設定値を別ファイルで与える(namelist)

大規模計算プログラムには大量の設定すべきパラメータがある。物理定数のように内部で与えておけばよいものもあるが、頻繁に変えて実行するものもあり、内部で与えるとその都度コンパイルしなければならず効率が悪い。 簡単に思いつくのは、「平文のまま設定…

【bash】ワイルドカードが使えないコマンドでワイルドカードを使う

ワイルドカードとは、複数のファイルを一気に指定するのに使う記号で、たとえば任意の文字列を表す「*」や任意の1文字を表す「?」が代表的だ。たとえばカレントディレクトリのjpgファイルをpictureというディレクトリへ移動するときは、次のようにする。 mv …

【cygwinで動画編集】2.ffmpegのインストール

lameをインストールした前回に引き続き、ffmpegをインストールしてみよう。 ffmpegもソースからビルドしなければならず、依存するパッケージもたくさんあるが、よくまとまったサイトがたくさんあるのでそちらを参照していただきたい。 僕がインストールした…

【cygwinで動画編集】1.lameとflac

動画や音声ファイルはそのままではとても容量が大きいので、通常は圧縮処理されて容量が抑えられており、その圧縮処理をエンコードという。 有名なエンコーダにはmp3のlame、mp4などのffmpegがある。これらはwindowsのCUIやさまざまな動画編集ソフトにも含ま…

cygwinでpython・pip・numpy・matplotlib

cygwinはwindowsでプログラム環境を作るのには強いツールと言える。apt-cyg install gccとかでコンパイラが入るので、windowネイティブのバイナリをいちいちダウンロードして実行するより楽だ。 しかし、pythonとは非常に相性が悪いらしい。pythonを入れるだ…

【bash】タイトル名に入ったスペースを置換する

タイトルに入ったスペースは、バグの原因のひとつになる。たとえば「I love you.txt」というファイルを「love letter.txt」という名前にリネームするとき、次のようにするとエラーが出る。 mv I love you.txt love letter.txt なぜならば、単語がスペースで…

【Zenfone Goでデレステ】プレイについて

「アイドルマスターシンデレラガールズ スターライトステージ」はシンデレラガールズの世界をモチーフにした音楽ゲームで、最近SMAPの中居君がCMをしたり、基本無料とは到底思えないクオリティのMVなどで大人気のアプリである。 しかし、このデレステという…

【bash】ワンライナーでdoループ

forループはプログラムでは重要な機能だ。「カレントディレクトリ以下のファイル全部に何かする」とか、「findで拡張子が*.pngのファイルを拾ってきてリネームする」とか、そういう「リストに含まれるものに何かする」という局面はよくある。 bashスクリプト…

【bash】コマンドラインで四則演算をする

シェルスクリプトは十分有用な言語といえるが、ただ一つ重大な欠点がある。実は四則演算が単純な式でできないのだ。 たとえば、pythonで1/3を計算して表示するには、たった1文次のようにすればよい。 print 1.0/3.0 ただし1/3としてはならない。なぜならば1/…

【Linux】findで特殊文字をエスケープする

findという非常に便利なコマンドがある。これはファイルを検索するコマンドなので、よくパイプと一緒に使う。 たとえば、カレントディレクトリ以下のemacsで生成される「*.txt~」というような一時ファイルを一挙に削除するときは次のようにすればよい。 find…

【html】ハコを作る方法

このブログはプログラム関係のことも書くのでソースコードを書くことが多いのだが、ソースコードやターミナル上に出るメッセージは囲んでわかるようにしている。 このように囲むには、はてなブログではhtml編集モードに移り、次のように記述する。 <p style="border: dashed 1px; background-color: #e6e6e6;">hoge<br />foo <br></p> …

【bash】forループで連番と飛び値を併用する方法

シェルスクリプトのfor文の基本的な文法は次のようなものになる。 for i in 1 2 3 5 7 11 13{ command } 書ききれるならこのようにすればいいし、この並びでは1,2,3が連番になっているので、次のように指定することもできる。 for i in {1..3} 5 7 11 13 範…

【cygwin】w32texとの競合問題

cygwinを入れて一通りのソフトは導入した。そこで、すでにTeXWorksは動く環境でcygwinでもLaTeXも入れようとしたのだがどういうわけかうまくいかなかった。 TeXLive(w32TeX)はもとから入っている環境にcygwinを入れるときのトラブルじゃないかと思っている…

cygwinを入れてからやること(個人的メモ)

個人的なメモ。でも一般的にはこれだけやっておけば十分だと思う。 1.apt-cygを入れる wgetが入ってなかったら、インストーラで一緒にwgetを入れておく。 wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cygchmod 755 apt-cygmv…