« 初心者がpython、pygletで遊んでみる。 | トップページ | アバスト! 無料アンチウイルス Ver6でサンドバック機能を使う »

2011年1月29日 (土)

GNU Octave 3.2.3でginputをimagescに使う

家のパソコンには現在MATLABが入っていないのでOctaveで切り抜けようと格闘中。Octaveは結構すごい。Octave-Forgeを使うとToolboxてんこ盛り状態なので素のMATLABよりも使えるのは確かだし、職場の5年ものの古いライセンスのMATLABよりもいいかもしれない。あとは互換性とMATLABみたいな開発環境がよくなれば全然乗り換えれそう。コードを選択してF9押して部分的に実行する便利さに適う環境はOctaveでもPythonでもいまだに見たことがない。

というわけでエディターやフロントエンドを物色する。QtOctaveか、Pythonでお気に入りのGeany Portableを使うか、それともコンソールから素直にoctaveにmファイルを渡して起動するかそれぞれに得手不手があり、悩ましい。Octave-Forgeで配布されているWindowsのバイナリー版にするかUbuntuで使うかもなやましい。

GeanyはデフォルトでMATLABのmファイルのハイライトに対応しているように見えるが、実際にコードを実行するときにはoctaveを呼ぶデフォルト設定になっているので、実はそのままoctave用に使えてしまう。(octaveにパスを通す必要あり、もしくはGeanyのBuildのアイコンから起動のパラメータをいじって実行ファイルを絶対パスで指定する。)Geanyはコンソール上の実行結果が見えるようにコードの実行後に勝手にポーズしてくれるんだけど、なんとfigureに関してはプロットしてからコードの最後にpauseをいれておかないと、figureがまったく表示されなかったり内容が見えなかったりする。これは気づくのにしばらくかかった。

実はUbuntuでコンソールから普通にOctaveを起動して、Geany等のエディターからコードを数行コピーしてCntl+Shift+Vで貼りつけていっても割と快適にできるのでデバックのしやすさからすると「UbuntuでGeanyでコードかいて順次貼りつけていく」、これが一番かもしれない。なんちゃってLinuxユーザーなのでEmacsとかそういうのに抵抗まだあるし。

QtOctaveは見た目よいし便利そうだったけどコンソールとエディターのあいだのコピペがWindowsでもUbuntuでもうまくいかなくてやめた。

Octave自体のバグも悩ましい。ginputでユーザーインプットを得ようとするとエラー。plotだったらうまくいくのにimshowとかimagescだとだめ。3.2.4にあげたら直るかもだが試していない。

どうやら既存のバグだったらしいが、はじめGeanyのせいなのかなんなのかわからなくてしばらく途方に暮れた。Petr Mikulikさんのパッチを__go_draw_figure__.mに当てたらあっさり解決したのでよかったけども、datevecの基準になる年が違ったりで、MATLABで動いている小さなコードを動かすまでに延々と作業していてはかどらない。でもまあもう少しでなれるかなぁ。ずっと昔に使ったときに比べるとかなりまともになった気がする。

どうせなら全部Python+Numpy+Matplotlibあたりでやりたいところだけど、PythonだいぶわかってきたとはいえまだまだMATLABのほうが早くやりたいことができるし、Image Processing Toolboxあたりの代わりになるPythonモジュールが見つからなかった。PILでは基本的なことしかできないので、Python(x,y)にOpenCVが入っているみたいだから時間があるときに試そう。OpenCVのインストールはCmake必要とか敷居が高く困っていたけどPython(x,y)はほんとに素晴らしい。

OMPCというのもあることだし、長い目でみればwxPythonでまともなGUIをつくったり、OpenGLつかったりと、自由度の高いPythonへと移行していきたいんだけども。Numpy+Scipyだけでもかなりのことはできるし、wxはMATLABのあのわかりにくいGUI覚えるよりも全然簡単だった。

« 初心者がpython、pygletで遊んでみる。 | トップページ | アバスト! 無料アンチウイルス Ver6でサンドバック機能を使う »

学問・資格」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: GNU Octave 3.2.3でginputをimagescに使う:

« 初心者がpython、pygletで遊んでみる。 | トップページ | アバスト! 無料アンチウイルス Ver6でサンドバック機能を使う »

しろののツイッタータイムライン

  • ツイッターは5つ目も凍結されました。6つ目での復活も不可能。なのでnoteに注力しています。

    と思ったら、イーロン・マスクの買収が公になってアカウントが復活できました。ありがとうマスク。

    トランプ関連記事の一覧リスト

オススメたち

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

はてブ

無料ブログはココログ