0001 function OM=DS_CO_ObsModel(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 switch nargin
0016 case 1
0017 if isa(varargin{1},'DS_CO_ObsModel')
0018 OM=varargin{1};
0019 else
0020 error('Wrong parameter type in DS_CO_ObsModel constructor');
0021 end
0022 case 3
0023 if isa(varargin{1},'DSpace')
0024 OM.S=varargin{1};
0025 else
0026 error('Wrong parameter type in DS_CO_ObsModel constructor');
0027 end
0028 if isa(varargin{2},'CSpace')
0029 OM.O=varargin{2};
0030 else
0031 error('Wrong parameter type in DS_CO_ObsModel constructor');
0032 end
0033 if isa(varargin{3},'cell')
0034 OM.p=varargin{3};
0035 else
0036 error('Wrong parameter type in DS_CO_ObsModel constructor');
0037 end
0038
0039 if dim(OM.S)~=size(OM.p,2)
0040 error('Size missmatch in DS_CO_ObsModel constructor');
0041 end
0042
0043 OMBase=ObsModel();
0044
0045 OM=class(OM,'DS_CO_ObsModel',OMBase);
0046
0047 otherwise
0048 error('Wrong number of parameters in DS_CO_ObsModel constructor');
0049 end
0050