Question about toolbox dependencies

조회 수: 4 (최근 30일)
HpW
HpW 2023년 2월 2일
댓글: HpW 2023년 2월 2일
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!

채택된 답변

Steven Lord
Steven Lord 2023년 2월 2일
편집: Steven Lord 2023년 2월 2일
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
Steven Lord
Steven Lord 2023년 2월 2일
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.
HpW
HpW 2023년 2월 2일
Thanks
Whats weird is that I checked and dont think I even have the polyspace bug finder (I dont ever remember installing it and its not listed as a toolbox). Im going to finally upgrade to r2022 given the above issue with IQR and will see if maybe that resolves the problem. Will report back once I have upgraded. Thanks for your time looking into this!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Fangjun Jiang
Fangjun Jiang 2023년 2월 2일
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'}

제품


릴리스

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by