如何检查matlab工具箱是不是安装在matlab中

Posted

技术标签:

【中文标题】如何检查matlab工具箱是不是安装在matlab中【英文标题】:How to check if matlab toolbox installed in matlab如何检查matlab工具箱是否安装在matlab中 【发布时间】:2011-08-03 11:53:36 【问题描述】:

我正在开发 Matlab R2011a 学生版。我想运行 Matlab 中提供的一些演示,这些演示需要一些工具箱,如 Embedded Coder 和 EDA Simulator Link。

我想检查这些工具箱是否安装在我当前版本的 matlab 中,如果是,我如何检查许可证是否有效。

对这个链接的引用对我没有帮助: How would one check for installed MATLAB toolboxes in a script/function? 因为我至少需要使用命令 ver control 的“控制系统工具箱”的“控制”状态等工具箱的简称。

任何建议...

【问题讨论】:

【参考方案1】:

要检查工具箱是否已安装,请使用

v = ver;
any(strcmp(toolboxName, v.Name))

其中toolboxName 是您要检查的工具箱的名称。

要检查许可证是否有效,请使用

license('test', toolboxName)

【讨论】:

我知道。但问题是通过查找工具箱的特定名称将其作为参数输入。 警告:工具箱名称不保证版本和许可证相同!例如,优化工具箱在 ver/verLessThan 中是“optim”,但在许可证中是“optimization_toolbox”。 ver 使用的名称似乎只是 /toolbox/ 下包含工具箱的目录的名称。 【参考方案2】:

轻松使用 ver 命令。它将列出所有已安装的工具箱及其版本。另一种方法是从开始按钮进行检查。

您也可以使用称为isToolboxAvailable 的existing function in FileExchange。用法如下:

result = isToolboxAvailable('image processing toolbox','error');

【讨论】:

【参考方案3】:

您可以随时查看通常列出工具箱的主要帮助文档。 或者,如果您按“开始”(Matlab 启动,而不是 Windows),已安装工具箱的列表将按类别组织

【讨论】:

【参考方案4】:

这是一个肮脏的解决方案:

try
    <funktion from specific toolbox>
    <do this if it is available>
catch
    <do this if it is not
end

【讨论】:

简单,正是我所需要的。【参考方案5】:

license 函数返回的工具箱名称与许可文件中的名称相同。许可证文件将位于本地 PC 或 FLEXlm 许可证服务器上,具体取决于您的环境。在 Windows 上,签入 C:\Program Files\MATLAB\R2011a\licenses 以获取许可证文件,该文件通常命名为 license.licnetwork.lic。在您喜欢的编辑器中打开文件(记事本可以)。如果您看到文字为SERVER,后跟主机名、MAC 地址和端口号,那么您使用的是网络许可证,您必须询问系统管理员。否则,每个许可产品都应该有一个INCREMENT 行,并且license 函数使用的产品名称在INCREMENT 关键字后面给出。如果您使用的是 UNIX 或 Linux 系统,则可能需要四处寻找许可证文件的路径(或者也许其他人可以提供?)。

编辑:我的 MATLAB 安装在非标准路径中。更改说明以提供默认路径。

【讨论】:

以上是关于如何检查matlab工具箱是不是安装在matlab中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用matlab中的工具箱

如何检查 Matlab 编译器运行时 (MCR) 在我的电脑上是不是正常工作?

matlab 工具箱怎么使用?是否要安装?

matlab安装不了,出现这个,怎么办?

如何在远程服务器上运行matlab程序

怎么往matlab中添加工具箱