matlab - 如何测试最新版本的 MATLAB?

标签 matlab

我要实现的功能需要知道当前版本的 MATLAB 是否至少与 R2014a 一样新。

是否有稳健、受支持的方式来执行此检查?

(关于“稳健、受支持”,我的意思是说我对脆弱的技巧不感兴趣,例如解析版本返回的字符串等)


顺便说一句,在这种情况下,我想要进行此检查的原因是要知道我可以使用函数 matlab.lang.makeUniqueStrings。如果有一种稳健、受支持的方法来检查此函数的可用性,我会使用它而不是测试当前的 MATLAB 是否足够新。不幸的是,似乎没有这样的检查:exist 对我能想到的这个函数名称的每个变体都返回 false。同样,我可以想到模仿适当测试的脆弱 hack(例如 which('matlab.lang.makeUniqueStrings')),但它们并不比我上面提到的版本测试 hack 好多少.

我发现的最佳解决方案是在 try-catch block 中使用 matlab.lang.makeUniqueStrings 运行命令。这仍然是一个脆弱的 hack,因为 MATLAB 没有提供强大的内置方法来捕获特定异常!

IOW,一切都是关于选择最不糟糕的 hack。测试当前版本是否足够新(即使这个测试是一个脆弱的 hack)至少具有通用性足以坚持某些功能的优点,并且至少包含脆弱的 hacky 代码的扩散。

最佳答案

我会使用 verLessThan功能:

verLessThan('matlab', '8.3')

如果您使用的当前版本早于 8.3 (R2014a),则返回真 (1),否则返回假 (0)。无需字符串解析。

然后你可以像这样使用它:

if ~verLessThan('matlab', '8.3')
  % Run code using matlab.lang.makeUniqueStrings
end

关于matlab - 如何测试最新版本的 MATLAB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662692/

相关文章:

matlab - 简历 : Difference between MATLAB and OpenCV camera calibration techniques

MATLAB:检测灰度图像中的非连续垂直条纹

python - 沿一个轴的矩阵相似度

memory - 在 MATLAB 中处理大量结构

matlab - 找出两个信号之间的差异

python - 我希望能够将一个 CSV 中的值与另一个 CSV 中的一组标称值进行比较

performance - 在矩阵的每一行上应用函数的最快方法是什么?

matlab - 如何建立一个固定模式的矩阵

matlab - 包含 MATLAB 图轴的框中缺少黑线

arrays - 在 matlab 中,我应该使用什么来收集不同对象的集合?