Matlabというシミュレーションアプリケーションの巨大パッケージがありますが、それの互換フリーソフトの位置づけにあるのが、Octaveです。
このブログでも最近はデータ処理の観点からRというアプリケーションをよく使用しますが、もともとは10年ほど前に組み込み系の仕事でMatlabを使っていた経緯から、このRがとてもとっつきの良いものになっています。
データビジュアライゼーションについても、最近よくとりあげられていますが、MatlabやMathmaticaなどのソフトでかなり以前から実現されていました。
ここでOctaveがでてきた経緯としては、行列の演算などの処理でもともとMatabでやってきたことを、振り返る意味でとりあげました。Matlabは大変高価なアプリでとても個人では手がでませんので、Octaveを使用します。
久しぶりにOctaveをさわってみましたが、まだ現在進行形でサポートされていることと(2014, version 3.8.1)、伝達関数(tf)がMatlab互換の方法で使えるようになったこと(Octave Control Systems Toolbox : 以前はOctave独自の方法だった気が・・MatlabではSimulinkでやっていた)がとてもうれしいです。
ということで、よく利用した「一次おくれ」のテストをしてみました。
環境 : Ubuntu 14.04
インストール方法 :
apt-get install octave
apt-get install octave-control
コマンド:
[u,t] = gensig('square',4,10,0.1); H = [tf([1],[1]) ; tf([1],[1 1])] lsim(H,u,t)
便宜上、グラフを二つ表示するために、一つ目を何もしない伝達関数としました。
うーん。なかなかわかりやすいグラフになりました。
制御系のアプリですが、Octaveを統計データの処理をする上で使うのもありかなと思っています。
このあたり、なかなか興味深いです。
参考 : http://www.mathworks.co.jp/jp/help/ident/ref/lsim.html