Bayes++ Library入门学习之熟悉namespace

  Bayes++是一个开源的C++类库。这些类表示并实现了用于离散系统的贝叶斯滤波的各种数值算法。该库中的类提供测试和一致的数值方法,并且用层次明确的结构表明了各种滤波算法和系统模型类型。

  接下来,我们就从namespace入手说明库中各个模块的作用。Bayes++库下面最重要也是包含类最多一个名称空间是Bayesian_filter,包含了各类模型和滤波器的相关类。从类的继承关系入手,先对Bayesian_filter::Bayes_base进行说明,继承自该基类的类主要有以下几部分:

  1. 第一部分Bayesian_filter::Bayes_filter_base主要是主要包含Functional_filter等6个子类

      

      2. 第二部Bayesian_filter::Importance_resamper子类主要是重要性重采用的相关类

      

      3. 第三部分是Bayesian_filter::Iterated_terminator是迭代终止相关类

       

      4. 第四部分Bayesian_filter::Observe_function是关于量测的相关类

       

       5. 第五部分是Bayesian_filter::Observe_model_base

       

      6. Bayesian_filter::Predict_model_base

      

  Bayesian_filter::Bayes_base对应的实现函数为bayesFlt.hpp,此类是一个抽象的多态基本表示,主要提供接口有:类型,内部错误处理和销毁。

      

      我们第二个要介绍的namespace是Bayesian_filter_matrix,此类是要是矩阵运算相关的模板类。

      第三个名称空间Bayesian_filter_matix::detail,其下主要包含了一些运算符重载函数和一些模板类。

      第四个名称空间Bayesian_filter_matrix::LAPACK.

      第五个名称空间Bayesian_filter_matrix::LAPACK::rawLAPACK.

 

posted on 2016-10-27 15:46  Curnane  阅读(375)  评论(0编辑  收藏  举报

导航