1

特定の関数 m-file のいくつかの競合する (同じ名前の) バージョンが、現在 .xml に存在する異なるディレクトリに存在することを、MATLAB に開発者に思い出させたり、ユーザーに警告したりする方法はありpathますか? これは、大規模な共同 MATLAB プロジェクトで役立ちます。

4

2 に答える 2

1

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

>> 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

と呼ばれる 3 つの関数があります。1 つはオブジェクトtestのクラス メソッド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

于 2012-04-04T20:28:20.610 に答える