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

📄 models_8hpp-source.html

📁 Bayes滤波器算法C++类说明文档,源码见Bayes滤波器算法
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<a name="l00097"></a><a class="code" href="classBayesian__filter_1_1Simple__linear__correlated__observe__model.html">00097</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linear__correlated__observe__model.html">Simple_linear_correlated_observe_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linear__correlated__observe__model.html">Linear_correlated_observe_model</a>00098 <span class="comment">// Linear observe model initialised from model matricies</span>00099 {00100 <span class="keyword">public</span>:00101     <a class="code" href="classBayesian__filter_1_1Simple__linear__correlated__observe__model.html#a0">Simple_linear_correlated_observe_model</a> (<span class="keyword">const</span> FM::Matrix&amp; Hx_init, <span class="keyword">const</span> FM::SymMatrix&amp; Z_init);00102     <span class="comment">// Precondition: Hx, Z are conformantly dimensioned (not checked)</span>00103 };00104 <a name="l00105"></a><a class="code" href="classBayesian__filter_1_1Simple__linear__uncorrelated__observe__model.html">00105</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Simple__linear__uncorrelated__observe__model.html">Simple_linear_uncorrelated_observe_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Linear__uncorrelated__observe__model.html">Linear_uncorrelated_observe_model</a>00106 <span class="comment">// Linear observe model initialised from model matricies</span>00107 {00108 <span class="keyword">public</span>:00109     <a class="code" href="classBayesian__filter_1_1Simple__linear__uncorrelated__observe__model.html#a0">Simple_linear_uncorrelated_observe_model</a> (<span class="keyword">const</span> FM::Matrix&amp; Hx_init, <span class="keyword">const</span> FM::Vec&amp; Zv_init);00110     <span class="comment">// Precondition: Hx, Zv are conformantly dimensioned (not checked)</span>00111 };00112 00113 00114 00115 <span class="comment">/*</span>00116 <span class="comment"> * Model Adaptors: Constructed with a reference to another model</span>00117 <span class="comment"> */</span>00118 00119 <a name="l00120"></a><a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html">00120</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html">Adapted_Correlated_addative_observe_model</a> : <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Correlated__addative__observe__model.html">Correlated_addative_observe_model</a>00121 <span class="comment">/*</span>00122 <span class="comment"> * Adapt Uncorrelated_addative_observe_model to an equivilent</span>00123 <span class="comment"> * Correlated_addative_observe_model_adaptor</span>00124 <span class="comment"> */</span>00125 {00126 <span class="keyword">public</span>:00127     <a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a0">Adapted_Correlated_addative_observe_model</a> (<a class="code" href="classBayesian__filter_1_1Uncorrelated__addative__observe__model.html">Uncorrelated_addative_observe_model</a>&amp; adapt);<a name="l00128"></a><a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a1">00128</a>     <span class="keyword">const</span> FM::Vec&amp; <a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec&amp; x)<span class="keyword"> const</span>00129 <span class="keyword">    </span>{00130         <span class="keywordflow">return</span> unc.<a class="code" href="classBayesian__filter_1_1Parametised__observe__model.html#a1">h</a>(x);00131     }<a name="l00132"></a><a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a2">00132</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a2">normalise</a> (FM::Vec&amp; z_denorm, <span class="keyword">const</span> FM::Vec&amp; z_from)<span class="keyword"> const</span>00133 <span class="keyword">    </span>{00134         unc.<a class="code" href="classBayesian__filter_1_1Parametised__observe__model.html#a2">normalise</a> (z_denorm, z_from);00135     };00136 <span class="keyword">private</span>:00137     Uncorrelated_addative_observe_model&amp; unc;00138 };00139 <a name="l00140"></a><a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html">00140</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html">Adapted_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>00141 <span class="comment">/*</span>00142 <span class="comment"> * Adapt Linrz_uncorrelated_observe_model to an equivilent</span>00143 <span class="comment"> * Linrz_correlated_observe_model</span>00144 <span class="comment"> */</span>00145 {00146 <span class="keyword">public</span>:00147     <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a0">Adapted_Linrz_correlated_observe_model</a> (<a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>&amp; adapt);<a name="l00148"></a><a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a1">00148</a>     <span class="keyword">const</span> FM::Vec&amp; <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec&amp; x)<span class="keyword"> const</span>00149 <span class="keyword">    </span>{00150         <span class="keywordflow">return</span> <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#p0">unc</a>.<a class="code" href="classBayesian__filter_1_1Parametised__observe__model.html#a1">h</a>(x);00151     }<a name="l00152"></a><a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a2">00152</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a2">normalise</a> (FM::Vec&amp; z_denorm, <span class="keyword">const</span> FM::Vec&amp; z_from)<span class="keyword"> const</span>00153 <span class="keyword">    </span>{00154         <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#p0">unc</a>.<a class="code" href="classBayesian__filter_1_1Parametised__observe__model.html#a2">normalise</a> (z_denorm, z_from);00155     };00156 <span class="keyword">protected</span>:<a name="l00157"></a><a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#p0">00157</a>     <a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>&amp; <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#p0">unc</a>;00158 };00159 00160 00161 <span class="comment">/*</span>00162 <span class="comment"> * Genereal Models: Include properties of more then on observe model.</span>00163 <span class="comment"> */</span>00164 00165 <span class="comment">// General Linearised Uncorrelated Addative and Likelihood observe model</span><a name="l00166"></a><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html">00166</a> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html">General_LzUnAd_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>, <span class="keyword">public</span> <a class="code" href="classBayesian__filter_1_1Likelihood__observe__model.html">Likelihood_observe_model</a>00167 {00168 <span class="keyword">public</span>:<a name="l00169"></a><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a0">00169</a>     <a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a0">General_LzUnAd_observe_model</a> (size_t x_size, size_t z_size) :00170         <a class="code" href="classBayesian__filter_1_1Linrz__uncorrelated__observe__model.html">Linrz_uncorrelated_observe_model</a>(x_size, z_size),00171         <a class="code" href="classBayesian__filter_1_1Likelihood__observe__model.html">Likelihood_observe_model</a>(z_size),00172         li(z_size)00173     {}<a name="l00174"></a><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a1">00174</a>     <span class="keyword">virtual</span> <a class="code" href="classBayesian__filter_1_1Bayes__base.html#w0">Float</a> <a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a1">L</a>(<span class="keyword">const</span> FM::Vec&amp; x) <span class="keyword">const</span>00175     <span class="comment">// Definition of likelihood for addative noise model given zz</span>00176     {   <span class="keywordflow">return</span> li.L(*<span class="keyword">this</span>, <a class="code" href="classBayesian__filter_1_1Likelihood__observe__model.html#p0">z</a>, <a class="code" href="classBayesian__filter_1_1Parametised__observe__model.html#a1">h</a>(x));00177     }<a name="l00178"></a><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a2">00178</a>     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a2">Lz</a> (<span class="keyword">const</span> FM::Vec&amp; zz)00179     <span class="comment">// Fix the observation zz about which to evaluate the Likelihood function</span>00180     <span class="comment">// Zv is also fixed</span>00181     {   Likelihood_observe_model::z = zz;00182         li.Lz(*<span class="keyword">this</span>);00183     }00184 <span class="keyword">private</span>:<a name="l00185"></a><a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#n0">00185</a>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classBayesian__filter_1_1General__LiUnAd__observe__model.html">General_LiUnAd_observe_model</a>;00186     <span class="keyword">struct </span>Likelihood_uncorrelated00187     {00188         Likelihood_uncorrelated(size_t z_size) :00189             zInnov(z_size), Zv_inv(z_size)00190         {   zset = <span class="keyword">false</span>;00191         }00192         <span class="keyword">mutable</span> FM::Vec zInnov; <span class="comment">// Normailised innovation, temporary for L(x)</span>00193         FM::Vec Zv_inv;         <span class="comment">// Inverse Noise Covariance given zz</span>00194         <a class="code" href="namespaceBayesian__filter__matrix.html#a0">Float</a> logdetZ;          <span class="comment">// log(det(Z))</span>00195         <span class="keywordtype">bool</span> zset;00196         <a class="code" href="namespaceBayesian__filter__matrix.html#a0">Float</a> <a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a1">L</a>(<span class="keyword">const</span> Uncorrelated_addative_observe_model&amp; model, <span class="keyword">const</span> FM::Vec&amp; z, <span class="keyword">const</span> FM::Vec&amp; zp) <span class="keyword">const</span>;00197         <span class="comment">// Definition of likelihood for addative noise model given zz</span>00198         <span class="keywordtype">void</span> <a class="code" href="classBayesian__filter_1_1General__LzUnAd__observe__model.html#a2">Lz</a>(<span class="keyword">const</span> Uncorrelated_addative_observe_model&amp; model);00199     };

⌨️ 快捷键说明

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