我正在研究一个科学应用程序,这个程序已经由多人开发了10多年。
最近,我们发现我们的应用程序需要多个工具箱,这些工具箱不是默认的MATLAB安装的一部分。
由于我们是用大学许可证开发的,所以我们可以访问所有的工具箱,因此到目前为止我们还没有注意到这一点。
但是,我们希望将工具箱的数量减少到最低限度,以使其他组使用我们的软件更容易和更便宜。
当我跑的时候

[fList,pList] = matlab.codetools.requiredFilesAndProducts('myFile.m')

pList列出几个工具箱,如:
 NAME                                  Version  id  Certain
'MATLAB'                                 '9.4'  1   true
'Robust Control Toolbox'               '6.4.1'  5   true
'Mapping Toolbox'                        '4.6'  11  true
'Financial Toolbox'                     '5.11'  30  true
'Aerospace Toolbox'                     '2.21'  108 true
'Parallel Computing Toolbox'            '6.12'  80  false
'MATLAB Distributed Computing Server'   '6.12'  94  false

我确信至少“金融工具箱”和“航空工具箱”不是真正需要的,我们只是通过将在线解决方案复制粘贴到我们的软件中,不假思索地使用它们。
例如,我们使用一个名为degrees2dms的函数,它是工具箱的一部分,只需将十进制度数转换为度数、分和秒这可以很容易地由我们自己实现,而无需使用额外的工具箱。
我现在的问题是:
我知道从matlab.codetools.requiredFilesAndProducts使用哪些工具箱如何找出这些工具箱中的哪些函数用于用我们自己的代码替换这些函数。

最佳答案

查看fList输出:这是运行myFile.m所需的您自己的MATLAB程序文件的列表循环遍历它们,对于每一个,运行matlab.codetools.requiredFilesAndProducts以找出代码库中的每个文件需要哪个产品这将帮助你缩小关注的文件范围。
您还可以尝试在代码上运行dependency report,这可能会为您提供一个更好的界面,让您探索哪个文件使用哪个工具箱。

关于matlab - 我在哪里使用工具箱?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56633944/

10-10 03:47