データ解析ツールoctaveを語ろう Part 2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/10/28(水) 22:13:01unixを科学研究で使っている香具師には非常に心強い味方のはずだ。
matlab互換を主張しながら、微妙にバージョンアップを続ける
octaveについて語ろう。
そのPart 2です
前スレ
データ解析ツールoctaveを語ろう
http://pc12.2ch.net/test/read.cgi/unix/1086016412/
0175octave for windows メモの筆者
2011/10/11(火) 10:17:19.15ttp://octave.1599824.n4.nabble.com/GNU-Octave-3-4-3-Released-td3890670.html
0176名無しさん@お腹いっぱい。
2011/10/11(火) 21:28:31.48毎度ありがとうございます。
目玉機能は何かあります?
(simulinkがついに出来たとか :-P )
0177octave for windows メモの筆者
2011/10/12(水) 16:12:10.66残念ながら喜ぶような機能の追加はなく,バグフィックスのようです。
3.4はこれでおしまいで,次は3.6になります。
GUIのインターフェースがつくかも知れませんが,はっきりとしません。
0178名無しさん@お腹いっぱい。
2011/10/12(水) 20:10:34.63あ、それは残念。
純正のOctave Workshopと、ネイティブEXCELリーダーが付けばいいなぁ。
0179octave for windows メモの筆者
2011/10/13(木) 11:33:00.99Octave-forgeのio packageである程度のことはできるようです。
私はつかったことがないのでよくわかりません。
ttp://octave.sourceforge.net/io/overview.html
>>純正のOctave Workshop
Qt BaseのGUIが検討されていてもしかしたら,3.6で実装
(たぶんExperimental)されるやもしれません。
Windows版については,最近活動がストップしているBenjaminさんに
変わる人が出てくればいいのですが。
私のスキル,体調,仕事上の都合でそこまでついていけないのが実情です。
0180名無しさん@お腹いっぱい。
2011/10/13(木) 13:02:18.29s=poly(0,"s")
sys=1/(1+s)
ってできますが
Octaveでは
sys=tf( [1] , [1 1] );
ですよね。
scilabみたいに記法する方法はないですかね?
0181octave for windows メモの筆者
2011/10/13(木) 17:08:44.70Octave 3.4に対応した
Octave-forgeのcontrol packageでは,
ttp://octave.sourceforge.net/control/function/tf.html
Exampleに
octave:1> s = tf ("s");
octave:2> G = 1/(s+1)
Transfer function "G" from input "u1" to output ...
1
y1: -----
s + 1
とあります。
Windowsの場合
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#110906
こちらをご覧ください。
0182octave for windows メモの筆者
2011/10/13(木) 17:10:32.551
y1: -----
s + 1
が崩れて表示されていますね。すみませんm(__)m。
0183octave for windows メモの筆者
2011/10/13(木) 17:18:17.15何度もすみません。
****************************
Windowsの場合
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#110906
こちらをご覧ください。
****************************
は
WindowsでOctave-3.4.2でcontrol packageなどのOctave-forgeを使いたい場合
ということです。舌足らずな説明ですみません。
0184名無しさん@お腹いっぱい。
2011/10/13(木) 23:33:20.68使ってみます。
ginputのバッティングなんかも解消できているといいのですが。
0185名無しさん@お腹いっぱい。
2011/10/14(金) 15:57:12.92OctaveのはMatlab互換なので馴れてしまえば後々で便利です
例えば化学の一次反応を
(d/dt)x=k(x0-x)
と置きましょう。xは反応量、x0は初期量、kは反応速度定数(毎秒)です。
式を展開すると
(1/k)(d/dt)x=x0-x
x0=(1/k)(d/dt)x+x
これをラプラス変換すると
X0=(s/k)X+X=(s/k+1)X
X0=((s+k)/k)X
伝達関数G(s)は(伝達関数はOutput/Input)
G(s)=X/X0=k/(s+k)
これを普通にラプラス逆変換すると
x/x0=k exp(-kt)
ですが、Octaveで計算すると、k=0.02 として
Octave:4> k=0.02; G=tf([k] [1,k],0);
Octave:5> [y,t]=step(G);plot(t,y);
であっさり描けてしまいます
時定数は1/k=1/0.02=50秒で、図でも50秒で1-exp(-1)=63%にまで上がってるはずです。
0186名無しさん@お腹いっぱい。
2011/10/15(土) 13:48:46.19>>180のヒトは
伝達関数G(s)は(伝達関数はOutput/Input)
G(s)=X/X0=k/(s+k)
で
Octave:4> k=0.02; G=tf([k] [1,k],0);
を
Octave:4> k=0.02; G=k/(s+k)
で書ければいいなぁ
って言っているんだと思います。
Octave3.4だと出来るのか。
0187名無しさん@お腹いっぱい。
2011/10/15(土) 14:33:56.65それはわかってるつもりなのですが
伝達関数は計算してから入れればいいという考え派なので
しかし制御の本がScilabばっかりなのは
伝達関数の計算なんかめんどい&scicos(5.2以降ならxcos)で制御を勉強したい
という人が多いのでしょうね
0188octave for windows メモの筆者
2011/10/17(月) 07:33:56.72>Octave3.4だと出来るのか。
正確にいうと最近のControl package でできるようになり,
それにはoctaveが3.4以上である必要があるということのようです。
ところで3.4.2 for winodws用のOctave-forge Packageが更新されました。
http://wiki.octave.org/wiki.pl?OctaveForWindows
を参考にしてください。Control package もバージョンが
あがっているようです。
0189名無しさん@お腹いっぱい。
2011/10/17(月) 20:24:04.79すいません。
http://octave.sourceforge.net/
のWindows installer (Octave and Octave-Forge)
の方は更新されないんですか?
0190octave for windows メモの筆者
2011/10/18(火) 08:54:52.33される見込みは,残念ながら今のところありません。
MaintainerのBenjamin Lindnerさんが5月ごろから,svnの作業ツリーやML
などから,姿を消しておられます。
私は,ビルドしかできないので3.4.2を自分のWebにのせたら,
Nitzan Araziさんが7zipによるアーカイブと octave-forge のパッケージを
(7 zip)作ってくださいました。
0191名無しさん@お腹いっぱい。
2011/10/19(水) 20:34:16.86変数xが負の値をとる場合にはゼロになるように条件を加えたいのですが
そういったことは出来るのでしょうか。
0192名無しさん@お腹いっぱい。
2011/10/20(木) 12:35:32.94数学的な工夫でできるかもしれませんが。すみませんがわかりません。
0193名無しさん@お腹いっぱい。
2011/10/21(金) 23:07:54.32Octave3.4.2_gcc4.5.2\share\octave\packages\control-2.1.54
の中身を見ているのですが、
tf2ss とか sysout とか、その変の関数がゴッソリと無くなっているのは
なんか理由があるんでしょうかね?
s=tf("s") で G=1/s , H = 1/(s^2+1) , GH=G*H
っていう記述が出来るようになったのは有りがたい反面、使い慣れた関数が
無くなっているのはちょっと寂しい。
(matlabにはあるのに)
0194名無しさん@お腹いっぱい。
2011/10/24(月) 20:16:09.57ないでしょう。たしかMaintainer が最近変わったようなので。
0195名無しさん@お腹いっぱい。
2011/10/24(月) 21:27:34.49tf2ssはssでイケルっぽい
0196octave for windows メモの筆者
2011/10/27(木) 07:58:32.39http://octave.1599824.n4.nabble.com/Mingw-Octave-3-4-3-binaries-for-testing-on-windows-Updated-td3942303.html
0197名無しさん@お腹いっぱい。
2011/10/29(土) 15:09:02.44communicationsを使いたいので、どなたか情報を持ってる方お願いします
pkg install signal image optim miscellaneous struct specfun -auto -forge -global (これはOK)
pkg install communications -auto -forge -global
ov-galois.o:C:\Users\hoge\AppData\Local\Temp\oct-2\communications\src/ov-galois.cc:556: undefined reference to `H5Gcreate'
ov-galois.o:C:\Users\hoge\AppData\Local\Temp\oct-2\communications\src/ov-galois.cc:567: undefined reference to `H5Screate_simple'
(snip)
collect2: ld returned 1 exit status
make: *** [gf.oct] Error 1
'make' returned the following error: make: Entering directory `/tmp/oct-2/communications/src'
(snip)
make: Leaving directory `/tmp/oct-2/communications/src'
error: called from `pkg>configure_make' in file C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m near line
1339, column 9
error: called from:
error: C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m at line 790, column 5
error: C:\Octave\Octave3.4.3_gcc4.5.2\share\octave\3.4.3\m\pkg\pkg.m at line 361, column 9
0198名無しさん@お腹いっぱい。
2011/10/30(日) 05:18:24.99回線が細いので確認できませんが,
Octave3.4.3_gcc4.5.2_20111025.7zにくわえて
Octave3.4.3_gcc4.5.2_pkgs_20111026.7zもいれて
pkg rebuild -auto
でいけませんか。
不要なものはpkg uninstallで消す。
Octave3.4.3_gcc4.5.2_pkgs_20111026.7zにすでにoctave-forgeは入っていて,
それを再認識させるには pkg installでなく,pkg rebuildを使います。
0199名無しさん@お腹いっぱい。
2011/10/31(月) 01:21:57.38すみません、最初にpkg rebuild -autoしたのにどうしてもダメだと思ってましたが
octaveの再起動が必要なことに今の今まで気づいてませんでした;;
どうもお騒がせしました。
0200名無しさん@お腹いっぱい。
2011/12/02(金) 10:02:30.70http://freemat.sourceforge.net/
Octave互換モードも出来たらしいです
FreeMATとOctaveを統合してはどうかという話もありますがはたして
0201octave for windows メモの筆者
2011/12/03(土) 10:38:58.08情報ありがとうございます。確かにOctave Integrationとありますね。
OctaveのMLでは,なにも話しは出ていませんが,どうなんでしょうね。
Octave MLでは3.6のリリースに向けて議論がなされています。
GUIも開発されつつあります。
0202octave for windows メモの筆者
2011/12/03(土) 20:10:07.47Octave のMLで情報を流してみました
http://octave.1599824.n4.nabble.com/FYI-FreeMat-4-1-includes-Octavee-Integration-td4151738.html
レスポンスがどうなるかですね。
0203名無しさん@お腹いっぱい。
2011/12/04(日) 10:21:08.63G=1/(1+0.1*s)
bode(G)
みたいな事はできるんですかね?
Octaveは最新版でやっと出来るようになったみたいですが。
0204:octave for windows メモの筆者
2011/12/05(月) 07:09:35.32だそうです。
http://octave.1599824.n4.nabble.com/control-2-2-2-released-in-package-forum-please-upload-td4157808.html
http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/main/control/NEWS?revision=9260&view=markup
0205:octave for windows メモの筆者
2011/12/08(木) 07:03:41.15http://octave.1599824.n4.nabble.com/control-2-2-3-released-in-package-forum-please-upload-td4169495.html
[2]
http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/main/control/NEWS?revision=9303&view=markup
0206octave for windows メモの筆者
2011/12/09(金) 12:18:21.65されました。
https://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.4.3%20for%20Windows%20MinGW%20Installer/
0207名無しさん@お腹いっぱい。
2011/12/10(土) 02:50:59.58おぉお。
ついに!
ありがとうございます
0208octave for windows メモの筆者
2011/12/10(土) 17:54:33.57今回のバイナリーには,インストーラーがありません。そのため上記のページに
詳しい解説とインストール方法が記載されています。英語なので,拙Webページに自分の
改定を少し加えた翻訳の解説とインストール方法を記載しましたので,ご利用
ください。
http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#111210
0209名無しさん@お腹いっぱい。
2011/12/11(日) 23:57:09.22初期設定ファイルいじらずに、初めて起動した。
startxからoctave起動して、簡単な計算とかはできるんだけど
グラフがまったく出力されない。↓こんなのでる。
gnuplotにパス通してないから?(´・ω・`)
octave:1> x=[0,0.2,0.4]
x =
0.00000 0.20000 0.40000
octave:2> plot(x,sin(x))
78 [main] octave-3.4.2 2720 exception::handle: Exception: STATUS_ACCESS_VIOLATION
1712 [main] octave-3.4.2 2720 open_stackdumpfile: Dumping stack trace to octave-3.4.2.exe.stackdump
error: popen2: popen2 (child): unable to start process -- Bad address
error: called from:
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_open_stream__.m at line 30, column 44
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_drawnow__.m at line 72, column 19
error: Invalid call to strcat. Correct usage is:
-- Function File: strcat (S1, S2, ...)
error: called from:
error: /usr/share/octave/3.4.2/m/help/print_usage.m at line 87, column 5
error: /usr/share/octave/3.4.2/m/strings/strcat.m at line 92, column 5
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_get_var__.m at line 113, column 11
error: /usr/share/octave/3.4.2/m/plot/__go_draw_axes__.m at line 40, column 18
error: /usr/share/octave/3.4.2/m/plot/__go_draw_figure__.m at line 167, column 19
error: /usr/share/octave/3.4.2/m/plot/__gnuplot_drawnow__.m at line 86, column 5
0210209
2011/12/12(月) 00:01:14.96cygwinのダウングレードで解決されていましたが、
ダウングレードはするつもりがないので相性がよくなるまで待ちます。
0211octave for windows メモの筆者
2011/12/12(月) 05:14:49.53CygwinのMLを見ているとOctaveとの相性の悪い1.7.9に代わって1.7.10が
テストリリースされているようです。まだ,試していませんが問題が解決して
いることを願います。
■ このスレッドは過去ログ倉庫に格納されています