2012-07-18 102 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