Matlab 如何将结果存储在递归函数中
我有一个matlab函数,用于列出文件夹中的所有文件,包括其子文件夹。我可以全部显示它们,但我不知道如何将它们存储在我的输出变量中Matlab 如何将结果存储在递归函数中,matlab,recursion,Matlab,Recursion,我有一个matlab函数,用于列出文件夹中的所有文件,包括其子文件夹。我可以全部显示它们,但我不知道如何将它们存储在我的输出变量中 function out = searchfolder(varargin) if nargin<1 helpdlg('no input floder'); return; else curfolder=varargin{1}; end if ~isdir(curfolder) || length(dir(curfolder)) < 3 r
function out = searchfolder(varargin)
if nargin<1
helpdlg('no input floder');
return;
else
curfolder=varargin{1};
end
if ~isdir(curfolder) || length(dir(curfolder)) < 3
return;
end
children = dir(curfolder);
%eliminate '.' and '..'
children = children(3:end);
allfiles = {};
for i=1:length(children)
child = children(i);
thisone = fullfile(curfolder,child.name);
if child.isdir
searchfolder(thisone);
else
disp(thisone);
end
end
function out=searchfolder(varargin)
如果nargin在excaza的帮助下,我有代码:
function out = searchfolder(varargin)
out = {};
if nargin<1
% helpdlg('no input floder');
return;
else
curfolder=varargin{1};
end
if ~isdir(curfolder) || length(dir(curfolder)) < 3
return;
end
children = dir(curfolder);
%eliminate '.' and '..'
children = children(3:end);
allfiles = {};
for i=1:length(children)
child = children(i);
thisone = fullfile(curfolder,child.name);
if child.isdir
out = [ out ;searchfolder(thisone)];
else
disp(thisone);
out = [out;{thisone}];
end
end
function out=searchfolder(varargin)
out={};
如果需要连接递归searchfolder
调用的输出。e、 g.out=[out searchfolder(thisone)]
(初始化输出后)好的,谢谢@excaza,我会试试