www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/@cgdivexpr/charlist.m

    function str = charlist(d,doFull)
%CHARLIST  expression equation as string
%   str = charlist(v)
%   str = charlist(v,doFull)
%   The equation is terminated at features if doFull is false. The default for doFull is false.

%  Copyright 2000-2012 The MathWorks, Inc. and Ford Global Technologies, Inc.

if nargin<2
    doFull=false;
end

if isempty(d)
    str = '';
else
    inputs = getinputs(d);
    subchars = pveceval(inputs, @(e) charlist(e,doFull));
    if d.NTop == 0
        str = '1';
    elseif d.NTop == 1
        str = subchars{1};
    else
        if d.NBottom
            str = ['(' sprintf('%s * ', subchars{1:d.NTop})];
            str = str(1:end-2);
            str(end) = ')';
        else
            str = sprintf('%s * ', subchars{1:d.NTop});
            str = str(1:end-3);
        end     
    end
    
    if d.NBottom ==1
        str = [str ' / ' subchars{d.NTop+1}];
    elseif d.NBottom ~= 0
        str = [str ' / (' sprintf('%s * ', subchars{d.NTop+1:end})];
        str = str(1:end-2);
        str(end) = ')';
    end
end