DiscretizeObsModel
PURPOSE 
Discretizes the observation model on the observation side.
SYNOPSIS 
function DS_DO_OM=DiscretizeObsModel(DS_CO_OM,V,AM,nSamples)
DESCRIPTION 
CROSS-REFERENCE INFORMATION 
This function calls:
This function is called by:
SOURCE CODE 
0001 function DS_DO_OM=DiscretizeObsModel(DS_CO_OM,V,AM,nSamples)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 nj=size(V);
0015 ns=size(DS_CO_OM.S);
0016 nm=zeros(ns,nj);
0017 z=zeros(ns,1);
0018 for j=1:ns
0019 b=z;
0020 b(j)=1;
0021 ba=Move(AM,b);
0022 nm=zeros(nj,1);
0023 for i=1:nSamples
0024 o=rand(CS_CO_OM.O);
0025 Os=GetObsModelFixedO(CS_CO_OM,o);
0026 bao=Os.*ba;
0027 [v l]=max(Values(V,bao));
0028
0029 nm(j,l)=nm(j,l)+1;
0030 end
0031 end
0032
0033 nm=(1/nSamples)*nm;
0034 oData=cell(1,nj);
0035 for i=1:nj
0036 oData{i}=nm(i,:)';
0037 end
0038
0039 DS_DO_OM=DS_DO_ObsModel(DS_CO_OM.S,DSpace(nj),oData);
0040
|