2012-04-04 110 views
1

有沒有辦法讓MATLAB提醒開發人員或警告用戶幾個特定函數m-file的衝突(相同名稱)版本存在於當前存在於path中的不同目錄中?這對於大型協作MATLAB項目非常有用。函數(文件)名稱衝突警告

回答

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 

現在有三個函數叫做test:一個是classregtree對象類的方法,其中一個是我剛剛做出的功能(頂線),最後一個(底線)現在被我剛剛製作的那個所遮蔽。這意味着,如果我從當前目錄調用test,則會調用第一個。如果我換到別的目錄,我得到這個:

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

較新的test功能顯示不出來了,因爲以前的目錄中並沒有保存在MATLAB path。先前被遮蔽的test函數現在將成爲所謂的函數。