0001 function RM=DS_DA_RewardModel(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_DA_RewardModel')
0018 RM=varargin{1};
0019 else
0020 error('Wrong parameter type in DS_DA_RewardModel constructor');
0021 end
0022 case 3
0023 if isa(varargin{1},'DSpace')
0024 RM.S=varargin{1};
0025 else
0026 error('Wrong parameter type in DS_DA_RewardModel constructor');
0027 end
0028 if isa(varargin{2},'DSpace')
0029 RM.A=varargin{2};
0030 else
0031 error('Wrong parameter type in DS_DA_RewardModel constructor');
0032 end
0033 if isa(varargin{3},'cell')
0034 RM.r=varargin{3};
0035 end
0036
0037 if dim(RM.S)~=size(RM.r{1},1)
0038 error('Size missmatch in DS_DA_RewardModel constructor');
0039 end
0040
0041 if dim(RM.A)~=size(RM.r,2)
0042 error('Size missmatch in DS_DA_RewardModel constructor');
0043 end
0044
0045 RM=class(RM,'DS_DA_RewardModel');
0046 otherwise
0047 error('Wrong number of parameters in DS_DA_RewardModel constructor');
0048 end