嗨,我看到了应该允许查找工具箱依赖项的命令:
matlab.codetools.requiredFilesAndProducts
但是这样的命令也会列出已安装的工具箱,这不是我想要的。 有没有办法找出未安装但执行给定脚本所需的工具箱?
摘自文件
[fList, pList] = matlab.codetools.requiredFilesAndProducts(files)
还返回运行文件指定的程序文件可能需要的MathWorks®产品列表。
如果在以下位置使用matlab.codetools.requiredFilesAndProducts函数 您收到的MATLAB代码,plist仅包含必需的 系统上安装的工具箱。在这种情况下,plist可以 不完整。
因此该命令将列出“必需”但已“安装”。
答案 0 :(得分:1)
我无法测试它,因为我拥有所有可用的工具箱,但是有些喜欢:
[files,plist]= matlab.codetools.requiredFilesAndProducts('myfile');
toolboxRequiredAndMissing(plist);
function toolboxRequiredAndMissing(plist)
v=ver;
for ii=2:length(plist)
found=false;
for jj=1:length(v)
found= strcmp(plist(ii).Name,v(jj).Name);
if found
break
end
end
if (~found)
disp(['Toolbox required and missing: ' plist(ii).Name]);
end
end
end
这不考虑版本。
答案 1 :(得分:0)
情况似乎如此,这令人失望,因为我正试图找出一个新项目,而我却想知道整个工具箱依赖项是什么 prior < / em>去尝试安装它们。另一种方法是分段处理运行时故障,直到发现所有依赖项为止。
我发现的第一个失踪依存关系是...
To use 'downsample', the following product must be licensed, installed, and enabled:
Signal Processing Toolbox
但是当我在文件上运行matlab.codetools.requiredFilesAndProducts
时,pList仅显示对Matlab的依赖,这是没有用的。
pList =
struct with fields:
Name: 'MATLAB'
Version: '9.3'
ProductNumber: 1
Certain: 1
令人难以置信的是,运行时足够聪明,可以检测到所需的工具箱,但工具不够聪明,无法用相同的信息填充pList。
我认为解决方法是让同事在他们的本地设置(一个已知的工作环境)上运行此命令,并让他们将pList的结果传达给您。