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