📄 models_8hpp-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Bayes++ Bayesian Filtering Classes: models.hpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>models.hpp</h1><a href="models_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef _BAYES_FILTER__MODELS</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define _BAYES_FILTER__MODELS</span>00003 <span class="preprocessor"></span>00004 <span class="comment">/*</span>00005 <span class="comment"> * Bayes++ the Bayesian Filtering Library</span>00006 <span class="comment"> * Copyright (c) 2002 Michael Stevens</span>00007 <span class="comment"> * See accompanying Bayes++.htm for terms and conditions of use.</span>00008 <span class="comment"> *</span>00009 <span class="comment"> * $Header: /cvsroot/bayesclasses/Bayes++/BayesFilter/models.hpp,v 1.11.2.1 2004/02/11 21:06:42 mistevens Exp $</span>00010 <span class="comment"> * $NoKeywords: $</span>00011 <span class="comment"> */</span>00012 00013 <span class="comment">/*</span>00014 <span class="comment"> * Predict and Observe models</span>00015 <span class="comment"> * These models extend, adapt and simpilify the fundamental Bayesian filter models</span>00016 <span class="comment"> * Simple : Simplify model construction and use</span>00017 <span class="comment"> * General: Combine model types to form more general models</span>00018 <span class="comment"> * Adapted: Adapt one model type into another</span>00019 <span class="comment"> */</span>00020 <span class="preprocessor">#include <boost/function.hpp></span>00021 00022 <span class="comment">/* Filter namespace */</span>00023 <span class="keyword">namespace </span>Bayesian_filter00024 {00025 <a name="l00026"></a><a class="code" href="namespaceBayesian__filter.html#a0">00026</a> <span class="keyword">typedef</span> boost::function1<const FM::Vec&, const FM::Vec&> <a class="code" href="namespaceBayesian__filter.html#a0">State_function</a>;00027 <span class="comment">// A generalised function of state. Compatible with predict and observe models</span>00028 00029 <a name="l00030"></a><a class="code" href="classBayesian__filter_1_1Simple__addative__predict__model.html">00030</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__addative__predict__model.html">Simple_addative_predict_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Addative__predict__model.html">Addative_predict_model</a>00031 <span class="comment">// Addative predict model initialised from function and model matricies</span>00032 {00033 <a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> ff;00034 <span class="keyword">public</span>:00035 <a class="code" href="classBayesian__filter_1_1Simple__addative__predict__model.html#a0">Simple_addative_predict_model</a> (<a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> f_init, <span class="keyword">const</span> FM::Matrix& G_init, <span class="keyword">const</span> FM::Vec& q_init);00036 <span class="comment">// Precondition: G, q are conformantly dimensioned (not checked)</span>00037 00038 <span class="comment">// No default assignment operator</span>00039 <a name="l00040"></a><a class="code" href="classBayesian__filter_1_1Simple__addative__predict__model.html#a1">00040</a> <span class="keyword">virtual</span> <span class="keyword">const</span> FM::Vec& <a class="code" href="classBayesian__filter_1_1Simple__addative__predict__model.html#a1">f</a>(<span class="keyword">const</span> FM::Vec& x)<span class="keyword"> const</span>00041 <span class="keyword"> </span>{ <span class="keywordflow">return</span> ff(x);00042 }00043 };00044 <a name="l00045"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__predict__model.html">00045</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linrz__predict__model.html">Simple_linrz_predict_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linrz__predict__model.html">Linrz_predict_model</a>00046 <span class="comment">// Linrz predict model initialised from function and model matricies</span>00047 {00048 <a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> ff;00049 <span class="keyword">public</span>:00050 <a class="code" href="classBayesian__filter_1_1Simple__linrz__predict__model.html#a0">Simple_linrz_predict_model</a> (<a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> f_init, <span class="keyword">const</span> FM::Matrix& Fx_init, <span class="keyword">const</span> FM::Matrix& G_init, <span class="keyword">const</span> FM::Vec& q_init);00051 <span class="comment">// Precondition: Fx, G, q are conformantly dimensioned (not checked)</span>00052 00053 <span class="comment">// No default assignment operator</span>00054 <a name="l00055"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__predict__model.html#a1">00055</a> <span class="keyword">virtual</span> <span class="keyword">const</span> FM::Vec& <a class="code" href="classBayesian__filter_1_1Simple__linrz__predict__model.html#a1">f</a>(<span class="keyword">const</span> FM::Vec& x)<span class="keyword"> const</span>00056 <span class="keyword"> </span>{ <span class="keywordflow">return</span> ff(x);00057 }00058 };00059 <a name="l00060"></a><a class="code" href="classBayesian__filter_1_1Simple__linear__predict__model.html">00060</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linear__predict__model.html">Simple_linear_predict_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linear__predict__model.html">Linear_predict_model</a>00061 <span class="comment">// Linear predict model initialised from model matricies</span>00062 {00063 <span class="keyword">public</span>:00064 <a class="code" href="classBayesian__filter_1_1Simple__linear__predict__model.html#a0">Simple_linear_predict_model</a> (<span class="keyword">const</span> FM::Matrix& Fx_init, <span class="keyword">const</span> FM::Matrix& G_init, <span class="keyword">const</span> FM::Vec& q_init);00065 <span class="comment">// Precondition: Fx, q and G are conformantly dimensioned (not checked)</span>00066 };00067 00068 <a name="l00069"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__correlated__observe__model.html">00069</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linrz__correlated__observe__model.html">Simple_linrz_correlated_observe_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linrz__correlated__observe__model.html">Linrz_correlated_observe_model</a>00070 <span class="comment">// Linrz observe model initialised from function and model matricies</span>00071 {00072 <a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> ff;00073 <span class="keyword">public</span>:00074 <a class="code" href="classBayesian__filter_1_1Simple__linrz__correlated__observe__model.html#a0">Simple_linrz_correlated_observe_model</a> (<a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> f_init, <span class="keyword">const</span> FM::Matrix& Hx_init, <span class="keyword">const</span> FM::SymMatrix& Z_init);00075 <span class="comment">// Precondition: Hx, Z are conformantly dimensioned (not checked)</span>00076 <span class="comment">// No default assignment operator</span>00077 <a name="l00078"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__correlated__observe__model.html#a1">00078</a> <span class="keyword">virtual</span> <span class="keyword">const</span> FM::Vec& <a class="code" href="classBayesian__filter_1_1Simple__linrz__correlated__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec& x)<span class="keyword"> const</span>00079 <span class="keyword"> </span>{ <span class="keywordflow">return</span> ff(x);00080 }00081 };00082 <a name="l00083"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__uncorrelated__observe__model.html">00083</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linrz__uncorrelated__observe__model.html">Simple_linrz_uncorrelated_observe_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>00084 <span class="comment">// Linrz observe model initialised from function and model matricies</span>00085 {00086 <a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> ff;00087 <span class="keyword">public</span>:00088 <a class="code" href="classBayesian__filter_1_1Simple__linrz__uncorrelated__observe__model.html#a0">Simple_linrz_uncorrelated_observe_model</a> (<a class="code" href="namespaceBayesian__filter.html#a0">State_function</a> f_init, <span class="keyword">const</span> FM::Matrix& Hx_init, <span class="keyword">const</span> FM::Vec& Zv_init);00089 <span class="comment">// Precondition: Hx, Zv are conformantly dimensioned (not checked)</span>00090 <span class="comment">// No default assignment operator</span>00091 <a name="l00092"></a><a class="code" href="classBayesian__filter_1_1Simple__linrz__uncorrelated__observe__model.html#a1">00092</a> <span class="keyword">virtual</span> <span class="keyword">const</span> FM::Vec& <a class="code" href="classBayesian__filter_1_1Simple__linrz__uncorrelated__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec& x)<span class="keyword"> const</span>00093 <span class="keyword"> </span>{ <span class="keywordflow">return</span> ff(x);00094 }00095 };00096
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -