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

    function ptr = gain(obj,b,blockname,Inputs)
%GAIN - parse function for gain block
%
%   ptr = gain(obj,b,blockname,Inputs)
%    A gain block is represented by a cgconstant multiplied by the input. A
%    pointer to a cgdivexpr is returned

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

if isvarname(get(b,'Gain'))
    % use variable name from Gain block if it is a simple variable
    blockname = get(b,'Gain');
end
Value = mbcGetBlockValue(b,'Gain');
if ~isscalar(Value)
    Value = 1;
end

[IsNew,ptr1] = createConstant(obj,blockname,mbcpointer,Value);
ptr = xregpointer(cgdivexpr('Product',[Inputs{1} ptr1]));

obj.addToList([ptr1; ptr],[-1;b],[IsNew;true]);