ここでは、GNU Octave(オクターブ)について紹介します。
同じオープンソースのScilab(サイラボ)よりもMATLABとの互換性がある分、私には使いやすいです。
もう少しがっつりつかうのであれば、MATLABのホームライセンスも候補になってきます。
制御系設計ツールと言えばMATLAB
MATLAB(私はマットラボと呼んでいますが、マトラボが正しいようです)について紹介します。
MATLABは、制御系設計ツールのデファクト・スタンダードと言ってよい、MathWorks社(The MathWorks, Inc.)のソフトウェア(技術計算言語、プログラミング環境)です。
このブログで紹介しているLQ制御は、MATLABのControl System Toolboxを使いシミュレーションできます。
私のMATLABとの出会いは、研究室のMacintosh(マッキントッシュ、略してマック)でした。行列計算が簡単にしかも高速に処理されるので、現代制御理論を使った制御系設計やシミュレーションにはもちろんのこと、論文作成にも活躍してくれました。
オープンソースの制御系設計ツールGNU Octave
オープンソースでもMATLABと同じようなことのできるソフトウェアがあります。GNU Octaveはその1つです。
2020年5月にGNU Octaveを触り始めたばかりですが、Scilabよりも使いやすい、違和感がないような感じがしています。
これから基本的な操作やプログラミングをして、このブログで紹介している振動制御などに使えないか試してみようと考えています。
下図は、メッシュプロットの表示例です。
図1 GNU Octaveの画面例
GNU OctaveのWebサイトです。
GNU Octaveを使ってみようと思った理由
そろそろpythonでMATLABをやってみようかと調べていたところ、
- 線形代数や行列ならOctave、それ以外ならpython
を勧める情報が多く、GNU Octaveについて調べ始めました。
早速、GNU Octaveサイトにアクセスしたところ、GNU Octaveの以下の説明が目に留まりました。
GNU Octave
Scientific Programming Language
- Powerful mathematics-oriented syntax with built-in plotting and visualization tools
- Free software, runs on GNU/Linux, macOS, BSD, and Windows
- Drop-in compatible with many Matlab scripts
GNU Octaveのサイトから引用
最後の「Drop-in compatible with many Matlab scripts」を見て、Mファイルがそのまま使えるのなら試してみよう決心しました。
GNU Octaveを早速インストール
GNU Octaveのサイトから以下のWindows版をダウンロードしました。
- Windows-64 (recommended)
- GNU Octave 5.2.0 Released
- Jan 31, 2020
早速インストール。JavaのJREが必要なようですが、後からでもよいようなので、基本的にデフォルトでインストールしました。
CUI版とGUI版がありますが、私はGUI版を使っています。
図2 GNU Octaveインストーラーの起動画面
下図がGNU OctaveのCLI画面です。
- GUIは、WindowsやMacの様にマウスを利用したインターフェースのこと
- CUIとCLIは同じ意味と思っていますが、Windowsのコマンド・プロンプト画面の様なキーボード入力を前提としたインターフェースのことです。
GUI:Graphical User Interface(グラフィカル・ユーザー・インターフェース)
CUI:Character User Interface(キャラクタ・ユーザー・インターフェース)
CLI:Command Line Interface(コマンド・ライン・インターフェース)
図3 GNU OctaveのCLI画面
GNU Octaveのリリース情報
GNU Octave 6.2.0 Released(2021.2.20)
GNU Octave 6.1.0 Released(2020.11.26)
安定性の向上や機能アップ、MATLAB R2019bとの互換性向上などのようです。着実にバージョンアップが進んでいるようで好印象です。
バージョンアップ内容については、英文ですが以下のページをご覧ください。
まとめ
制御系設計ツールのデファクト・スタンダードは、MATLAB/SIMULINKです。ここでは、MATLABのMファイルが使えるGNU Octave(オクターブ)について、以下の項目で説明しました。
- 制御系設計ツールと言えばMATLAB
- オープンソースの制御系設計ツールGNU Octave
- GNU Octaveを使ってみようと思った理由
- GNU Octaveを早速インストール