www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@mbcinputfactor/ChannelMatch.m

    function obj= ChannelMatch(obj,S,CopyRanges)
%CHANNELMATCH match signals for model inputs
%
% [obj,MD]= ChannelMatch(obj,S,CopyRanges)

%  Copyright 2007-2010 The MathWorks, Inc. 

if nargin<3
    CopyRanges= false;
end
nf= length(obj);

VarNames= get(S,'Name');
Units= get(S,'Units');


% find exact matches
InputNames = cell(1,nf);
for i=1:nf
    if isempty(obj(i).Name) 
        %use symbol if no name is defined
        InputNames{i}= obj(i).Symbol;
    else
        InputNames{i}= obj(i).Name;
    end
end

MatchInd = mbcMatchNames(InputNames, VarNames,'MatchLevel',0);
vars = cell(1,nf);
for i=1:nf
    obj(i).Name = VarNames{MatchInd(i)};
    obj(i).Units = Units{MatchInd(i)};
    vars{i} = obj(i).Name;
end

if CopyRanges
    % set coding from data
    obj = DataRange(obj,S(:,vars));
end