Octave Transfer Function

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

テスト : 矩形波を伝達関数を通してPlotします。
Oct01

コマンド:

[u,t] = gensig('square',4,10,0.1);
H = [tf([1],[1]) ; tf([1],[1 1])]
lsim(H,u,t)

便宜上、グラフを二つ表示するために、一つ目を何もしない伝達関数としました。
Oct02

うーん。なかなかわかりやすいグラフになりました。

制御系のアプリですが、Octaveを統計データの処理をする上で使うのもありかなと思っています。

このあたり、なかなか興味深いです。

参考 : http://www.mathworks.co.jp/jp/help/ident/ref/lsim.html

About

Categories: 未分類 タグ: