1 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 22:13:01 ] 知る人ぞ知る強力なデータ解析ツール octave ... unixを科学研究で使っている香具師には非常に心強い味方のはずだ。 matlab互換を主張しながら、微妙にバージョンアップを続ける octaveについて語ろう。 そのPart 2です 前スレ データ解析ツールoctaveを語ろう pc12.2ch.net/test/read.cgi/unix/1086016412/
281 名前:octave for windows メモの筆者 mailto:sage [2012/01/08(日) 07:16:25.00 ] >>281 私は,GUI に興味がないので使用したことがないので,お役に立てません。 ここで回答がつかなければ,GUI Octaveは生きているプロジェクトのようです ので敷居は高いですが,GUI Octaveの英語のフォーラムで尋ねられるとよいか と思います。
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 12:10:39.94 ] >>280 Octave-3.2.4をインストールしていない に1票
283 名前:名無しさん@お腹いっぱい。 [2012/01/08(日) 12:30:30.35 ] Octave-3.2.4をインストールする前にGUI Octaveをインストールすると、 Error message: Redirect console error: 3 が出る。 これは、GUIOctaveの File/Options/Octave/GNUOctave Executable Files Directory に パスが正しく設定されていないことでもわかる。 Octave-3.2.4を入れているのに、なぜかここにパスが設定されていないときは、 ここに C:\Octave\3.2.4_gcc-4.4.0\bin を設定する。 そもそもOctave-3.2.4を入れていないのであれば、 一度GUIOctaveをアンインストールして、Octave-3.2.4を入れる. これが正しく入っていると、GUIOctaveはインストール時に自動的にOctaveパスをセットしてくれるので 特に設定は要らない。 Octave-3.2.4を入れるときには octave for windows メモの筆者さんの www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#100403 を、ありがたく、よく読んでからな〜
284 名前:octave for windows メモの筆者 mailto:sage [2012/01/09(月) 13:38:37.75 ] 3.6.0がでそうでなかなか,いろんな話題がでてなかなかでませんが, そういうなか 3.5.92のスナップショットがでました。 ビルドできる人はトライしてみてください。 octave.1599824.n4.nabble.com/Octave-3-5-92-snapshot-available-for-ftp-td4270829.html
285 名前:octave for windows メモの筆者 mailto:sage [2012/01/11(水) 08:09:58.85 ] Octave-3.6.0のrc0がでました。 octave.1599824.n4.nabble.com/Octave-3-6-0-rc0-release-candidate-available-for-ftp-td4283677.html Octave-3.6.0のリリースもまもなくでしょう。
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:30:25.43 ] FreeBSD 9.0Rが出たので入れてみたメモ octaveはpackagesから入れると起動時にGLIBCXXなにがしというエラーが出ます portsから入れるとmake途中で同じエラーが出ます 原因はglibcのバージョンの問題で LD_LIBRARY_PATH の先頭に /usr/local/lib/gcc46 を入れてください。 一応正常そうに動きました。
287 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 20:02:14.37 ] for i=1:1:n t=0:dt:t; figure(i) subplot(1,3,1) plot(t,xx1(i,:)) grid on title('Displacement-time') xlabel('time') ylabel('displacement') subplot(1,3,2) plot(t,xx2(i,:)) grid on title('Velocity-time') xlabel('time') ylabel('Velocity') subplot(1,3,3) plot(t,xx3(i,:)) grid on title('Acceralation-time') xlabel('time') ylabel('Acceralation') hold on end
288 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 20:04:41.86 ] 上のコードは自分で作成しました。 もし、n=5であれば、5つの図を出したいのですが、 上記の場合ですと、1つ目の図はプロットされていますが、 2つ目以降のグラフは、grid とtitleなどが表示された図が表示されるだけで プロットされてません。 なお、xx1やxx2はちゃんと値が入っているので数字的ミスはまったくないです。 forで回すのは、figureを作成するうえでやめたほうがいいんでしょうか? よろしくお願いします。
289 名前:octave for windows メモの筆者 mailto:sage [2012/01/14(土) 22:22:53.77 ] >>288 それぞれの図を描くとき drawnow が入っていないのが原因なのでは?
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 12:05:33.07 ] t=0:dt:t; octaveにかけると、この文でエラーになるけど?
291 名前:octave for windows メモの筆者 mailto:sage [2012/01/15(日) 14:17:54.69 ] >>290 上のコードはこれ単独では動きません。 動かすには,tとdtの設定のほかにも,xx1とxx2の定義が必要ですので。 できれば,単独で動いて動作確認できるコードをあげていただけると 答えがつきやすいと思います。 ところで t=0:dt:t; はループの外に出すでしょう。ループの中にいれるのは, 間違いでないけど意味が不明です。
292 名前:octave for windows メモの筆者 mailto:sage [2012/01/15(日) 18:49:34.46 ] やってみました。たしかにループでなく描画するとグラフかけますね。 バグかもしれません。 Octaveのバージョン,Windows,Mac,Linuxなどお知らせください。
293 名前:octave for windows メモの筆者 mailto:sage [2012/01/15(日) 18:50:29.52 ] >> おっと, windows版octave 3.4.3で試してみました。
294 名前:octave for windows メモの筆者 mailto:sage [2012/01/16(月) 06:47:46.80 ] Octave-3.6.0がリリースされました。 octave.1599824.n4.nabble.com/Octave-3-6-0-uploaded-to-ftp-gnu-org-td4297674.html
295 名前:octave for windows メモの筆者 mailto:sage [2012/01/16(月) 12:17:54.38 ] >>287 よくコードを読むと t=0:dt:t; がfor loopの中に入っているためn=2からは 区間ではなくなってますね。 t=0:dt:t をloopの外に出すと正しく動くようです。 以上
296 名前:octave for windows メモの筆者 mailto:sage [2012/01/26(木) 06:54:39.70 ] Octave team で開発中のOctave-GUIの現在のスナップショット www.geocities.co.jp/tmoctwin/files/OctaveGUI0.8.5.html Windows上のスナップショットですが,Ubuntuでもほぼ同じイメージでした。
297 名前:octave for windows メモの筆者 mailto:sage [2012/01/26(木) 13:07:09.86 ] >>213 bode線図でこけるのは,control packageのせいではではなく, fltk graphic_toolkit が対数軸でのマウスオペレーションがこける ためのようです。 https://savannah.gnu.org/bugs/?35292
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/27(金) 09:11:43.11 ] >>296 Scilabも5.4.0-alphaからコマンドウインドウの左右に 補助ウインドウが出るようになりました ただしScilabは左が、変数&履歴ウィンドウ、右がファイルブラウザ まあでもド素人にMatlab系のプログラミング技術を教えるだけなら FreeMATでいいかもしれないです インストールが簡単だし、dos画面じゃないし、 グラフもgnuplotとかではなくてネイティブだし
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 11:13:02.52 ] >>298 FreeMATって、コントロールパックとかあるんでしたっけ? 伝達関数とか、それのインパルス応答とか、ボード線図かくやつ。
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 14:56:20.91 ] >>299 無いですね tfもzpもstepもbodeも 制御をやる目的ならscilabの方がいいと思います scilabはmatlabから入ると流儀がわからないかもしれませんが 慣れればどってことないです octaveは限界が高いですけど 初心者がやるにはハードルも高いと思います dos画面だけってのは初心者は面くらうでしょう それで電卓代わりに使う目的ならfreematで十分という話です
301 名前:octave for windows メモの筆者 mailto:sage [2012/01/30(月) 07:48:33.24 ] >>300 OctaveはもともとUnix由来のソフトですし,Windowsの開発陣のリソースは実に 薄い。UnixではTerminalでのソフトはまだ一般的ですし,UnixのTerminalは コマンドプロンプトよりは使いやすい。 #Windows 2000からはコマンドプロンプトが正しい名称であって #ドスプロンプトではないです。まあ,それのほうがつうじますが。
302 名前:octave for windows メモの筆者 mailto:sage [2012/01/30(月) 07:54:27.43 ] >>301 ちょっと舌足らずした。 とはいうもののUnixでもGUIのご時世なので,Octave本体もやっと 真剣にGUIインターフェースをつくりはじめています。 ちとお待ちください。
303 名前:octave for windows メモの筆者 mailto:sage [2012/01/31(火) 12:28:20.15 ] Octave3.6.0_gcc4.6.2 mingw binaries for testing octave.1599824.n4.nabble.com/Octave3-6-0-gcc4-6-2-mingw-binaries-for-testing-td4338795.html インストールの仕方などは以下を参照してください。 www.octave.org/wiki/index.php?title=Octave_for_Windows#Octave-3.6.0-mingw_.2B_octaveforge_pkgs
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/31(火) 23:58:19.85 ] 遅ればせながら、3.6.0のNEWSを読んでみた。 ぱっと目についた新機能は以下。 1.バイナリ演算子のブロードキャスト ex.) rv=(1:5)'、M=magic(5)の時、repmat(rv,1,5).*Mがrv.*Mと書ける 2.プロファイラの実装 profile, profshow, profexplore 3.parfor(for文の並列処理)のサポート 但し、内部動作はforのまま parfor、一瞬期待したのに…!
305 名前:octave for windows メモの筆者 mailto:sage [2012/02/01(水) 06:16:26.76 ] >>303 Release 3.6.0 still not "official" octave.1599824.n4.nabble.com/Release-3-6-0-still-not-quot-official-quot-td4345497.html で3.6.1がでるようです。qhullのルーチンがごく最近改定されたのでちょうど いいかもです。Windows版のビルドもATLASのバージョンを変えてテストが 終わりつつあるのでこれもいいかもです。 parforですか。たしかにあるといいと思いますが今の開発陣のマンパワー だとどうかなという気がします。そこらへんに強い人が開発陣に参戦される ことを期待したいのですが。
306 名前:octave for windows メモの筆者 mailto:sage [2012/02/02(木) 10:06:13.73 ] Octave for GNU Linux: Binary Octave packages for GNU Linux www.octave.org/wiki/index.php?title=Octave_for_GNU_Linux:_Binary_Octave_packages_for_GNU_Linux
307 名前:octave for windows メモの筆者 mailto:sage [2012/02/08(水) 07:05:13.92 ] Octave 3.6.1-rc0 release candidate available for ftp octave.1599824.n4.nabble.com/Octave-3-6-1-rc0-release-candidate-available-for-ftp-td4365618.html
308 名前:名無しさん@お腹いっぱい。 [2012/02/10(金) 15:43:20.25 ] octaveってデフォルトで上三角の連立方程式 U x = y を高速に解けないの? ちょっと使ってみようと思ってググったら2003年の記事出てきたんだけど、 www.math.meiji.ac.jp/~mk/labo/text/a-remark-lu.pdf これ未だにfixされてない?
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/10(金) 23:24:48.60 ] >>308 もしかして、試してすらいない? うちの環境だとこんな感じ。 Octave 3.2.4, Linux 2.6.32, Core2Duo 1.8GHz octave:1> lutest(5000); P の掛け算の計算時間 Elapsed time is 0.0580444 seconds. L による割り算の計算時間 Elapsed time is 0.0310717 seconds. U による割り算の計算時間 Elapsed time is 0.0300882 seconds. leftdivu() による割り算の計算時間 Elapsed time is 0.843658 seconds. 精度 ans = 1.1294e-06 ans = 1.1197e-06 ※実際は100回計算してる。上の時間は平均値
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/11(土) 17:30:46.00 ] >>309 試してというか、インストールすらまだしてないw ちょっとoctave使ってみようかな、ありがとう
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/14(火) 21:52:48.99 ] 久々です 少し訳の分からないエラーが出たので質問したいのですが… 今サクラエディタ上で次のようなプログラムを作ってました function dx = f(x,t) dx = 1/(1+t^2); end t = linspace(0,10,101); x = lsode("f",1,t); 因みにプログラムの内容は微分方程式 X' = 1/(1+t^2)をlsodeを用いて解くというものです コレをコンパイラしたところ以下のようなエラーが出てしまいます warning: function name `f' does not agree with function file name (filename) parse error near line 5 of file (filename) syntax error >>> t = linspace(0,10,101); error: `t' undefined near line 2 column 12 error: called from: error: (filename) こんな感じのエラーでした しかし窓でプログラムを制作した場合は何故かエラーなしでグラフを表示することができました 何でこんなエラーが出たのでしょうか? ^
312 名前:octave for windows メモの筆者 mailto:sage [2012/02/15(水) 07:42:59.15 ] >>311 今サクラエディタ上で次のようなプログラムを作ってました というのは,以下の内容を含むmファイルを作成して(例えばfoo.m) function dx = f(x,t) dx = 1/(1+t^2); end t = linspace(0,10,101); #**********: Octave のプロンプトからfooと打ったということでしょうか。 Octaveのmファイルには,スクリプトmファイルと関数mファイルがある。 Octaveはfunctionで始まるmファイルは関数mファイルと考える。 上の例は関数定義のあとにlsodeがあり,明らかに関数mファイルではない。 したがって上のスクリプトは間違いである。 warning: function name `f' does not agree with function file name (filename) は,関数mファイルは関数名とファイル名が一致しないといけないのでたwarning.
313 名前:octave for windows メモの筆者 mailto:sage [2012/02/15(水) 07:43:43.77 ] >>311 >>312 上のスクリプトをスクリプトmファイルと認識させたいならfunctionキーワードの 前に命令を入れる。例えば 1; function dx = f(x,t) dx = 1/(1+t^2); end 1;は無意味な命令だがそのおかげで,octaveはこのファイルをスクリプトm ファイルと認識できる。
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/15(水) 20:58:11.93 ] >>313 解決しました! ありがとうございます!
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/02/21(火) 22:33:37.23 ] 流石に課題丸投げは行けないと思うが、悩みに悩んだ結果積んでしまったので教えてください ttp://loda.jp/subject_2ch/?id=762 これが課題の内容(pdf形式)です 只今小問2に関するプログラムを制作してるのですが、どうしても等高線グラフができません 一応原因はある程度把握してますが(ip(k,n)に関して、kが整数ではないからエラーがでる)それに変わるプログラムが分からず… 以下に小問2に関するプログラムを載せますので、どこがどう違うのかを指摘してくれれば有難いです 1; function dx = f(x,t,n1,k1) dx = -k1*x^n1; endfunction t = (0:1:300); x0 = 10; for k = 10^-9 : 0.1 : 1 for n = 1 : 5 x = lsode(@(x)f(x,t,n,k),x0,t); ip(k,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2; endfor endfor contourf(pi)
316 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 11:42:18.48 ] >>315 ttp://loda.jp/subject_2ch/?id=762 がダウンロードできないので,もとの問題についてはわかりませんが, ip(k,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2; はkが正の整数かロジカルでないといけないので,こういう書き方は許されません。
317 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 11:52:06.35 ] >>316 (ip(k,n)に関して、kが整数ではないからエラーがでる)って書いてありましたね。 すみません。
318 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 12:13:15.01 ] >>315 1; function dx = f(x,t,n1,k1) dx = -k1*x^n1; endfunction t = (0:1:300); x0 = 10; k=1e-9; for m = 1:10 for n = 1 : 5 x = lsode(@(x)f(x,t,n,k),x0,t); ip(m,n) = (x(21) - 8)^2 + (x(41) - 6)^2 + (x(61) - 5)^2 + (x(121) - 3)^2 + (x(181) - 2)^2 + (x(301) - 1)^2; k=k+0.1; endfor endfor contourf(ip) は一応等高線はでるが,目指しているものと同じかわかりません。
319 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 13:27:38.33 ] >>318 contourf(ip) は contourf(1:5, 1e-9:0.1:1, ip) か contourf(1e-9:0.1:1, 1:5,ip') にすればよいかも。
320 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 17:57:12.75 ] >315-319 要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。 ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。 pdfをダウンロードできました。 もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。 あとは自力で頑張ってください。
321 名前:octave for windows メモの筆者 mailto:sage [2012/02/23(木) 18:04:53.50 ] >315-319 要は配列の概念とcontoturfの使い方がわかっていないのかなと思います。 ヘルプを読めばいいのですが,英語ですしね。無理もないかもしれません。 pdfをダウンロードできました。 もう少しいじる必要があると思いますが,基本的にはこれでいいのかな。 課題ですので,あとは自力で頑張ってください。
322 名前:octave for windows メモの筆者 mailto:sage [2012/02/28(火) 15:10:56.60 ] Octave 3.6.1 がリリースされました。 octave.1599824.n4.nabble.com/GNU-Octave-3-6-1-Released-td4425272.html 3.6.0はバグのため公式版とならなかったため,3.6.1が公式版となります。
323 名前:octave for windows メモの筆者 mailto:sage [2012/02/28(火) 15:18:33.76 ] まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲 を見せておられます。さて,どうなるでしょうか。
324 名前:octave for windows メモの筆者 mailto:sage [2012/02/28(火) 15:18:51.21 ] まだ,公式には発表されていませんが,Michael氏がMSVC版のoctaveの復活に意欲 を見せておられます。さて,どうなるでしょうか。
325 名前:octave for windows メモの筆者 mailto:sage [2012/03/03(土) 16:10:02.07 ] MSVC版のoctave-3.6.1がでました。 octave.1599824.n4.nabble.com/Octave-3-6-1-for-Windows-VS2008-VS2010-available-td4440168.html
326 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 23:33:37.71 ] いきなりの質問ですみません。 2つほど質問があります。 1.2段のワードの形式で論文を書いているのですが、 どうしても、ワードの大きさに縮小してしまうと、メモリどころか 線すらはっきり映りません。これをどう解決すればよいのでしょうか? 2.グラフを描くときに、色ではなく破線や点線はどのようなコードを 打てばよいのでしょうか? なにとぞよろしくお願いします。特に1番目の質問が深刻です。
327 名前:名無しさん@お腹いっぱい。 [2012/03/03(土) 23:42:00.21 ] 2番目は解決しました。すみません。
328 名前:octave for windows メモの筆者 mailto:sage [2012/03/04(日) 17:42:22.14 ] >>326 ?? プロットした図が縮小すると見えなくなるということでしょうか。 ワードだからWindowsですよね。octave-3.2.4でしょうか。 gnuplotの画面をコピーしてワードに貼り付けているということでしょうか。 私はoctave の図をそのまま使わないので良くわかりませんが, print コマンドでemfか何かでセーブした図を使ったほうがいいかもしれません。
329 名前:名無しさん@お腹いっぱい。 [2012/03/05(月) 20:49:38.55 ] octave-3.6.0で 1.1 ans = 1.10000000000000 single(1.1) ans = 1.10000002384186 となります。これってどうなんですか? どなたか教えて下さい。
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/05(月) 22:52:08.58 ] >>329 問題ないです
331 名前:octave for windows メモの筆者 mailto:sage [2012/03/07(水) 08:09:54.51 ] Windows版の書き込みですみませんm(__)m。 MinGW版 の 3.6.1がでました。 sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.1%20for%20Windows%20MinGW%20installer/
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/07(水) 14:24:18.76 ] >>329 補足するとsingle(単精度)の有効桁は10進に治すと約6-7桁なので それ以上の桁数の数値についての保証はなく >>330 の方がおっしゃるように,単精度の範囲では問題ないことになります。