⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 particlefilters.h.svn-base

📁 Probabilistic graphical models in matlab.
💻 SVN-BASE
字号:
#include <cmath>#include <boost/graph/adjacency_list.hpp>#include <Generic.h>#include <Node.h>class ContinuousRandomVariable;class DiscreteRandomVariable;class Potential;class DiscretePotential;class GaussianPotential;class ChainedSinglePotential;class ChainedSingleDiscretePotential;//*************** ParticleFilterProposal Declaration ******************//class ParticleFilterProposal{	private:		double means_sum;	//double position;	double constant_variance;	unsigned int number_potentials;		boost::variate_generator < boost::lagged_fibonacci607 &, boost::normal_distribution <double> > gaussian_proposal;	public:			ParticleFilterProposal();	// Normal functions		void setup_proposal(const std::list < Potential * > & );		void setup_gaussian_proposal(const std::list < GaussianPotential * >  & , const unsigned int);	void setup_gaussian_proposal (ChainedSinglePotential * const, const unsigned int);	void add_gaussian_proposal (const double, const double);		double get_proposal_position(ContinuousRandomVariable &);		void set_gaussian_variance(const double);		double get_proposal_weight(const double) const;		// Deprecated 		// double get_proposal_position();	// void setup_gaussian (const double, const double); // first is mean, second is variance		// Debug methods	#ifndef NDEBUG		double debug_get_gaussian_mean() const;	double debug_get_gaussian_variance() const;	#endif	};inline void ParticleFilterProposal::setup_proposal(const std::list < Potential * > &){	// General Purpose Function, not yet used		}// Debug methods#ifndef NDEBUGinline double ParticleFilterProposal::debug_get_gaussian_mean() const{	return 	gaussian_proposal.distribution().mean();}inline double ParticleFilterProposal::debug_get_gaussian_variance() const{	return 	gaussian_proposal.distribution().sigma()* gaussian_proposal.distribution().sigma();}#endif//*************** End of ParticleFilterProposal Declaration ******************////*************** DiscreteParticleFilterProposal Declaration ******************//class DiscreteParticleFilterProposal{	private:		std::vector <double> current_sampling_probabilities;	std::vector <double> general_sampling_probabilities;		public:			DiscreteParticleFilterProposal();		void setup_discrete_proposal( const ChainedSingleDiscretePotential &, DiscreteRandomVariable &);	void add_discrete_proposal( DiscretePotential &, DiscreteRandomVariable  &);		unsigned int get_proposal_position(DiscreteRandomVariable &);		double get_proposal_weight(const unsigned int ) const;	};//*************** End of DiscreteParticleFilterProposal Declaration ******************//template <class Graph>void metropolis (Graph &, const unsigned int, const unsigned int = 0, bool = false);template < class Graph >void forward_filtering_backward_smoothing(Graph &, const unsigned int);template < class Graph, class PositionMap , class WeightMap>void backward_smoothing_implementation (Graph & , const typename boost::graph_traits<Graph>::vertex_descriptor, PositionMap &, WeightMap &, const unsigned int = 1);template < class Graph, class PositionMap , class WeightMap>typename boost::graph_traits<Graph>::vertex_descriptor forward_filtering_implementation (Graph & , const typename boost::graph_traits<Graph>::vertex_descriptor, PositionMap &, WeightMap &);template <class Graph>void non_parametric_tree_gibbs_sampler(Graph &,  const unsigned int, const unsigned int, const unsigned int = 1, bool = false);template <class Graph>void non_parametric_tree_gibbs_sampler_implementation(Graph &,  const unsigned int, const unsigned int, const unsigned int, bool);template < class Graph, class PositionType, class ParticleFilterProposalType >void initialize_particles (Graph &, std::vector <PositionType> &, std::vector <double> &, const typename boost::graph_traits<Graph>::vertex_descriptor,  ParticleFilterProposalType &);template <class PositionType>void resample( std::vector < PositionType> &, std::vector < double> &, std::vector < double> &, std::vector < double> &, std::vector < PositionType > &);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -