如何检查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 使用的名称似乎只是轻松使用 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.lic
或 network.lic
。在您喜欢的编辑器中打开文件(记事本可以)。如果您看到文字为SERVER
,后跟主机名、MAC 地址和端口号,那么您使用的是网络许可证,您必须询问系统管理员。否则,每个许可产品都应该有一个INCREMENT
行,并且license
函数使用的产品名称在INCREMENT
关键字后面给出。如果您使用的是 UNIX 或 Linux 系统,则可能需要四处寻找许可证文件的路径(或者也许其他人可以提供?)。
编辑:我的 MATLAB 安装在非标准路径中。更改说明以提供默认路径。
【讨论】:
以上是关于如何检查matlab工具箱是不是安装在matlab中的主要内容,如果未能解决你的问题,请参考以下文章