0001 function gb=GBelief(varargin)
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014  
0015   switch nargin
0016     
0017     case 1
0018       if isa(varargin{1},'GBelief')
0019         gb=varargin{1};
0020       else
0021         if isa(varargin{1},'GMixture')
0022           gb=GBelief(varargin{1},0);
0023         else
0024           error('Wrong parameter type in GBelief constructor');
0025         end
0026       end
0027       
0028     case 2
0029       if isa(varargin{1},'GMixture') && isa(varargin{2},'double')
0030         
0031         gb.maxC=floor(varargin{2});
0032         gm=Normalize(Compress(varargin{1},gb.maxC));
0033         
0034         b=Belief();
0035         
0036         gb=class(gb,'GBelief',b,gm);
0037       else
0038         error('Wrong parameter type in GBelief constructor');
0039       end
0040       
0041     otherwise
0042       error('Wrong number of parameters in GBelief constructor');
0043   end
0044