| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|---|
| 2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
|---|
| 3 | <head> |
|---|
| 4 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
|---|
| 5 | <title>mixpp: bdm::StateSpace< sq_T > Class Template Reference</title> |
|---|
| 6 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
|---|
| 7 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
|---|
| 8 | </head> |
|---|
| 9 | <body> |
|---|
| 10 | <!-- Generated by Doxygen 1.6.1 --> |
|---|
| 11 | <script type="text/javascript"> |
|---|
| 12 | <!-- |
|---|
| 13 | function changeDisplayState (e){ |
|---|
| 14 | var num=this.id.replace(/[^[0-9]/g,''); |
|---|
| 15 | var button=this.firstChild; |
|---|
| 16 | var sectionDiv=document.getElementById('dynsection'+num); |
|---|
| 17 | if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ |
|---|
| 18 | sectionDiv.style.display='block'; |
|---|
| 19 | button.src='open.gif'; |
|---|
| 20 | }else{ |
|---|
| 21 | sectionDiv.style.display='none'; |
|---|
| 22 | button.src='closed.gif'; |
|---|
| 23 | } |
|---|
| 24 | } |
|---|
| 25 | function initDynSections(){ |
|---|
| 26 | var divs=document.getElementsByTagName('div'); |
|---|
| 27 | var sectionCounter=1; |
|---|
| 28 | for(var i=0;i<divs.length-1;i++){ |
|---|
| 29 | if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ |
|---|
| 30 | var header=divs[i]; |
|---|
| 31 | var section=divs[i+1]; |
|---|
| 32 | var button=header.firstChild; |
|---|
| 33 | if (button!='IMG'){ |
|---|
| 34 | divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); |
|---|
| 35 | button=document.createElement('img'); |
|---|
| 36 | divs[i].insertBefore(button,divs[i].firstChild); |
|---|
| 37 | } |
|---|
| 38 | header.style.cursor='pointer'; |
|---|
| 39 | header.onclick=changeDisplayState; |
|---|
| 40 | header.id='dynheader'+sectionCounter; |
|---|
| 41 | button.src='closed.gif'; |
|---|
| 42 | section.id='dynsection'+sectionCounter; |
|---|
| 43 | section.style.display='none'; |
|---|
| 44 | section.style.marginLeft='14px'; |
|---|
| 45 | sectionCounter++; |
|---|
| 46 | } |
|---|
| 47 | } |
|---|
| 48 | } |
|---|
| 49 | window.onload = initDynSections; |
|---|
| 50 | --> |
|---|
| 51 | </script> |
|---|
| 52 | <div class="navigation" id="top"> |
|---|
| 53 | <div class="tabs"> |
|---|
| 54 | <ul> |
|---|
| 55 | <li><a href="main.html"><span>Main Page</span></a></li> |
|---|
| 56 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
|---|
| 57 | <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
|---|
| 58 | <li><a href="files.html"><span>Files</span></a></li> |
|---|
| 59 | </ul> |
|---|
| 60 | </div> |
|---|
| 61 | <div class="tabs"> |
|---|
| 62 | <ul> |
|---|
| 63 | <li><a href="annotated.html"><span>Class List</span></a></li> |
|---|
| 64 | <li><a href="classes.html"><span>Class Index</span></a></li> |
|---|
| 65 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
|---|
| 66 | <li><a href="functions.html"><span>Class Members</span></a></li> |
|---|
| 67 | </ul> |
|---|
| 68 | </div> |
|---|
| 69 | <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1StateSpace.html">StateSpace</a> |
|---|
| 70 | </div> |
|---|
| 71 | </div> |
|---|
| 72 | <div class="contents"> |
|---|
| 73 | <h1>bdm::StateSpace< sq_T > Class Template Reference</h1><!-- doxytag: class="bdm::StateSpace" --> |
|---|
| 74 | <p>Basic elements of linear state-space model. |
|---|
| 75 | <a href="#_details">More...</a></p> |
|---|
| 76 | |
|---|
| 77 | <p><code>#include <<a class="el" href="kalman_8h_source.html">kalman.h</a>></code></p> |
|---|
| 78 | |
|---|
| 79 | <p><a href="classbdm_1_1StateSpace-members.html">List of all members.</a></p> |
|---|
| 80 | <table border="0" cellpadding="0" cellspacing="0"> |
|---|
| 81 | <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> |
|---|
| 82 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a053883a11a93a979c28c3e6792ce20"></a><!-- doxytag: member="bdm::StateSpace::set_parameters" ref="a7a053883a11a93a979c28c3e6792ce20" args="(const mat &A0, const mat &B0, const mat &C0, const mat &D0, const sq_T &Q0, const sq_T &R0)" --> |
|---|
| 83 | void </td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (const mat &A0, const mat &B0, const mat &C0, const mat &D0, const sq_T &Q0, const sq_T &R0)</td></tr> |
|---|
| 84 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa49922a3db65a333d24feceb68164bcd"></a><!-- doxytag: member="bdm::StateSpace::validate" ref="aa49922a3db65a333d24feceb68164bcd" args="()" --> |
|---|
| 85 | void </td><td class="memItemRight" valign="bottom"><b>validate</b> ()</td></tr> |
|---|
| 86 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02470085bbf3c41fe8e36544813eecbd"></a><!-- doxytag: member="bdm::StateSpace::from_setting" ref="a02470085bbf3c41fe8e36544813eecbd" args="(const Setting &set)" --> |
|---|
| 87 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a02470085bbf3c41fe8e36544813eecbd">from_setting</a> (const Setting &set)</td></tr> |
|---|
| 88 | <tr><td class="mdescLeft"> </td><td class="mdescRight">not virtual in this case <br/></td></tr> |
|---|
| 89 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1972e00d9b9dd22a0f983c7cb0b8b40"></a><!-- doxytag: member="bdm::StateSpace::_dimx" ref="ab1972e00d9b9dd22a0f983c7cb0b8b40" args="()" --> |
|---|
| 90 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#ab1972e00d9b9dd22a0f983c7cb0b8b40">_dimx</a> ()</td></tr> |
|---|
| 91 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 92 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3d83a4b39e05df9fb4246fd6ddc2a60"></a><!-- doxytag: member="bdm::StateSpace::_dimy" ref="af3d83a4b39e05df9fb4246fd6ddc2a60" args="()" --> |
|---|
| 93 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#af3d83a4b39e05df9fb4246fd6ddc2a60">_dimy</a> ()</td></tr> |
|---|
| 94 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 95 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa238842025a0eaade26d5d79a0e9000e"></a><!-- doxytag: member="bdm::StateSpace::_dimu" ref="aa238842025a0eaade26d5d79a0e9000e" args="()" --> |
|---|
| 96 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#aa238842025a0eaade26d5d79a0e9000e">_dimu</a> ()</td></tr> |
|---|
| 97 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 98 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae0dd610bf28f52c4c7acec87e39ed5e"></a><!-- doxytag: member="bdm::StateSpace::_A" ref="aae0dd610bf28f52c4c7acec87e39ed5e" args="() const " --> |
|---|
| 99 | const mat & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#aae0dd610bf28f52c4c7acec87e39ed5e">_A</a> () const </td></tr> |
|---|
| 100 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 101 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19cabf296793357c130778fe74df54a4"></a><!-- doxytag: member="bdm::StateSpace::_B" ref="a19cabf296793357c130778fe74df54a4" args="() const " --> |
|---|
| 102 | const mat & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a19cabf296793357c130778fe74df54a4">_B</a> () const </td></tr> |
|---|
| 103 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 104 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5731f429df4a70dc0d0d1e6ea8e35125"></a><!-- doxytag: member="bdm::StateSpace::_C" ref="a5731f429df4a70dc0d0d1e6ea8e35125" args="() const " --> |
|---|
| 105 | const mat & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a5731f429df4a70dc0d0d1e6ea8e35125">_C</a> () const </td></tr> |
|---|
| 106 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 107 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a286286acb308f9ee596cab9af503b252"></a><!-- doxytag: member="bdm::StateSpace::_D" ref="a286286acb308f9ee596cab9af503b252" args="() const " --> |
|---|
| 108 | const mat & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a286286acb308f9ee596cab9af503b252">_D</a> () const </td></tr> |
|---|
| 109 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 110 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38a71e31f22f5459d10c3cbee1e4d977"></a><!-- doxytag: member="bdm::StateSpace::_Q" ref="a38a71e31f22f5459d10c3cbee1e4d977" args="() const " --> |
|---|
| 111 | const sq_T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a38a71e31f22f5459d10c3cbee1e4d977">_Q</a> () const </td></tr> |
|---|
| 112 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 113 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ddac45b7a4efbf83b2232d0d5595ba"></a><!-- doxytag: member="bdm::StateSpace::_R" ref="a69ddac45b7a4efbf83b2232d0d5595ba" args="() const " --> |
|---|
| 114 | const sq_T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a69ddac45b7a4efbf83b2232d0d5595ba">_R</a> () const </td></tr> |
|---|
| 115 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function <br/></td></tr> |
|---|
| 116 | <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> |
|---|
| 117 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3120f1c9cd7c3a0ba9944e4a2381f21"></a><!-- doxytag: member="bdm::StateSpace::dimx" ref="ac3120f1c9cd7c3a0ba9944e4a2381f21" args="" --> |
|---|
| 118 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#ac3120f1c9cd7c3a0ba9944e4a2381f21">dimx</a></td></tr> |
|---|
| 119 | <tr><td class="mdescLeft"> </td><td class="mdescRight">cache of rv.count() <br/></td></tr> |
|---|
| 120 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b784d85ca911866225a79193ae1441f"></a><!-- doxytag: member="bdm::StateSpace::dimy" ref="a3b784d85ca911866225a79193ae1441f" args="" --> |
|---|
| 121 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a3b784d85ca911866225a79193ae1441f">dimy</a></td></tr> |
|---|
| 122 | <tr><td class="mdescLeft"> </td><td class="mdescRight">cache of rvy.count() <br/></td></tr> |
|---|
| 123 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95bb59ffbfd34c55d03d4d7a2a9b4faf"></a><!-- doxytag: member="bdm::StateSpace::dimu" ref="a95bb59ffbfd34c55d03d4d7a2a9b4faf" args="" --> |
|---|
| 124 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a95bb59ffbfd34c55d03d4d7a2a9b4faf">dimu</a></td></tr> |
|---|
| 125 | <tr><td class="mdescLeft"> </td><td class="mdescRight">cache of rvu.count() <br/></td></tr> |
|---|
| 126 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade7d828a8d06cbbd5ac45afeaf9f0c7b"></a><!-- doxytag: member="bdm::StateSpace::A" ref="ade7d828a8d06cbbd5ac45afeaf9f0c7b" args="" --> |
|---|
| 127 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#ade7d828a8d06cbbd5ac45afeaf9f0c7b">A</a></td></tr> |
|---|
| 128 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix A. <br/></td></tr> |
|---|
| 129 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cdaa906550290b759a1584d02b3ca51"></a><!-- doxytag: member="bdm::StateSpace::B" ref="a0cdaa906550290b759a1584d02b3ca51" args="" --> |
|---|
| 130 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a0cdaa906550290b759a1584d02b3ca51">B</a></td></tr> |
|---|
| 131 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix B. <br/></td></tr> |
|---|
| 132 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7ec82d2200c956cff6dff559bd32ff9"></a><!-- doxytag: member="bdm::StateSpace::C" ref="ac7ec82d2200c956cff6dff559bd32ff9" args="" --> |
|---|
| 133 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#ac7ec82d2200c956cff6dff559bd32ff9">C</a></td></tr> |
|---|
| 134 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix C. <br/></td></tr> |
|---|
| 135 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5769a41b34eb518716120cf04dbc23f"></a><!-- doxytag: member="bdm::StateSpace::D" ref="ad5769a41b34eb518716120cf04dbc23f" args="" --> |
|---|
| 136 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#ad5769a41b34eb518716120cf04dbc23f">D</a></td></tr> |
|---|
| 137 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix D. <br/></td></tr> |
|---|
| 138 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66248c83836424f1cd7c1b5b9a92cf1f"></a><!-- doxytag: member="bdm::StateSpace::Q" ref="a66248c83836424f1cd7c1b5b9a92cf1f" args="" --> |
|---|
| 139 | sq_T </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a66248c83836424f1cd7c1b5b9a92cf1f">Q</a></td></tr> |
|---|
| 140 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix Q in square-root form. <br/></td></tr> |
|---|
| 141 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11dd3493d62ec9329860386adb3e6084"></a><!-- doxytag: member="bdm::StateSpace::R" ref="a11dd3493d62ec9329860386adb3e6084" args="" --> |
|---|
| 142 | sq_T </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1StateSpace.html#a11dd3493d62ec9329860386adb3e6084">R</a></td></tr> |
|---|
| 143 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix R in square-root form. <br/></td></tr> |
|---|
| 144 | </table> |
|---|
| 145 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
|---|
| 146 | <h3>template<class sq_T><br/> |
|---|
| 147 | class bdm::StateSpace< sq_T ></h3> |
|---|
| 148 | |
|---|
| 149 | <p>Basic elements of linear state-space model. </p> |
|---|
| 150 | <p>Parameter evolution model:</p> |
|---|
| 151 | <p class="formulaDsp"> |
|---|
| 152 | <img class="formulaDsp" alt="\[ x_t = A x_{t-1} + B u_t + Q^{1/2} e_t \]" src="form_36.png"/> |
|---|
| 153 | </p> |
|---|
| 154 | <p> Observation model: </p> |
|---|
| 155 | <p class="formulaDsp"> |
|---|
| 156 | <img class="formulaDsp" alt="\[ y_t = C x_{t-1} + C u_t + Q^{1/2} w_t. \]" src="form_37.png"/> |
|---|
| 157 | </p> |
|---|
| 158 | <p> Where $e_t$ and $w_t$ are independent vectors Normal(0,1)-distributed disturbances. </p> |
|---|
| 159 | <hr/>The documentation for this class was generated from the following file:<ul> |
|---|
| 160 | <li><a class="el" href="kalman_8h_source.html">kalman.h</a></li> |
|---|
| 161 | </ul> |
|---|
| 162 | </div> |
|---|
| 163 | <hr size="1"/><address style="text-align: right;"><small>Generated on Tue Sep 8 22:11:33 2009 for mixpp by |
|---|
| 164 | <a href="http://www.doxygen.org/index.html"> |
|---|
| 165 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> |
|---|
| 166 | </body> |
|---|
| 167 | </html> |
|---|