我正在研发Matlab R2011a学生版。我想在Matlab中运行一些演示,这些演示需要一些像Embedded Coder和EDA Simulator Link这样的工具箱。
我想检查这些工具箱是否安装在我当前版本的matlab中,如果是,我该如何检查许可证是否有效。
对此链接的引用对我没有帮助: How would one check for installed MATLAB toolboxes in a script/function?因为我至少需要使用命令 ver control 来控制“控制系统工具箱”的“控制”状态等工具箱的短名称。
任何建议......
答案 0 :(得分:12)
要检查是否已安装工具箱,请使用
v = ver;
any(strcmp(toolboxName, {v.Name}))
其中toolboxName
是您要检查的工具箱的名称。
要检查许可证是否有效,请使用
license('test', toolboxName)
答案 1 :(得分:4)
轻松使用 ver 命令。它将列出所有已安装的工具箱及其版本。另一种方法是从开始按钮进行检查。
您也可以使用名为isToolboxAvailable
的{{3}}。用法如下:
result = isToolboxAvailable('image processing toolbox','error');
答案 2 :(得分:3)
您可以随时查看主要帮助文档,其中通常列出了工具箱。 或者,如果按“开始”(Matlab启动,而不是Windows),则按类别组织已安装工具箱的列表
答案 3 :(得分:3)
这是一个肮脏的解决方案:
try
<funktion from specific toolbox>
<do this if it is available>
catch
<do this if it is not
end
答案 4 :(得分:1)
license
函数返回的工具箱名称与许可证文件中的名称相同。许可证文件将位于本地PC或FLEXlm许可证服务器上,具体取决于您的环境。在Windows上,检查C:\Program Files\MATLAB\R2011a\licenses
以获取许可文件,该文件通常命名为license.lic
或network.lic
。在您喜欢的编辑器中打开文件(记事本会这样做)。如果您看到文本显示SERVER
后跟主机名,MAC地址和端口号,那么您使用的是网络许可证,则必须询问系统管理员。否则,每个许可产品应该有INCREMENT
行,license
函数使用的产品名称将在INCREMENT
关键字后面给出。如果您使用的是UNIX或Linux系统,您可能需要花些时间来查找许可文件的路径(或者其他人可以提供此文件?)。
编辑:我的MATLAB安装在非标准路径中。更改了指令以提供默认路径。