1 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/28(水) 22:13:01 ] 知る人ぞ知る強力なデータ解析ツール octave ... unixを科学研究で使っている香具師には非常に心強い味方のはずだ。 matlab互換を主張しながら、微妙にバージョンアップを続ける octaveについて語ろう。 そのPart 2です 前スレ データ解析ツールoctaveを語ろう pc12.2ch.net/test/read.cgi/unix/1086016412/
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 の方がおっしゃるように,単精度の範囲では問題ないことになります。