MATLAB/addpathの使い方とその注意点

MATLABでmatファイルやfunctionを一時的に使いたいときによく使う.基本的には以下のようになる.

addpath(dir)
% dir: 検索するディレクトリの名前

使い方の例

例えば現在のディレクトリに自分で作ったfunctionが入ったディレクトリ(localfunc)と使うmatファイルが入ったディレクトリ(mat)があり,これらのパスを一時的に追加するときは

addpath('./localfunc') % localfuncディレクトリの追加
addpath('./mat') % matディレクトリの追加

のようにする.

注意点

プログラム内でディレクトリ移動(cd)を行うと,相対バスではうまくパスを通せなくなるので,実行中にcdする際は以下のようにする

dir_org = pwd;
addpath(fullfile(dir_org,FolderName))
% 最初のディレクトリにあるディレクトリFolderNameのパスを通す
addpath(fullfile(dir_org,'../XXX_dir'))
% 最初のディレクトリの一つ上にあるディレクトリXXX_dirのパスを通す

応用例

MATLAB Exchangeなどで入手したtoolboxはどこかにtoolbox用のフォルダを作っておいて,最初にパスを通す

toolbox_dir = '(ツールボックスがあるディレクトリの絶対パス)';
addpath(toolbox_dir)

ダウンロードしたtoolboxはフォルダに入っていることが多く,toolbox用のフォルダに各toolboxごとにフォルダがある.この場合,toolbox_dirの下のすべてのフォルダのパスを通す必要がある.この時は,genpathでフォルダ内の全フォルダのパス名を生成し,addpathをする

toolbox_dir = '(ツールボックスがあるディレクトリの絶対パス)';
% toolbox_dir以下の全ディレクトリのパスを通す
addpath(genpath(toolbox_dir))

参考サイト