How do I list all my dependent m-Files?
이전 댓글 표시
I want to generate a list of all the dependent m-files for a particular MATLAB script file that I wrote (just my own functions, not built-in functions). I used to know how to do this, but it has been a few years.
답변 (5개)
Image Analyst
2019년 6월 4일
Try this:
% List required files and toolboxes. Displays them in the command window or console window (if deployed).
% Sample call
% fullFileName = [mfilename('fullpath'), '.m'];
% DisplayRequiredFunctions(fullFileName)
% It takes a long time to run so that's why I only do it in the development environment.
function DisplayRequiredFunctions(fullFileName)
try
if ~isdeployed
[~, baseFileNameNoExt, ext] = fileparts(fullFileName);
baseFileName = [baseFileNameNoExt, '.m'];
[requiredFileList, toolboxList] = matlab.codetools.requiredFilesAndProducts(fullFileName);
fprintf('Required m-files for %s:\n', baseFileName);
for k = 1 : length(requiredFileList)
fprintf(' %s\n', requiredFileList{k});
end
fprintf('Required MATLAB Toolboxes for %s:\n', baseFileName);
for k = 1 : length(toolboxList)
fprintf(' %s\n', toolboxList(k).Name);
end
end
catch ME
end
댓글 수: 3
Josh Philipson
2019년 6월 4일
Dear Image Analyst,
Thank you kindly.
The issue is I have a friend with an old shipwrecked copy of ML, and he doesn't have access to R>2016, and cannot access matlab.codetools.*
I tried the 'depfun' answers but that ran super-slow and I had to abort...
Was looking for an (antiquated) answer that didn't use the new stuff.
If I can't find it, then so be it..
M2C
Josh
Image Analyst
2019년 6월 5일
He can give you his code and you can do it.
Mabee
2019년 8월 7일
Dear Image Analyst,
I used matlab.codetools.requiredFilesAndProducts for a similar problem. But I found that it only lists the dependencies that I actually have. It does not seem to list the dependencies that are missing.
I inherited a very complex script that calls long chains of functions and I am trying to figure out which ones are missing.
Thanks for any more advice
Image Analyst
2012년 2월 7일
2 개 추천
Try the "Tools->Save and Show Dependency Report" from the MATLAB pulldown menus, or else try these File Exchange submissions:
To me, fdep looks like the most comprehensive.
댓글 수: 3
Scott Sather
2012년 2월 7일
Image Analyst
2012년 2월 7일
편집: per isakson
2019년 8월 7일
That's true. That's when I discovered fdep. It finds EVERYTHING, including stuff Dependency Report might miss. Make a shortcut on your toolbar and paste this code, then be sure to change the folder in my code from "C:\Program Files\MATLAB\work\UserExamples\fdep" to where YOU have fdep saved.
% Examine an m-file for what toolboxes or other m-files it calls.
addpath(genpath('C:\Program Files\MATLAB\work\UserExamples\fdep'));
% Let the user browse for the m-file.
[baseFileName, folder] = uigetfile('*.*', 'Specify an m-file');
% fprintf(1, 'baseFileName = %s\n', baseFileName);
% Create the full filename.
fullFileName = fullfile(folder, baseFileName);
if exist(fullFileName, 'file')
fprintf(1, 'Running fdep on %s\n', fullFileName);
%cd('C:\Program Files\MATLAB\work\UserExamples\fdep');
% Get its dependencies by passing it to the fdep function.
p=fdep(fullFileName);
p.list();
else
fprintf(1, 'User clicked Cancel. fdep() was not run.\n');
return;
end
Scott Sather
2012년 2월 7일
Sean Lynch
2015년 11월 5일
2 개 추천
depfun has been replaced with matlab.codetools.requiredFilesAndProducts
Kaustubha Govind
2012년 2월 7일
0 개 추천
Sean de Wolski
2012년 2월 7일
Perhaps:
doc depfun
?
댓글 수: 2
Scott Sather
2012년 2월 7일
Sean de Wolski
2012년 2월 7일
It does expect its input to be a function.
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!