www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@designdev/uniquename.m

    function nmout = uniquename(D, nmin, Stage)
%UNIQUENAME get a unique name for design
%
% nmout = uniquename(D, nmin, Stage)

%  Copyright 2007 The MathWorks, Inc.

% nmin is the suggested name
% if necessary, nmout will contain the name_X

if nargin<3
   Stage = length(D); 
end
if nargin<2
   nmin='Design';
end
Dcell= DesignDev2Cell(D);
D= Dcell{Stage};
dtree = D.DesignTree;
nmsused = cellfun(@(des) name(des),dtree.designs,'UniformOutput',false);
% Check for usage of name
if any(strcmp(nmin, nmsused))
   % loop over _X until an unused one is found
   ok=0;
   n=0;
   while ~ok
      n=n+1;
      % append _X
      nmout = [nmin sprintf('_%d',n)];
      % check newname
      if ~any(strcmp(nmout, nmsused))
         ok=1;
      end
   end
else
   nmout=nmin;
end
return