0001 function [times,id,group] = CCGParameters(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 if nargin < 2,
0026 error('Incorrect number of parameters (type ''help <a href="matlab:help CCGParameters">CCGParameters</a>'' for details).');
0027 end
0028
0029 data = [];
0030
0031
0032 i = 1;
0033 while i <= length(varargin),
0034
0035
0036 times = varargin{i};
0037 i = i + 1;
0038 if ~isdvector(times) && ~(isdmatrix(times) && size(times,2) == 2),
0039 error(['Incorrect time series at parameter #' int2str(i) ' (type ''help <a href="matlab:help CCGParameters">CCGParameters</a>'' for details).']);
0040 end
0041 if size(times,2) > 1,
0042 id = times(:,2);
0043 if ~isivector(id,'>0'),
0044 error(['Incorrect time series at parameter #' int2str(i) ' (type ''help <a href="matlab:help CCGParameters">CCGParameters</a>'' for details).']);
0045 end
0046 else
0047 id = ones(size(times(:,1)));
0048 end
0049 if length(unique(id)) ~= max(id),
0050 error('Incorrect IDs (type ''help <a href="matlab:help CCGParameters">CCGParameters</a>'' for details).');
0051 end
0052 times = times(:,1);
0053
0054
0055 if i > length(varargin),
0056 group = ones(size(id));
0057 else
0058 group = varargin{i};
0059
0060 if ~isivector(group) || (any(group>1) && any(group>2)),
0061 group = ones(size(id));
0062 else
0063 if length(group) == 1,
0064 group = repmat(group,size(id),1);
0065 elseif length(group) ~= length(id),
0066 error(['Incorrect groups at parameter #' int2str(i) ' (type ''help <a href="matlab:help CCGParameters">CCGParameters</a>'' for details).']);
0067 end
0068 i = i + 1;
0069 end
0070 end
0071 group = group(:);
0072
0073
0074 if ~isempty(data), id = id+max(data(:,2)); end
0075 data = [data ; times id group];
0076
0077 end
0078
0079 times = data(:,1);
0080 id = data(:,2);
0081 group = data(:,3);