Question about toolbox dependencies
6 views (last 30 days)
Show older comments
Hello
I am working on getting a program ready for distribution and wanted to check on the required toolboxes. I noticed that when I run:
[fList,pList] = matlab.codetools.requiredFilesAndProducts('myprog.m');
It says that I need the Statistics and Machine Learning Toolbox. I have the toolbox installed, but do not want/need to require its use in the program. I did some digging and it seems that the iqr function is saying it requires this toolbox. However it seems as if although there is a iqr function in the statistics and machine learning toolbox, regular Matlab has a standard iqr function as well, which is the function I am using.
To illustrate this if I make a file test.m that has this code:
x = [1 2 3 4 5 6];
d = iqr(x);
and then I run
[fList,pList] = matlab.codetools.requiredFilesAndProducts('test.m');
{pList.Name}'
ans =
2×1 cell array
{'MATLAB' }
{'Statistics and Machine Learning Toolbox'}
Why does this happen?
Similarly, ive notived that 'Polyspace Bug Finder' is showing up as a required product. Ive never used this and have no idea why it would be required (although if I check pList.Certain for this it is 0). Can someone explain why this is being listed as a required product for my program?
thanks!
0 Comments
Accepted Answer
Steven Lord
on 2 Feb 2023
Edited: Steven Lord
on 2 Feb 2023
The behavior you described for iqr is not a bug.
The Version History on the documentation page for the iqr function in MATLAB for numeric data states "R2022a: Moved to MATLAB from Statistics and Machine Learning Toolbox". This question was tagged R2020b and in that release iqr was part of and did require Statistics and Machine Learning Toolbox. There is another iqr in MATLAB that was introduced prior to release R2020b, but that is the iqr method for timeseries objects.
I'm not sure about the Polyspace Bug Finder behavior you described. Can you show a segment of code that lists this product when you try to determine its dependencies?
3 Comments
Steven Lord
on 2 Feb 2023
I haven't seen this behavior and searching for "requiredFilesAndProducts" on the Bug Reports for release R2020b didn't show anything that looks relevant.
I recommend sending your myprog.m file to Technical Support directly using the Contact Support link under the Get Support heading at the end of this page. They can investigate with the developers why Polyspace Bug Finder is listed as a potentially required product for your program.
More Answers (1)
Fangjun Jiang
on 2 Feb 2023
I think you've found a bug. Report it to the Mathworks or see if they already reported this.
I tried your example in R2020b and R2022b. Both versions have "Statistics and Machine Learning Toolbox" installed and licensed.
In R2020b, it showed
>> {pList.Name}'
ans =
2×1 cell array
{'MATLAB' }
{'Statistics and Machine Learning Toolbox'}
In R2022b, it showed
>> {pList.Name}'
ans =
1×1 cell array
{'MATLAB'}
0 Comments
See Also
Categories
Find more on Bug Finder Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!