2012-04-04 19 views
1

複数の複数のバージョンの特定の関数m-fileが現在異なるディレクトリに存在しています(pathにあるかどうかをMATLABに通知する方法はありますか?これは、大規模な共同MATLABプロジェクトに役立ちます。機能(ファイル)名前衝突警告

答えて

1

特定の関数名がある場合、その名前の関数がすでに存在するかどうかを確認する必要がある場合は、関数WHICHを使用できます。私は私の現在のディレクトリ(C:\Program Files\MATLAB\R2010b\bin\)に新しい機能ファイルtest.mを追加した場合、これは私に語っWHICHものです:

>> which test -all 
C:\Program Files\MATLAB\R2010b\bin\test.m 
C:\Program Files\MATLAB\R2010b\toolbox\stats\stats\@classregtree\test.m % classregtree method 
C:\Users\user\Documents\MATLAB\test.m         % Shadowed 

testと呼ばれる3つの機能が存在することになります。一つはclassregtreeのオブジェクトのクラスメソッドであります1つは今作成した関数(上の行)であり、最後の行(下の行)は今作成したものに影を付けています。これは、現在のディレクトリからtestを呼び出した場合、最初のディレクトリが呼び出されることを意味します。私は別のディレクトリに変更すると、私の代わりにこれを取得:

>> which test -all 
C:\Users\user\Documents\MATLAB\test.m 
C:\Program Files\MATLAB\R2010b\toolbox\stats\stats\@classregtree\test.m % classregtree method 

前のディレクトリがMATLAB pathに保存されていなかったので、新しいtest機能は、今まで表示されません。以前に影を付けられたtest関数が呼び出されました。