0001 function AM=CS_DA_ActionModel(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 switch nargin
0015 case 1
0016 if isa(varargin{1},'CS_DA_ActionModel')
0017 AM=varargin{1};
0018 else
0019 error('Wrong parameter type in CS_DA_ActionModel constructor');
0020 end
0021 case 4
0022
0023 if isa(varargin{1},'CSpace')
0024 AM.S=varargin{1};
0025 else
0026 error('Wrong parameter type in CS_DA_ActionModel constructor');
0027 end
0028
0029 if isa(varargin{2},'DSpace')
0030 AM.A=varargin{2};
0031 else
0032 error('Wrong parameter type in CS_DA_ActionModel constructor');
0033 end
0034
0035 if isa(varargin{3},'cell') && isa(varargin{4},'cell')
0036 na=dim(AM.A);
0037 if na~=size(varargin{3},2)
0038 error('Missmatch size in CS_DA_ActionModel constructor');
0039 end
0040 AM.gA=cell(1,na);
0041 sn=size(varargin{4},2);
0042 for i=1:na
0043 if sn==1
0044 AM.gA{i}=Gaussian(varargin{3}{i},varargin{4}{1});
0045 else
0046 AM.gA{i}=Gaussian(varargin{3}{i},varargin{4}{i});
0047 end
0048 end
0049 else
0050 error('Wrong parameter type in CS_DA_ActionModel constructor');
0051 end
0052
0053 AMBase=ActionModel();
0054
0055 AM=class(AM,'CS_DA_ActionModel',AMBase);
0056 otherwise
0057 error('Wrong number of parameters in CS_DA_ActionModel constructor');
0058 end
0059
0060