📄 models_8hpp-source.html
字号:
<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& Hx_init, <span class="keyword">const</span> FM::SymMatrix& 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& Hx_init, <span class="keyword">const</span> FM::Vec& 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>& 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& <a class="code" href="classBayesian__filter_1_1Adapted__Correlated__addative__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec& 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& z_denorm, <span class="keyword">const</span> FM::Vec& 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& 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>& 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& <a class="code" href="classBayesian__filter_1_1Adapted__Linrz__correlated__observe__model.html#a1">h</a>(<span class="keyword">const</span> FM::Vec& 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& z_denorm, <span class="keyword">const</span> FM::Vec& 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>& <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& 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& 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& model, <span class="keyword">const</span> FM::Vec& z, <span class="keyword">const</span> FM::Vec& 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& model);00199 };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -