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

    function varargout = set(varargin)
%SET Cgconstant set method.
%
%  Sets the properties (only one at the moment) of the Constant object.
%
%  Usage: set(c , 'property_name' , property_value)

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


if nargin == 1 
    varargout{1} = set(cgvalue);
else 
    c = varargin{1}; 
    if nargin < 3
        error(message('mbc:cgconstant:InvalidArgument6'));
    end
    for n = 2:2:nargin 
        property = varargin{n};
        new_value = varargin{n+1};
        if ~ischar(property)
            error(message('mbc:cgconstant:InvalidArgument7'));
        end
        switch lower(property)
            case 'value'
                if ~isa(new_value,'double')
                    error(message('mbc:cgconstant:InvalidPropertyValue'));
                else
                    new_value = resolve(c.prec,new_value);
                    c.cgvalue = set(c.cgvalue,property,new_value);
                end
            case 'precision'
                if ~isa(new_value,'cgprec')
                    error(message('mbc:cgconstant:InvalidPropertyValue1'));
                else
                    c.prec = new_value;
                end
            otherwise
                try
                    c.cgvalue=set(c.cgvalue,property,new_value);
                catch
                    error(message('mbc:cgconstant:InvalidPropertyName')); 
                end
        end
    end
    if nargout > 0
        varargout{1} = c;
    elseif ~isempty(inputname(1))
        assignin('caller' , inputname(1) , c);
    end
end