2014-12-05 61 views
4

我注意到,當一個函數被覆蓋時,help fcn不是。我使用與內置函數相同的名稱創建了一個自定義函數。嘗試:如何覆蓋matlab中的幫助功能?

which fcn 

收益率right\function.m,但是當我使用help功能

help fcn 

我得到了內置的功能幫助。但是,如果我改爲輸入

help fcn.m 

我得到正確的幫助。這是模棱兩可的,令人不安,並可能導致混淆關於哪個文件是使用的文件。這就是爲什麼我想知道:是否可以重寫幫助?

我知道很多人不推薦在matlab中重寫,但有時候它可能是值得的。對於這種情況,這意味着我不需要更改使用該功能的所有遺留代碼,並且功能的版本太多也不好(已經採用了mycdfplot,有些版本也可能有本地版本)。

回答

1

簡短回答:
(對不起)

要開發一個位: 如果你重載你自己的功能,你可以通過功能優先順序和路徑的順序播放迫使幫助指向一個特定的功能。但對於Matlab內置函數,它們總是優先於自定義函數。

的幫助,以達到您的自定義功能的唯一方法是你如何描述,通過指定.m


從MATLAB (2013b)幫助:

注意:當多個程序具有相同的名稱,則幫助命令 通過應用中描述的規則 來確定顯示哪些幫助文本。 但是,如果程序與MathWorks函數具有相同的名稱,則在上下文菜單中選擇 幫助選項總是顯示 關於MathWorks函數的文檔。

+0

這似乎有點尷尬不是嗎?我懷疑這種行爲是否有必要幫助工作。我想這個matlab以最好的意圖做了這件事,但這似乎是錯誤的。我這樣做的原因是,大多數統計工具箱許可證大部分時間都被佔用,因爲'cdfplot'缺少樣式參數,比如'r.'等等。我的意思是自己做一個cdf有多難。無論如何,很好的答案和謝謝! +1 – patrik 2014-12-05 15:41:56