1 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 22:13:01 .net] 知る人ぞ知る強力なデータ解析ツール octave ... unixを科学研究で使っている香具師には非常に心強い味方のはずだ。 matlab互換を主張しながら、微妙にバージョンアップを続ける octaveについて語ろう。 そのPart 2です 前スレ データ解析ツールoctaveを語ろう pc12.2ch.net/test/read.cgi/unix/1086016412/
68 名前:名無しさん@お腹いっぱい。 [2010/10/12(火) 03:41:06 .net] 保守
69 名前:octave for windows メモの筆者 mailto:sage [2010/10/16(土) 17:54:10 .net] >>51 現在 前スレ見れるところ ttp://logsoku.com/thread/pc8.2ch.net/unix/1086016412/
70 名前:名無しさん@お腹いっぱい。 [2010/11/13(土) 10:00:19 .net] OctaveやFreeMATではMATLABのstemにあたるマッチ棒のようなプロットはどうやるんですか?
71 名前:名無しさん@お腹いっぱい。 [2010/11/14(日) 00:32:04 .net] cvytvftvyghgbvyvybuhjkkvghghvgvgfvgfcjnhjgjhhuihuyfgvcg
72 名前:octave for windows メモの筆者 mailto:sage [2010/11/15(月) 16:46:45 .net] >>70 octave manual 15.1.1 Two-Dimensional Plotsより Function File: h = stem (x, y, linespec) ― Function File: h = stem (..., "filled") : x = 1:10; y = ones (1, length (x))*2.*x; stem (x, y, "b"); もっと詳しくはマニュアルを
73 名前:octave for windows メモの筆者 mailto:sage [2010/11/24(水) 08:02:34 .net] 前スレでも,>>63 にもあるように,ちょくちょく話題になるGotoBLAS2 に ついてライセンスが変わったとoctave ML 情報が入っています。 octave.1599824.n4.nabble.com/GotoBLAS2-license-td3055645.html 参考までに
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/24(水) 09:50:17 .net] >>73 >GotoBLAS2 has been released by the Texas Advanced Computing Center >as open source software under the BSD license. 素晴らしい。 従来は独特のライセンスのせいでユーザが自分で組み込む必要がありましたが、 今後は公開ソフトウェアに最初から組み込めるわけですね。 GotoBLAS2-1.13で打ち止めへ (2010-04-09 13:29:50) blog.goo.ne.jp/nakatamaho/e/61d0cfbe1222364a3ef70505dce4f463 後藤和茂さんがヘッドハントされてからバージョンアップが止まってますが、 これも改善するかもしれません。
75 名前:octave for windows メモの筆者 mailto:sage [2010/11/24(水) 19:04:09 .net] >>73 Goto BLASの開発は,終了したようです。 blog.goo.ne.jp/nakatamaho/e/61d0cfbe1222364a3ef70505dce4f463 残念ですが。
76 名前:octave for windows メモの筆者 mailto:sage [2010/11/24(水) 19:06:02 .net] >>75 すみません。 74をみていませんでした<m(__)m>。
77 名前:octave for windows メモの筆者 mailto:sage [2010/11/25(木) 14:49:21 .net] >>74 >後藤和茂さんがヘッドハントされてからバージョンアップが止まってますが、 >これも改善するかもしれません。 そうですね。 天才ハッカー(いい意味でのハッカーです。)後藤さんのあとを 続くような方が現れてプロジェクトとして 立ち上がってくれればいいのですが。
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/21(火) 14:14:37 .net] scilabとの違いが良くわからない
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/21(火) 15:21:18 .net] >>78 Scilabの使いにくい点 ・実行 MATLAB/Octaveは、拡張子.mを省いたmファイルをコマンドラインで打ち込めばいい Scilabは、コマンドラインでexec('hoge.sce')とやらないといけない ・関数定義 MATLAB/Octaveは、パスの通ってるディレクトリかカレントディレクトリにあれば 勝手に読み込んでくれる。 Scilabは、明示的にgetf('hoge.sci')と読み込まないといけない。 ※Scilab5では途中からgetfではなくexec('hoge.sci')になった ・コメント行 MATLABは%、Octaveは%と# Scilabは// ・その他、ScilbはMATLABから見て方言が多いし、Octave Forgeのような豊富な関数を使えない。 利点 ・グラフがOctaveよりはきれい ・Serial-0.2.tgzという非オフィシャルのパッケージを導入すると RS-232Cのコントロールが可能 例えば、COM3のモデムを操作する場合 fp=openserial(3,"9600,n,8,1") writeserial(fp,'ATI0'+ascii(13)) xpause(200000) readserial(fp) xpause(200000) writeserial(fp,'ATI1'+ascii(13)) xpause(200000) readserial(fp) closeserial(fp) こんな感じ。xpauseはパラメータのμ秒数だけ待つ命令
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/22(水) 13:33:15 .net] データを全部テキストデータで保存すると ファイル増えてしかたない sqliteあたりにまとめて保存できないでしょうか
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/23(木) 22:20:35 .net] >>80 saveコマンドがあります aaa=[1:1000]; save hoge.sav aaa とやれば変数aaaがhoge.savにテキスト形式で保存されます 読み出す場合は bbb=load('hoge.sav') とやればいいです この場合テキスト形式ですけど save -binary hoge.bin aaa とやればバイナリーで保存できますが、テキストよりもサイズが小さくなるかどうかはケースバイケースです 読み出しは ccc=load('hoge.bin') とやれば、勝手に保存形式を判断してくれます。 またMATLABのsaveコマンドで作られたファイルとの互換性もあるようです
82 名前:octave for windows メモの筆者 mailto:sage [2010/12/24(金) 17:39:00 .net] >>79 ・グラフがOctaveよりはきれい Ver. 3.3.54+ のFLTK Backendは,グラッフィクス,かなりよいですよ。 でも,自分でビルドしないと使えないのとMinGWではまだバグがある。 Ver 3.4はどれくらいかかるかな。 JWEさんのエンジンかかってきたから,数ヶ月後にはでるとおもうのですが。
83 名前:octave for windows メモの筆者 mailto:sage [2010/12/30(木) 05:32:50 .net] >>80 help save `-zip', `-z'とか`-hdf5'を使うと小さくなると思うのですが。
84 名前:octave for windows メモの筆者 mailto:sage [2010/12/31(金) 06:32:59 .net] 東京電機大学の松田先生の「Octaveの精義」がでました。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/02(日) 08:27:31 .net] ttp://www.amazon.co.jp/dp/4877832319/
86 名前:octave for windows メモの筆者 mailto:sage [2011/01/19(水) 18:39:37 .net] 開発版も様々なプラットフォームでのビルドがかなり安定してきています。 私は,MinGWのビルドしていますが状況はかなり改善しています。 3.4リリースが確実に近づいています。 新しい fltk Backend は,すばらしいものです。 できるだけ早く皆様が見る日がくればいいなと思います。 Debianなどでは,自力でビルドできる方がいらっしゃると思います。 ビルドできる環境におられるかたは 是非自力で開発版をビルドされて, その実力をみていただきたいと思います。
87 名前:octave for windows メモの筆者 mailto:sage [2011/01/24(月) 07:26:47 .net] Octave 3.4のリリースの準備としてOctave 3.3.90がリリース(ソースのみ) されました。 alpha.gnu.org/gnu/octave/ 多くの方にビルドいただき,3.4のリリースにご協力いただきたいと思います。
88 名前:octave for windows メモの筆者 mailto:sage [2011/01/28(金) 08:30:06 .net] Octave 3.3.90のMinGWでのビルドを行ってバイナリパッケージを作成してみました。 www.tatsuromatsuoka.com/octave/Eng/Win/
89 名前:octave for windows メモの筆者 mailto:sage [2011/02/02(水) 09:18:42 .net] Octave 3.3.91のMinGWでのビルドを行ってバイナリパッケージを作成してみました。 www.tatsuromatsuoka.com/octave/Eng/Win/ いくつかのバグがフィックスされています。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/08(火) 08:12:40 .net] >>89 テストパッケージ、ありがたく使わせてもらっています。 octaveと直接関係ないところで申し訳ありませんが。。。 パッケージに入っているckwなのですが、ckw.cfgの以下行が Ckw*chdir: d:\usr\Tatsu 自分の環境に存在しないディレクトリだとckwが 立ち上がらないようです。
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/08(火) 10:59:39 .net] >>89 入れてみましたけど octave:1> backend("fltk") error: `backend' undefined near line 1 column 1 となりますね。 plotするとgnuplotで描画されます。
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/08(火) 12:32:24 .net] >>91 graphics_toolkitに変わったみたいですよ(たしか)
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/08(火) 14:27:09 .net] >>92 確認しました octave:1> graphics_toolkit('fltk') octave:2> xx=[0:100]; octave:3> yy=sin(xx./5); octave:4> plot(xx,yy) これで表示されました
94 名前:octave for windows メモの筆者 mailto:sage [2011/02/09(水) 09:54:37 .net] >>90 ckw のご指摘ありがとうございました。
95 名前:octave for windows メモの筆者 mailto:sage [2011/02/09(水) 10:00:50 .net] Octave-3.4.0のソースがリリースされました。 www.gnu.org/software/octave/download.html 各ディストリビユーターによるバイナリのリリースはこれからだと思います。 なお,Windows版はMaintanerのBenjamin Lindnerさんの準備状況から 少し時間がかかると思います。 混乱を避けるため,3.4.0のtesting binaryを私の方から出すことは しないつもりです。 直前のスナップショットの3.3.92を出すかもしれません。 (たぶん中身はほとんど変わらない)
96 名前:octave for windows メモの筆者 mailto:sage [2011/02/10(木) 07:16:38 .net] GUI Octave なるものがあるそうです。 https://sites.google.com/site/guioctave/
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/10(木) 12:50:16 .net] >>96 GNUplotを使ってたり残念感がありますね ckwとgnuplotをwxt拡張で使ってる方がまだましというか どうせならScilabやR言語のグラフ機能を乗っ取ったとかの方が良かった
98 名前:octave for windows メモの筆者 mailto:sage [2011/02/27(日) 16:18:39.27 .net] >>97 まあ,3.4になってfltkになればよくなると思いますが。Windowsでは, まだしばらく3.4のリリースかかりそう。
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/27(日) 03:29:38.85 .net] 3.4をビルドしてみたけど、fltkでついにui系の機能が実装され始めたみたいだね。 今のとこuigetfile、uiputfile、uigetdir、uimenuだけだけど、今まで手つかずだっただけに素晴らしい! ところで、fltkって画像ファイルの出力ってできないんだろうか? graphics_toolkit fltk; plot(1:10); print('test.eps','-deps'); とかやっても、空っぽのファイルしか出来ないんだけど…。 他の形式でも同様。 …うん、printはgnuplot backend使えって話はごもっともなんだけど、アニメーション作成用に もうちょっと高速な出力手段を模索中。 誰か情報持ってない?
100 名前:名無しさん@お腹いっぱい。 [2011/04/15(金) 10:51:34.50 .net] すみません,2ch初心者なんですが…. Octaveのプログラミングについて質問させていただける板ってどこにありますか? 「Octave」「octave」で検索かけてもこの板しか見つかりませんでした. エラーの返ってきちゃう関数をどうすれば使えるか調べたいんですけど(汗)
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/18(月) 22:25:16.10 .net] >>100 MATLABのスレを探してみてください OctaveはMATLABのクローンなので あと、エラーの返ってくる関数を調べる方法は知りませんが エラー処理はtry, catch でやります 例 A=[1,2] B=[1;2] try C=A+B catch %lasterr disp('error!!') D=A+B' end AとBはベクトルの向きが違うので、足すとエラーが出るのですが エラーの出そうな処理をtryの後に書き、エラーが出た後の処理をcatchの後に書きます コメントアウトしているlasterrは直前のエラーが何かを表示します
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/08(日) 12:20:29.28 .net] octave for windowsはビルドが難航してるのかな?
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/13(月) 00:08:14.52 .net] octave から gnuplot を使うとき、最近のバージョンのoctave だと gset や __gnuplot_set とかが使えないんですが set term tgif みたいな処理はoctave からはどのように すれば良いんでしょうか?
104 名前:octave for windows メモの筆者 [2011/06/16(木) 03:40:35.38 .net] >>103 最近バージョンでは,gnuplotのコマンドを直接たたくことはできません。 plotしたあと drawnow のdebug オプションを使って >> drawnow ("tgif", "foo.tgif", false, "debug.gp") で >> system('gnuplot debug.gp'); でfoo.tgifを作成する。 ぐらいでしょうか
105 名前:octave for windows メモの筆者 mailto:sage [2011/06/16(木) 03:56:40.97 .net] >>104 すみません。やってみましたが,うまくいきませんでした。<m(__)m>
106 名前:octave for windows メモの筆者 mailto:sage [2011/06/16(木) 04:07:12.45 .net] >>105 うまくいかなかったのはWindows 版のgnuplot のbug のせいのようです。 windowsでは system('gnuplot debug.gp'); system ('type debug.gp | gnuplot')でうまくいきそうです。 tgifをもっていないのでfoo.tgifをテキストエディタで確認しただけですが。 postscriptでうまくいったので,tgifでもおそらくいくと思います。
107 名前:octave for windows メモの筆者 mailto:sage [2011/06/16(木) 06:58:04.50 .net] >>103 たびたびすみません。ケアレスミスがあるので104-106は無視してください。 plotしたあと drawnow のdebug オプションを使って >> drawnow ("tgif", "foo.obj", false, "debug.gp"); でgnuplotのスクリプトdebug.gpを出力し それをsystemコマンドでgnuplotでgif出力(foo.obj)させます。 >> system('gnuplot debug.gp'); debug.gp のデータはバイナリであり,windows 上ではgnuplotバクにより 正しくプロットされません。
108 名前:octave for windows メモの筆者 mailto:sage [2011/06/16(木) 07:02:12.97 .net] 107の続き windowsでは >> system ('type debug.gp | gnuplot'); としてください。
109 名前:octave for windows メモの筆者 mailto:sage [2011/06/16(木) 07:33:34.95 .net] 108 の続き tgif はもっていないので,fig ファイルを生成するようにして Cygwin 上Xfigで でfoo.figを作成したところうまくいきました。 >> drawnow ("fig", "foo.fig", false, "debug.gp"); >> system ('type debug.gp | gnuplot'); できたfoo.fig をXfigでよみこんでプロットを確認しました。 tgifでもうまくいくと思います。
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/18(土) 10:54:38.14 .net] octave for windows メモの筆者さん >>103 です。 いろいろお答えいただきましてありがとうございました。 tgif への出力はできるようになりました。 私がoctaveを使いこなしていないからかも 知れませんが 個人的には gnuplot の細かい設定が octave上からできる方が便利なのですが。
111 名前:octave for windows メモの筆者 mailto:sage [2011/06/18(土) 17:08:46.76 .net] >>110 Octave は3.2(3.2では試験的,3.4から本格的)から Open GL ベースのグラフィックスを扱うようになり, 整合性の観点から低レベルでgnuplotを直接触ることはやめになりました。 その代わり,octave-forgeにgnuplot パッケージがあり, gnuplotを直接いじりたい方はそちらを使うという思想のようです。
112 名前:octave for windows メモの筆者 mailto:sage [2011/06/18(土) 17:15:21.41 .net] >>111 gnuplotとパッケージのReferenceはこちらから, octave.sourceforge.net/gnuplot/overview.html 説明がわかりにくいのでつかったことはありません。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/18(土) 20:09:09.69 .net] >>112 意外と良いかも
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/20(月) 11:49:46.70 .net] cygwin x上で以下のようなエラーが出てgnuplotを使うことができません.どなたか解決策が分かる方いましたら教えて下さい. octave:1> x = [0.0, 0.2, 0.4] x = 0.00000 0.20000 0.40000 octave:2> plot(x, sin(x)) error: Invalid call to strcat. Correct usage is: -- Function File: strcat (S1, S2, ...) error: called from: error: /usr/share/octave/3.4.0/m/help/print_usage.m at line 87, column 5 error: /usr/share/octave/3.4.0/m/strings/strcat.m at line 92, column 5 error: /usr/share/octave/3.4.0/m/plot/__gnuplot_get_var__.m at line 113, column 11 error: /usr/share/octave/3.4.0/m/plot/__go_draw_axes__.m at line 40, column 18 error: /usr/share/octave/3.4.0/m/plot/__go_draw_figure__.m at line 167, column 19 error: /usr/share/octave/3.4.0/m/plot/__gnuplot_drawnow__.m at line 86, column 5
115 名前:octave for windows メモの筆者 mailto:sage [2011/06/21(火) 00:54:07.79 .net] >>114 どうもCygwin1.7.9-1とOctave+gnuplotの相性が悪いようで Cygwin を1.7.8-1のダウングレードすると動きます。
116 名前:名無しさん@お腹いっぱい。 [2011/06/21(火) 15:01:05.47 .net] 114です. cygwinのバージョンを1.7.8-1に直したところグラフ表示できました.ありがとうございました!!
117 名前:名無しさん@お腹いっぱい。 [2011/06/21(火) 21:24:25.60 .net] 最近octaveを始めたんだけど octaveのサポート状況の良いディストリってどれ? ubuntu のoctave はバージョン古い。 FreeBSDのportsのoctaveなんかは最新のおっかけは凄いけど portsからのインストールは遅い。
118 名前:octave for windows メモの筆者 mailto:sage [2011/06/22(水) 03:04:37.49 .net] >>117 jweさんがDebianだからのぞいてみたけど,まだ3.2.4のままですね。 octaveの本家のMLをみるとLinuxの人は割りと自分でビルドしているようです。
119 名前:octave for windows メモの筆者 mailto:sage [2011/06/22(水) 06:18:06.49 .net] >>117 >>118 Unix はよくわかりませんがぐぐったら以下がでてきました。 octave Download - Linux Packages Search (RPM, DEB, XZ, TXZ, TGZ) pkgs.org/package/octave 3.4.0のようです。
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/24(金) 03:56:24.07 .net] FreeBSDでは、現在 3.4.1 です。 なんか凄い気合入って追っかけているような感じ。
121 名前:octave for windows メモの筆者 mailto:sage [2011/06/24(金) 04:04:41.54 .net] >>120 FreeBSDのOctaveのメンテナーの方を知っています。 (日本人です。) その方は多倍長BLASの作者でもあります。 最近連絡を取りました。 ところでoctave 3.4.1には,mkoctfileにバグが見つかり, 3.4.2の準備段階です。(現在RC2がでている)。 FreeBSDは,3.4.2がでたらすぐ対応するようです。
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/24(金) 23:22:10.88 .net] しばらくはFreeBSDだな。 Octave のためだけに。
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/25(土) 00:23:16.92 .net] VMwareにFreeBSD入れておくか
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/25(土) 01:55:02.93 .net] octaveのメーリングリストを見ていると MysqlでもCUDAでも何でも新機能を導入しようとする場合に John W. Eaton氏が、GPLかどうかを問いかけて潰れていってる気がする Rなんか2009年の段階でGPU対応してるのに brainarray.mbni.med.umich.edu/Brainarray/Rgpgpu/ Mysqlにまで対応している www.okada.jp.org/RWiki/?RMySQL じゃあScilabでもいいやと調べてみても まともなものが無い Scilabは他のtoolboxも貧弱だし
125 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 02:16:04.98 .net] ソースだけど3.4.2がでました。 octave.1599824.n4.nabble.com/GNU-Octave-3-4-2-Released-td3622778.html
126 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 02:33:11.93 .net] >>124 MySQLはoctave-forgeで対応している気がする。 自分では使わないから詳細はわかりませんが。 octave.sourceforge.net/database/overview.html These are bindings that allow SQL queries and other database operations on postgres, mysql, sqlite, and standard ODBC databases from within Octave. A simplified interface that is uniform across all database types is provided, as well as the entire C client API for each database (libpq, libmysqlclient, etc).
127 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 02:42:05.19 .net] >>124 >>126 こんなページもあります。 octave-swig.sourceforge.net/octave-db.html これを見る限りOctave-forgeのdatabase パッケージにてMySQLには 対応できるのではと思います。
128 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 06:29:16.81 .net] >>124 CUDAについては,OctaveはGPLですので, jwe氏が言うことは仕方のないことなのでしょう。 OctaveがGPLから他のライセンスに変えるか,GPLが変わるか CUDAがかわるかどちらかでないといけないのでしょうが, まあ実現はしないのだと思います。 ところで,MySQLは, www-jp.mysql.com/about/legal/licensing/faq.html にあるように問題がないように思います。 だからOctave-forgeのdatabaseパッケージでMySQLはサポートされている のだと思っています。
129 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 06:35:35.07 .net] >>128 ただし,再配布せず自分でやる分には問題がないと思います。 以前GotoBLASが,GPL非互換だったとき自分でソースからビルドして, octaveのビルド時に組み込んで使用することはできました。 かなり,億劫なことになりますが, scinesur.wordpress.com/2009/11/12/cuda-on-octave-3-x-in-linux-64-bits/ なこのページもあることですし,自力でやることはできるのかなと思います。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/06/25(土) 08:57:30.61 .net] >>126 mingw版もcygwin版も(どちらも3.2.4) octave:5> pkg install database-1.0.4.tar.gz で入れようとしても、内部のmakeでこけますね tar.gzを直接開いて./configureしてみると sqlite3でwarningが出るし 結果がこれで octave-forge is configured with octave: octave (version 3.2.4) mkoctfile: mkoctfile for Octave 4 swig: pre-generated postgres: postgresql/libpq-fe.h not found mysql: mysql/mysql.h not found sqlite3: yes odbc: yes postgresqlやmysqlはライブラリが必要みたいだし makeもsqliteの段階でこけるので、unix系なら動くのかもしれませんが Windowsでは無理っぽいですね
131 名前:octave for windows メモの筆者 mailto:sage [2011/06/25(土) 12:23:55.27 .net] >>130 そうですね。3.0.xのころdatabaseパッケージを四苦八苦していれましたが, postgres と mysqlはあきらめてsqlite3とodbcだけでやったことがあります。 CygwinならたしかpostgresqlがOctaveを意識せずにあったような気がしますが, それを使ってpkg installをしたことがないので,なんともいえません。 Cygwinの方がUnixに近いのでライブラリをかき集めれば何とかなるかも 知れません。
132 名前:octave for windows メモの筆者 mailto:sage [2011/06/29(水) 02:59:55.51 .net] MinGWの体験版のOctave-3.2.4バイナリを作成し,配布してます。 www.tatsuromatsuoka.com/octave/Eng/Win/ あくまでも体験版で, Octave-forgeがはいっていませんし,バグもあると思います。 インストーラーなる気の利いたものもなく,zipファイルを解凍して 適当なフォルダにおきます。 ビルドに必要なツールも一応いれたつもりなので,自分でビルドしてみたい 方はどうぞ。ただし,あまり丁寧な説明はしていません。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/04(月) 06:29:50.28 .net] どなたか賢い方、助けて下さい… Benjaminさんの Octave-3.2.4_i686-pc-mingw32_gcc-4.4.0_setup.exe で、コマンドラインからのpath指定が効かないんですが、なんとかなりませんでしょうか? > octave.exe --path c:\ > octave.exe --path c:\\ > octave.exe --path c:/ > octave.exe --path c:// > octave.exe --path /c/ いずれもダメでした。 Linuxなら特に問題ないのですが…
134 名前:octave for windows メモの筆者 mailto:sage [2011/07/04(月) 15:21:59.89 .net] >>133 Cygwin版ならちゃんと動くんでバグかもしれません。
135 名前:octave for windows メモの筆者 mailto:sage [2011/07/04(月) 15:28:18.58 .net] >>133 >octave --eval "cd c:\\" --persist で代用できませんか?
136 名前:octave for windows メモの筆者 mailto:sage [2011/07/04(月) 15:38:46.46 .net] >>134 , 135 すみません勘違いです。 マニュアルによれば --path path -p path Add path to the head of the search path for function files. The value of path specified on the command line will override any value of OCTAVE_PATH found in the environment, but not any commands in the system or user startup files that set the internal load path through one of the path functions. となっていて,Cygwin版でもMinGW版でも OCTAVE_PATH には,なにも反映され ない。Linuxでの期待通りの動きとはどんなものですか? Linuxもってないのでわからないので。
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/04(月) 23:18:23.00 .net] >>134-136 試して下さって、大変ありがとうございます!! Linux版なら、 $ octave -q --path /home/user/work octave:1> path . /home/user/work (←このフォルダが存在する場合のみ) /usr/lib/octave/3.2.4/site/oct/i686-pc-linux-gnu /usr/lib/octave/site/oct/api-v37/i686-pc-linux-gnu ... となります(恐らくご想像通りでしょうが…)。 ちなみに、 $ OCTAVE_PATH=/home/user/work octave -q でも同義です。 こちらでも迂回策を探してはいるのですが、環境変数も効きませんし、なかなか…
138 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 01:47:59.89 .net] >>137 octave --eval "addpath C:\\" --persist ではいかがでしょうか。
139 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 01:56:50.28 .net] >>137 蛇足です。Cygwin版のoctaveでは,おっしゃられている動作をする ようです。MinGWならではのバグのようです。 職場のパソコンで自分でビルドした3.4.2(MinGW)でも,動作しなければバグ 報告をします。
140 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 06:45:34.07 .net] >>139 職場のパソコンでoctave 3.4.2と3.2.4(Benjamin版)で試してみました。 octave --path c:\ *********** 3.2.4 . C:\Programs\Octave\3.2.4_gcc-4.4.0\share\octave\packages\zenity-0.5.7 (以下略) ************** 3.4.2 . C: C:\octave\3.4.2\lib\octave\3.4.2\site\oct\i686-pc-mingw32 : (以下略) となるのですが octave --path C:\octave Octave's search path contains the following directories: . C:\octave C:\octave\3.4.2\lib\octave\3.4.2\site\oct\i686-pc-mingw32 : (以下略) **********************
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/05(火) 07:58:49.52 .net] >>138 ありがとうございます、現在そちらの方向で検討中です。 >>140 え?なぜ3.4.2はそんな残念な動作に… 3.2.4(Benjamin版)ではC:\Octaveを指定しても駄目なようですね こちらの職場PCにはBenjaminさんのメモにしたがってビルドした 3.2.4がありますので、そちらも試してみます。
142 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 08:11:41.89 .net] >>141 140 は長くて,2chにおこられたので,後から続きを書こうとしてわすれていました。 どーもドライブのルートディレクトリの場合は失敗して,C:\とならず,C: となるのですが,C:\octaveのような場合は大丈夫です。 一応,development branch でも試すために,現在ビルド中です。
143 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 09:51:31.50 .net] >>142 予想通りDevelopment Branchのソースからビルドしても, octave --path c:\ のようなルートディレクトリの指定はバグってますね。 時間があるときにbug trackerに登録します。 (直るかどうかわかりませんが。)
144 名前:octave for windows メモの筆者 mailto:sage [2011/07/05(火) 10:18:47.77 .net] >>143 bug tracker に登録しておきました。 https://savannah.gnu.org/bugs/?33714
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/05(火) 23:05:49.70 .net] >>143 大変感謝です…。 ちなみに、Benjaminさんメモに従ってビルドした3.2.4ですが、 MSYS環境ではpath指定が通りました。 コマンドプロンプトからはlibgcc_s….dllが足りないとか言われて 実行できなかったので、未検証です。 (MSYS環境以下を探しても見つからなかったので諦めてましたが、 よく考えたらMinGW環境以下にありそうですね…忘れてました)
146 名前:octave for windows メモの筆者 mailto:sage [2011/07/06(水) 01:46:53.64 .net] >>145 Msys 環境下で指定がうまくいくということは,パスのハンドリングが octave --path でUnix likeになっているからかもしれません。 なお,libgcc_s….dllなどたらない,dllは,Benjaminさんのビルドのbin ディレクトリからコピーして,自分でビルドしたoctave.exe, octave-3.2.4.exeのあるディレクトリにペーストすればいいです。 または,バッチファイルなどでBenjaminさんのビルドのbinディレクトリに パスを通すという手もあります。
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/06(水) 18:47:15.59 .net] >>146 コマンドプロンプト環境下で試してみました。 dllはOctaveのビルドに使用したc:\mingwのbinにパスを通して 対処してます。 octave --path c:\msys -> OK octave --path c:\ -> OK(ちゃんとc:\と表示される) …あれ? Benjaminさんメモに従うとコンパイルは自動で流れるので、 できるバイナリはインストーラで配布されているものと 同じはず、だと思うんですが…? なお、本来の目的はOctave起動後にaddpathすることで達して おりますので、これ以上追いかける意味は無くなってしまったのですが…。 ご報告まで。
148 名前:octave for windows メモの筆者 mailto:sage [2011/07/06(水) 21:34:11.72 .net] >>147 ご報告ありがとうございました。 回避法があるとはいえ,不思議ですね。
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/03(水) 16:34:09.93 .net] 質問いいでしょうか? 画像をfft2して、その後、元の画像に戻るかiff2でチェックしたいのですが、どうもうまくいきません・・・ プログラムのどこが悪いのでしょうか? Iin=imread('BOAT.bmp');% 画像の入力 figure,imagesc(Iin,[0 255]);% 画像表示 colormap(gray); axis image; %FFT変換 Iin_d=double(Iin); O_fft=fft2(Iin_d);% FFT O_fft=fftshift(O_fft); O_fft=(abs(O_fft)); O_fft=10*log10(O_fft);% FFT結果のlog表示 figure,imagesc(O_fft,[0 MAX]);% 画像表示 colormap(gray); axis image; %逆FFT O_fft2=(abs(O_fft2)); O_fft2=10*log10(O_fft2); O_fft2=fftshift(O_fft); O_fft2=real(ifft2(O_fft2)); figure,imagesc(O_fft2,[0 MAX]);% 画像表示 colormap(gray); axis image; どなたかお願いします
150 名前:octave for windows メモの筆者 mailto:sage [2011/08/08(月) 09:37:41.35 .net] >>149 画像処理は詳しくありませんが,演算が逆演算になっていないような気がします。
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/08(月) 14:03:14.87 .net] abs()をつけてる時点で虚数次元が飛んでますからね
152 名前:octave for windows メモの筆者 mailto:sage [2011/08/08(月) 16:59:04.63 .net] >>149 >>150 自信なし:一応画像で確認した。 Iin_d=double(Iin); O_fft=fft2(Iin_d);% FFT O_fft2=real(ifft2(O_fft)); %ifft figure,imagesc(Iin,[0 255]); fftした結果を演算されていますが,もとのイメージのフーリエ空間での 画像に演算をされておられるので情報が変わってしまっています。 したがって,ifftで戻るはずは原理的にないような気がします
153 名前:octave for windows メモの筆者 mailto:sage [2011/08/08(月) 17:55:52.63 .net] >>152 訂正 Iin_d=double(Iin); O_fft=fft2(Iin_d);% FFT O_fft2=real(ifft2(O_fft)); %ifft figure,imagesc(O_fft2,[0 255]); %ここを訂正
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/09(火) 15:43:46.03 .net] むしろこんな感じ sigma=40; for XX=1:128, for YY=1:128; ZZ(XX,YY)=63*exp(-1*(XX-64)^2/(2*sigma^2))*exp(-1*(YY-64)^2/(2*sigma^2)); end; end; ZZ1=fft(ZZ); ZZ2=ifft(ZZ1); image(ZZ) colorbar pause(2); image(abs(ZZ1)) colorbar pause(2); image(abs(ZZ2)); colorbar pause(2); 要点は、imageで表示するとき以外はabsとかを使わない
155 名前:octave for windows メモの筆者 mailto:sage [2011/09/02(金) 10:37:46.27 .net] Blas としてOpenBLASかなり使えます。 https://github.com/xianyi/OpenBLAS なお,Cygwin 上にmingw64のクロスコンパイラが入りました。 mingw64は32 bitもサポートしていますので,windows 用には, それを使います。 (setup.exeでインストールしてください。) makeは以下のようにしてください。 make CC=i686-pc-mingw32-gcc FC=i686-pc-mingw32-gfortran OSNAME=WINNT TARGET=CORE2 TARGETは各自のCPUにあわせてください。 できた libopenblas_(cpu id)-r0.1alpha2.2.dll octaveのあるbinフォルダにコピペして, octave-3.2.4 mingwなら blas.dllとリネームすればいいです。 (octave-3.4.2 ならlibblas.dllに )
156 名前:octave for windows メモの筆者 mailto:sage [2011/09/05(月) 10:46:31.60 .net] Octave-3.4.2-mingw + octaveforge pkgs が出ました。 old.nabble.com/Octave-3.4.2-mingw-%2B-octaveforge-pkgs-to32394771.html
157 名前:octave for windows メモの筆者 mailto:sage [2011/09/07(水) 17:24:14.86 .net] Gnu Octave windows版のOctave-forge packageがアップデートされました。 old.nabble.com/Re%3A-Octave-3.4.2-mingw-%2B-octaveforge-pkgs-p32413743.html
158 名前:octave for windows メモの筆者 mailto:sage [2011/09/15(木) 08:01:26.94 .net] Gnu Octave windows版のOctave-forge packageがアップデートされました。 octave.1599824.n4.nabble.com/Updated-Octave3-4-2-Mingw-for-testing-was-Mingw-Octave-3-4-2-blank-gnuplot-printouts-td3814047.html
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/22(木) 00:01:20.14 .net] memory exhaustエラーが、少し大きめのデータで出てしまうのが、 改善されるといいなぁ。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/22(木) 09:47:51.52 .net] >>159 64bit版ならそのエラーが簡単には出ないって話ですけどね ただし正式なバイナリーがリリースされてない
161 名前:octave for windows メモの筆者 mailto:sage [2011/09/22(木) 14:14:55.62 .net] >>159 >>160 ttp://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html にしたがってビルドするしかないようですね。 Debian 上での例が載ってます。
162 名前:octave for windows メモの筆者 mailto:sage [2011/09/22(木) 17:00:01.71 .net] >>159 >>160 Scilab なら64bit版があるようです。 ttp://www.scilab.org/products/scilab/download でも,文法かなり違うからなあ。
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/26(月) 13:34:26.79 .net] >>162 Scilabの32bitも64bitもメモリー管理としては大差無いようです Windows7 64bit に4GBのメモリーを積んだ条件で Octave 3.2.4で AA=ones(12000,10000); とやると通りますが AA=ones(13000,10000); では error: memory exhausted と出ます。 Scilab 5.3.3 では32bitでも64bitでも stacksize('max'); を実行した後に AA=ones(13000,10000); は通りますが AA=ones(14000,10000); はエラーが出ます。 倍精度が16bitだとして(複素数の実部と虚部にそれぞれ8bit倍精度) 2GBぐらいに壁があるようです。
164 名前:octave for windows メモの筆者 mailto:sage [2011/09/26(月) 17:59:23.61 .net] >>163 私もやってみました。 -->AA=ones(13600,10000); !--error 17 stack size exceeded! Use stacksize function to increase it. Memory used for variables: 135007946 中間的なメモリが必要です: 136000002 Total memory available: 268435455 Scilabの場合,スタックサイズの上限に問題があるようですね。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/09/27(火) 09:00:38.67 .net] >>163 倍精度複素数16bitではなくて16Bytesの間違いでした 全部の変数で2GB未満しかアロケート出来ないっぽいです 2^32は42億9496万7296でしたか、つまり4Gですが CPUは2の補数をとった2Gまでしかアクセスできないのでしょう
166 名前:octave for windows メモの筆者 mailto:sage [2011/09/27(火) 10:26:32.43 .net] >>165 ttp://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html をよく読むとArray Indexとなる整数のバイト数を64 bitの体系にあわせて, ライブラリまで含めて構築しなおす必要があるようです。 (たとえばFortran のライブラリなら(たとえばLAPACK), interger のデフォルトのバイトを8バイトにする。) Scilab 64 bitは,そこまで考えてビルドされていなのではと推測します。
167 名前:octave for windows メモの筆者 mailto:sage [2011/09/30(金) 10:42:53.78 .net] Octave 3.4.3-rc0 release candidate available for ftp ttp://octave.1599824.n4.nabble.com/Octave-3-4-3-rc0-release-candidate-available-for-ftp-td3857294.html だそうです。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/01(土) 22:47:50.57 .net] Octaveの連想配列はどう書けば良いのですか? データに番号がついていて連続していない状態で、他のデータから連続していないデータを参照しているので 内部で番号をつけ直しています。つけ直しの時に総ナメのような感じになってしまうので連想配列が使えたら と思いまして質問しました。