GNU Octave をこれから始める人に役に立ちそうなことをまとめました。具体的な文法などは他のサイト、記事にあたってください。
GNU Octave とは
GNU Octave はフリーの数値計算ソフト(言語)でMATLABと互換性が(ある程度)あります。私はオーディオの測定・解析・フィルタ設計などに使っています。
初心者にも分かりやすく、グラフなども簡単に描けます。
GNU Octave 公式サイト
Octave のインストール
windows
公式サイトのダウンロードページからインストーラーをダウンロードします。
mac
Homebrewでインストールできるようです(macは持ってないので...)
Linux
ディストリビューションのパッケージマネージャーを使ってインストールします。flatpakを使う方法も有りますが、ディストリビューションのパッケージマネージャを使うほうが面倒が少ないです。
Ubuntuならコマンドラインで
sudo apt install octave
Raspberry Piに関する注意
標準のRaspbian Busterでグラフが描けない不具合が有ります。Ubuntu64bitなら大丈夫です。
Raspberry Pi でOctave を使う
Octaveの起動
コマンドラインで
# GUIで起動
octave --gui
# CUIで起動
octave --no-gui
オプションを指定しなかった場合にどちらが起動するかはバージョンにより違います。
パッケージ
Octave は色々なパッケージがあって機能拡張することができます。
パッケージの公式ページ
https://octave.sourceforge.io/
##パッケージインストール
Windowsでは基本的なパッケージはインストール済みです。
Ubuntu の場合にはOctave内からpkgコマンドでインストールするよりもaptを使ってインストールしたほうが楽です。
# signal packageをインストールする場合(Ubuntu,Debian)
sudo apt install octave-signal
インストールされているパッケージを表示するにはOctaveのコマンドラインで
octave> pkg list
パッケージのロード
パッケージはインストールしただけでは使えません。ロードする必要が有ります。
signal package をロードする場合、Octaveのコマンドラインで
octave> pkg load signal
いつも使うパッケージは ~/.octaverc などに記入してしまいましょう。
GNU Octave の情報
Octaveの情報をどこで得るか、簡単にまとめました。
公式サイト
なにはともあれ公式サイトのDocsページ
オフラインで見たければPDFファイルもあります。
同じものはGUI起動のoctaveのドキュメントタブ
CUI起動のoctaveの場合はコマンドラインで
octave> doc
で見ることができます。CUIの場合にはinfoで表示されるのでキー操作に慣れが必要です。
関数(演算子・キーワード)の情報
octaveコマンドラインでhelpコマンドを使います。
help の後に関数名または演算子、キーワードを入力します。
octave> help 関数名
関数ファイルのコメントが表示されます。自作関数にもコメントで使用法の説明を入れてhelpコマンドで表示できるようにしておきましょう。
演算子を表示するにはOctaveのコマンドラインで
octave> help .
演算子・キーワード・関数をすべて表示する
octave> help --list
この場合でもロードしていないパッケージ内の関数は表示されません。
パッケージについては
https://octave.sourceforge.io/
を参照してください。
MATLABのサイト
Octave はMATLABと互換性があるのでMatlabのサイトが参考になります。
日本語サイト
https://jp.mathworks.com/products/matlab.html?s_tid=hp_products_matlab
中にはoctaveの公式サイトの説明が不完全で、MATLABのサイトを見ないと詳しい使い方がわからない関数もあったりします。
ただし、MATLABにはあるのにOctaveにはない関数も多くあるので注意してください。
Octave入門
"octave入門"あたりでググれば色々なサイトがヒットします。あちこちの大学の講義資料なんかも有ります。
古い情報が多いですが、v2.xの頃と基本的な文法は変わってないのでたいてい大丈夫です。
Octave のバージョンについて
最新版が良いとは限りません。
v5.0に上がった直後はsignalパッケージのバージョンアップが間に合わずに使えないなんてこともありました。
またUbuntuのLTSは2年に一度でその間、基本的にOctaveのバージョンも変わりません。Octaveのバグフィックスは同じバージョンではなく、次のバージョンになるので(頻繁にバージョンが上がる)うっかりするとバグ入りで不安定なバージョンを使い続けることになります。
Ubuntu20.04に入る5.2.0はそこそこ安定しているようなので、一安心です。