2012-07-18 104 views
9

我有幾個腳本(m文件),我們的客戶有不同的Matlab版本。是否有工具來檢查每個腳本與某些Matlab版本的兼容性?使用Matlab版本檢查兼容性的工具?

+0

+1大問題,會喜歡它,如果MathWorks公司開發了這樣的工具。也許你應該[功能請求](http://blogs.mathworks.com/community/2008/01/14/making-a-feature-request/) – Amro 2012-08-09 20:48:22

+0

不幸的是,沒有。我認爲通過每個Matlab版本引入的不兼容變化來維護這樣的工具將是一場噩夢。如果他們在版本號引入/更改/棄用/刪除某些功能到文檔中時提供了版本號,但它們並不在意(我試圖通過他們的支持將其作爲功能請求,如果有更多人要求......) – 2015-10-07 06:11:55

回答

0

根據您要遷移到的Matlab版本,有一個稱爲升級顧問的功能可以檢查這種事情(它與Simulink Model Advisor非常相似)。

+0

你能描述一下如何使用它 - 我在2011b上找不到這個功能。 – bdecaf 2012-07-19 13:23:07

+0

以及在哪裏可以找到它。謝謝! – Durin 2012-07-20 08:03:24

+0

我的想法,我似乎在這裏有一個高級時刻。升級顧問只能在最新版本的Matlab中使用(儘管模型顧問仍然會做大部分的檢查工作,我認爲你還在)。下面的@Mark的解決方案應該完全符合你的要求。 – BigA 2012-07-20 10:10:53

4

您可以使用checkcode函數來執行您想要的操作。或者,您可以使用versionverLessThan等函數編寫腳本和函數,以便檢查它們正在運行的版本並採取適當的措施。

3

對於MATLAB R2017b和新ONLY:

是的,我們有一個工具爲當前工作文件夾和子文件夾一個codeCompatibilityReport。這個特性是在MATLAB R2017b中引入的。代碼兼容性報告在MATLAB Web瀏覽器中打開。升級到更新版本的MATLAB之後,您可以使用此報告來確定現有代碼中的潛在兼容性問題。

導航到託管M文件的目錄,您希望在MATLAB中運行代碼兼容性報告。然後,執行以下命令:

>> codeCompatibilityReport 

代碼兼容性報告包含的信息可幫助您將代碼升級到新版本的MATLAB。它包含這些部分。

不兼容性和語法錯誤 - 表中包含有關分析代碼中的語法錯誤和不兼容性考慮事項的詳細信息。例如,「在此上下文中不允許使用〜忽略某個值,或者'wavfinfo'已被刪除。請改用'AUDIOINFO'。」

警告和其他建議 - 表中包含有關警告和其他改善代碼機會的詳細信息。例如,「不建議使用DISPLAY編程,請使用DISP或FPRINTF」。

執行檢查 - 詳細說明對指定代碼執行的檢查。

文件 - MATLAB分析代碼兼容性的文件列表。

這裏是到MATLAB的鏈接答案張貼更多的信息: https://www.mathworks.com/matlabcentral/answers/364764-is-there-a-tool-to-check-for-compatibility-between-different-matlab-versions