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