MATLABのTips1 functionファイルのライブラリー化

2021/03/12に公開

はじめに

Pythonなどのプログラムではライブラリーを作りやすいです。
MATLABだとカレントディレクトリ内に自作したfunctionファイル(自作の関数)を保存しておかないと実行できないという煩わしさがあります。
その煩わしさを解消できるのがpathという関数です。

help path

PATH サーチパスの取得と設定
PATH 自身では、MATLAB の現在のサーチパスを出力します。初期のサーチパス
リストは PATHDEF で設定され、STARTUP で個々に設定されます。
P = PATH は、パスを含む文字列を P に出力します。
PATH(P)は、Pのパスを変更します。PATH(PATH)は、ツールボックスでない
ディレクトリへの任意の変更の表示を保証するため、パス上の MATLAB の
ディレクトリ表示をリフレッシュします。

path関数をうまく使ってライブラリを作りましょう。
例えば、フォルダA、フォルダB、フォルダCのようにフォルダを分けて、functionファイルを各フォルダに分類して整理し、その全ファイルにpathを通します。
もう少し具体的に説明すると、
フォルダAには機械学習関連のfunctionファイルを、
フォルダBには信号処理関連のfunctionファイルを、
フォルダCには図表示関連のfunctionファイル
といった具合にフォルダごとに整理してライブラリー化しておき、ライブラリー内のfunctionファイルはカレントディレクトリによらず、アクセスできるようにしておくということです。

プログラム

addpathall.m
function addpathall
 
Folder_name = char('A','B','C');

path(path, cd);
for n = 1:size(Folder_name, 1)
    PathName = [cd, '\', deblank(Folder_name(n, :))];
    path(path, PathName);
end
 
end

結果

上記プログラムを下図のようにカレントディレクトリに置き、コマンドウィンドウ上で「addpathall」と実行します。
するとフォルダA~Cにpathが通り、カレントディレクトリの場所に関係なく、functionファイルを実行することができます。

今回はこのへんでGood luck

私の個人ブログもよろしくお願いします。
https://mech-eng-uni.com/

Discussion