Octaveによる数値計算とデータ処理の基礎

Octaveのデータ型は行列のみであり,行ベクトル(1行m列),列ベクトル(n行1列),スカラー(1行1列)はすべて行列として扱われる.基本的な演算には,四則演算(+,-,.*,./),数学関数(sqrt,abs,exp,log等),論理演算(&,|,),比較演算(<,<=,>,>=,==,=)がある.行列操作では,転置(.'),複素共役転置('),行列積(*),逆行列(inv),固有値・固有ベクトル(eig)等が利用可能である.また,行列の要素へのアクセスは行番号と列番号をカンマで区切って指定する.プログラム制御にはfor文,while文,if文が使用でき,ファイル入出力ではCSV,テキスト,Excel,バイナリ形式等に対応している.さらに,外部ライブラリとの連携やPython,C/C++との連携も可能である.エラー処理にはtry-catch構文が利用でき,デバッグにはブレークポイントの設定や変数状態の確認等の機能が提供されている.

目次

  1. Octave のインストール手順(Windows上)
  2. Octaveのデータ型
  3. 行ベクトル
  4. 列ベクトル
  5. 行列
  6. スカラーに対する演算
  7. その他の関数
  8. 制御構造
  9. 外部ライブラリとの連携
  10. ファイルの入出力
  11. エラー処理とデバッグ手法

Octave のインストール手順(Windows上)

【要点】

インストールには管理者権限が必要である.インストール中は他のアプリケーションを終了し,アンチウイルスソフトが干渉する場合は一時的に無効化することを推奨する.

  1. インストーラーの入手:公式サイト GNU Octave の"Windows Installers"セクションから,最新の安定版64bit版インストーラーをダウンロードする.
  2. 管理者権限での実行:ダウンロードしたインストーラーを右クリックし,「管理者として実行」を選択する.セキュリティ警告が表示された場合は「実行」を選択する.
  3. インストール言語:English(デフォルト)を選択し,「Next」をクリックする.現時点で日本語インターフェースには対応していない.
  4. ライセンス同意:条項を確認し,「I accept the agreement」を選択して「Next」をクリックする.
  5. インストール先の指定:デフォルトのパス(C:\Program Files\GNU Octave)を推奨する.重要:パスにスペースや日本語文字を含めないようにすること.
  6. コンポーネントの選択:以下の項目すべてを選択する.
    • Full installation(完全インストール)
    • Create Desktop Icon(デスクトップアイコンの作成)
    • Associate .m files with GNU Octave(.mファイルの関連付け)
  7. インストール実行:「Install」をクリックしてインストールを開始する.
  8. 初期動作確認:インストール完了後,以下の手順で動作を確認する:
    1. デスクトップ上のOctaveアイコンをダブルクリック
    2. コマンドウィンドウが開き,プロンプト(octave:)が表示されることを確認
    3. version コマンドを実行してバージョンを確認
    4. 2 + 2 を実行し動作を確認
    5. plot([1,2,3]) を実行し,グラフ描画を確認する.

Octaveのデータ型

Octaveのデータ型は行列のみである. このページでは,行ベクトル,列ベクトル,スカラーという用語を次の意味で使用する.

Octaveでは,変数名の大文字と小文字を区別する必要がある. 本ページでは,行ベクトル,列ベクトル,スカラーを表す変数名には小文字を,一般の行列を表す変数名には大文字を使用している.

行ベクトル

行ベクトルのコンストラクタ

【要点】

行ベクトルは,1行m列の行列 (m>=1)である.

変数 t に,要素 2,1,3 の行ベクトル(要素がこの順で並ぶ)を格納する場合は,

t = [2 1 3]

要素の操作

行ベクトルの演算

列ベクトル

【要点】

変数 t に,要素 2,1,3 の列ベクトル(要素がこの順で並ぶ)を格納する場合は,

t = [2; 1; 3]

行列

行列のコンストラクタ

【要点】

変数 M に2行2列の行列(つまり,要素1,2,3,4が以下のように配置された行列)を格納する場合,

1 3
2 4

次のような記法を使用する.

M = [1 3; 2 4]

行列の要素の操作

行列の演算

スカラーに対する演算

Octaveでは,スカラーに対する演算を行列やベクトル(行ベクトルと列ベクトル)に適用できる. この場合,行列やベクトルの各要素に対して個別に演算が実行される. また,同じサイズの行列やベクトル同士であれば2項演算を適用できる.

四則演算

数学関数

論理演算

論理演算では,0を偽(FALSE),0以外の値を真(TRUE)として扱う. 比較演算の結果は,真の場合は1,偽の場合は0となる.

比較演算

行列やベクトルに対する比較演算は,各要素に対して個別に実行される. 比較結果は,真の場合は1,偽の場合は0となる.

  • 集約演算

    (例)集約演算の使用例

    x = [1 2 3 4 5 6]
    max(x)
    min(x)
    mean(x)
    sum(x)
    length(x)
    

    グラフ描画関数

    その他の関数

    フィルタリング関数

    制御構造

    外部ライブラリとの連携

    【要点】

    Octaveでは,外部ライブラリやPython等との連携により,機能を拡張できる.Windowsでの手順を説明する.

    Forgeパッケージの利用

    Pythonとの連携

    【注意】

    Windowsでの確実な動作のために,以下の準備が必要である.

    • Python(3.8以降)のインストール(python.orgからダウンロード)
    • Octave 6.0以降のインストール
    • NumPy,SciPyのインストール(pip install numpy scipy)
    • PATHの設定確認

    C/C++との連携

    Windowsシステムコマンドとの連携

    連携時の注意点

    ファイルの入出力

    【要点】

    Octaveでは,様々な形式のファイルの読み書きが可能である.特に数値データの入出力において強力な機能を提供している.

    CSVファイルの操作

    テキストファイルの操作

    Excelファイルの操作

    【注意】

    Excelファイルの操作には,io-packageの導入が必要である. インストールは以下のコマンドで実行する:

    pkg install -forge io
    pkg load io
    

    バイナリファイルの操作

    ファイル操作の補助関数

    エラー処理とデバッグ手法

    基本的なエラー処理

    【要点】

    Octaveにおけるエラー処理は,try-catch構文を用いることで実現できる.また,警告(warning)の制御も可能である.

    デバッグに有用な関数

    デバッグ時の表示制御

    エラー発生時の推奨対応