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

    function [Inp,IndexB] = merge(InpA,InpB)
%MERGE merge inputs based on names
%
% [Inp,IndexB] = merge(InpA,InpB)

%  Copyright 2007-2009 The MathWorks, Inc. 

Inp = InpA;
[NewNames,index] = setdiff({InpB.Name},{InpA.Name});
if ~isempty(NewNames)
    % add any new inputs
    Inp = [InpA ; InpB(index)];
end
[OK,IndexB] = ismember({InpB.Name},{Inp.Name});
for i=1:length(InpB)
    j = IndexB(i);
    if j<=length(InpA)
        % merge ranges
        r1 = Inp(j).Range;
        r2 = InpB(i).Range;
        Inp(j).Range = [min(r1(1),r2(1)) max(r1(2),r2(2))];
    end
end