www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoppoint/vertcat.m

    function P = vertcat(varargin)
% cgOpPoint / vertcat
% Concatenate two operating point sets with the same factors

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



if nargin > 0
	P = varargin{1};
	numpoints = get(P,'numpoints');
	numfactors = get(P,'numfactors');
    ptrlist = get(P,'ptrlist');
	if nargin > 1
		for i = 2:nargin
			if isa(varargin{i},'double')
				thisData = varargin{i};
				S = size(thisData);
				if S(2) == numfactors
					P.data = [P.data;thisData];
				else
					error(message('mbc:cgoppoint:InvalidSize6'));
				end
			elseif isa(varargin{i},'cgoppoint')
				this = varargin{i};
				if ~isempty(this)
					if get(this,'numfactors') == numfactors
						for j = 1:numfactors
							index = find(this.ptrlist(j) == ptrlist);
							if isempty(index)
								error(message('mbc:cgoppoint:InvalidArgument34'))
							else
								matched(j) = index;
							end
						end
						if ~isempty(setdiff(1:numfactors,matched))
							error(message('mbc:cgoppoint:InvalidArgument35'))
						end
						P.data = [P.data;this.data(:,matched)];
					end
				end
			end
		end
	end
end