Show
Ignore:
Timestamp:
10/12/09 13:49:39 (15 years ago)
Author:
mido
Message:

\doc directory cleaned a bit

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/doc/html/mex__BM_8h_source.html

    r641 r651  
    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"/> 
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
    53<title>mixpp: mex_BM.h Source File</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 --> 
     4<link href="tabs.css" rel="stylesheet" type="text/css"> 
     5<link href="doxygen.css" rel="stylesheet" type="text/css"> 
     6</head><body> 
     7<!-- Generated by Doxygen 1.5.9 --> 
    118<script type="text/javascript"> 
    129<!-- 
     
    6865<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;itpp/itmex.h&gt;</span> 
    6966<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;mex/config2mxstruct.h&gt;</span> 
    70 <a name="l00004"></a>00004 <span class="preprocessor">#include &quot;mex_parser.h&quot;</span> 
     67<a name="l00004"></a>00004 <span class="preprocessor">#include "mex_parser.h"</span> 
    7168<a name="l00005"></a>00005  
    7269<a name="l00006"></a>00006 <span class="keyword">namespace </span>bdm { 
    7370<a name="l00015"></a>00015 <span class="keyword">using namespace </span>bdm; 
    7471<a name="l00016"></a>00016  
    75 <a name="l00017"></a><a class="code" href="classbdm_1_1mexEpdf.html">00017</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1mexEpdf.html">mexEpdf</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>{ 
     72<a name="l00017"></a>00017 <span class="keyword">class </span>mexEpdf: <span class="keyword">public</span> epdf{ 
    7673<a name="l00018"></a>00018         <span class="keyword">protected</span>: 
    7774<a name="l00019"></a>00019                 <span class="keywordtype">string</span> name; 
    7875<a name="l00020"></a>00020                 mxArray *data; 
    7976<a name="l00021"></a>00021         <span class="keyword">public</span>: 
    80 <a name="l00022"></a>00022                 <a class="code" href="classbdm_1_1mexEpdf.html">mexEpdf</a>() {}; 
    81 <a name="l00023"></a><a class="code" href="classbdm_1_1mexEpdf.html#af371482ea8d21c8ac01f011b3d942298">00023</a>                 <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1mexEpdf.html#af371482ea8d21c8ac01f011b3d942298" title="Load from structure with elements:.">from_setting</a>(<span class="keyword">const</span> Setting &amp;S)  { 
    82 <a name="l00024"></a>00024                         name = (<span class="keyword">const</span> <span class="keywordtype">char</span> *) S[<span class="stringliteral">&quot;name&quot;</span>]; 
     77<a name="l00022"></a>00022                 mexEpdf() {}; 
     78<a name="l00023"></a>00023                 <span class="keywordtype">void</span> from_setting(<span class="keyword">const</span> Setting &amp;S)  { 
     79<a name="l00024"></a>00024                         name = (<span class="keyword">const</span> <span class="keywordtype">char</span> *) S[<span class="stringliteral">"name"</span>]; 
    8380<a name="l00025"></a>00025                         <a class="code" href="classUImxConfig.html" title="Reimplementation of libconfig&amp;#39;s Config class for Matlab mxArray structures.">UImxConfig</a> conf(S); 
    84 <a name="l00026"></a>00026                         data = mxDuplicateArray(conf.<a class="code" href="classUImxConfig.html#accf378aab12b7709d644441fd2e30d00" title="Matlab structure where the info is stored.">mxconfig</a>); 
    85 <a name="l00027"></a>00027                         <span class="comment">//mexCallMATLAB(1, &amp;data, 0, 0, (name+&quot;_new&quot;).c_str());</span> 
     81<a name="l00026"></a>00026                         data = mxDuplicateArray(conf.mxconfig); 
     82<a name="l00027"></a>00027                         <span class="comment">//mexCallMATLAB(1, &amp;data, 0, 0, (name+"_new").c_str());</span> 
    8683<a name="l00028"></a>00028                         <span class="comment">//TODO (future...):</span> 
    87 <a name="l00029"></a>00029                         <span class="comment">//mxArray * init_data = setting2mxarray S[&quot;init_data&quot;];</span> 
    88 <a name="l00030"></a>00030                         <span class="comment">//mexCallMATLAB(1, &amp;data, 1, &amp;init_data, name+&quot;_from_setting&quot;);</span> 
     84<a name="l00029"></a>00029                         <span class="comment">//mxArray * init_data = setting2mxarray S["init_data"];</span> 
     85<a name="l00030"></a>00030                         <span class="comment">//mexCallMATLAB(1, &amp;data, 1, &amp;init_data, name+"_from_setting");</span> 
    8986<a name="l00031"></a>00031                         <span class="comment">//delete init_data;</span> 
    9087<a name="l00032"></a>00032                 }  
    91 <a name="l00033"></a><a class="code" href="classbdm_1_1mexEpdf.html#a028dd3432d55e1fcc49f786a27f5afe8">00033</a>                 vec <a class="code" href="classbdm_1_1mexEpdf.html#a028dd3432d55e1fcc49f786a27f5afe8" title="return expected value">mean</a>()<span class="keyword"> const </span>{ 
     88<a name="l00033"></a>00033                 vec mean()<span class="keyword"> const </span>{ 
    9289<a name="l00034"></a>00034                         mxArray *tmp; 
    93 <a name="l00035"></a>00035                         <span class="keywordtype">string</span> fname = name+<span class="stringliteral">&quot;_mean&quot;</span>; 
     90<a name="l00035"></a>00035                         <span class="keywordtype">string</span> fname = name+<span class="stringliteral">"_mean"</span>; 
    9491<a name="l00036"></a>00036                         mexCallMATLAB(1, &amp;tmp, 1, (mxArray **) &amp;data, fname.c_str()); 
    9592<a name="l00037"></a>00037                         <span class="keywordflow">return</span> mxArray2vec(tmp); 
    9693<a name="l00038"></a>00038                 }  
    9794<a name="l00039"></a>00039 }; 
    98 <a name="l00040"></a>00040 <a class="code" href="user__info_8h.html#a4f9de2f17e844047726487b99def99c6" title="Macro for registration of class into map of user-infos, registered class is scriptable...">UIREGISTER</a>(mexEpdf); 
     95<a name="l00040"></a>00040 <a class="code" href="user__info_8h.html#4f9de2f17e844047726487b99def99c6" title="Macro for registration of class into map of user-infos, registered class is scriptable...">UIREGISTER</a>(mexEpdf); 
    9996<a name="l00041"></a>00041  
    100 <a name="l00042"></a><a class="code" href="classbdm_1_1mexBM.html">00042</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1mexBM.html">mexBM</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1BM.html" title="Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities.">BM</a>{ 
     97<a name="l00042"></a>00042 <span class="keyword">class </span>mexBM: <span class="keyword">public</span> BM{ 
    10198<a name="l00043"></a>00043         <span class="keyword">protected</span> : 
    10299<a name="l00044"></a>00044                 <span class="keywordtype">string</span> name; 
    103 <a name="l00045"></a>00045                 <a class="code" href="classbdm_1_1mexEpdf.html">mexEpdf</a> est; 
     100<a name="l00045"></a>00045                 mexEpdf est; 
    104101<a name="l00046"></a>00046                 mxArray *data; 
    105102<a name="l00047"></a>00047         <span class="keyword">public</span>: 
    106 <a name="l00048"></a>00048                 <a class="code" href="classbdm_1_1mexBM.html">mexBM</a>() {} 
     103<a name="l00048"></a>00048                 mexBM() {} 
    107104<a name="l00049"></a>00049  
    108105<a name="l00050"></a>00050                 mxArray *get_data() { 
    109 <a name="l00051"></a>00051                         <span class="comment">//mexCallMATLAB(0, NULL, 1, &amp;data, &quot;dump&quot;);</span> 
     106<a name="l00051"></a>00051                         <span class="comment">//mexCallMATLAB(0, NULL, 1, &amp;data, "dump");</span> 
    110107<a name="l00052"></a>00052                         <span class="keywordflow">return</span> mxDuplicateArray(data); 
    111108<a name="l00053"></a>00053                 } 
    112109<a name="l00054"></a>00054  
    113 <a name="l00055"></a><a class="code" href="classbdm_1_1mexBM.html#a1dc5937132e070894ca6002b05512afd">00055</a>                 <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1mexBM.html#a1dc5937132e070894ca6002b05512afd" title="This method arrange instance properties according the data stored in the Setting...">from_setting</a>(<span class="keyword">const</span> Setting &amp;S)  { 
    114 <a name="l00056"></a>00056                         <a class="code" href="classbdm_1_1mexBM.html#a1dc5937132e070894ca6002b05512afd" title="This method arrange instance properties according the data stored in the Setting...">BM::from_setting</a>(S); 
    115 <a name="l00057"></a>00057                         name = (<span class="keyword">const</span> <span class="keywordtype">char</span> *) S[<span class="stringliteral">&quot;name&quot;</span>]; 
     110<a name="l00055"></a>00055                 <span class="keywordtype">void</span> from_setting(<span class="keyword">const</span> Setting &amp;S)  { 
     111<a name="l00056"></a>00056                         <a class="code" href="classbdm_1_1BM.html#23c6a8f71f922023ab08dcb0487a86de" title="This method arrange instance properties according the data stored in the Setting...">BM::from_setting</a>(S); 
     112<a name="l00057"></a>00057                         name = (<span class="keyword">const</span> <span class="keywordtype">char</span> *) S[<span class="stringliteral">"name"</span>]; 
    116113<a name="l00058"></a>00058                         <a class="code" href="classUImxConfig.html" title="Reimplementation of libconfig&amp;#39;s Config class for Matlab mxArray structures.">UImxConfig</a> conf(S); 
    117 <a name="l00059"></a>00059                         data = mxDuplicateArray(conf.<a class="code" href="classUImxConfig.html#accf378aab12b7709d644441fd2e30d00" title="Matlab structure where the info is stored.">mxconfig</a>); 
    118 <a name="l00060"></a>00060                         <span class="comment">//string fname = name+&quot;_new&quot;;</span> 
    119 <a name="l00061"></a>00061                         <span class="comment">//mexCallMATLAB(1, &amp;data, 0, 0, (name+&quot;_new&quot;).c_str());</span> 
     114<a name="l00059"></a>00059                         data = mxDuplicateArray(conf.mxconfig); 
     115<a name="l00060"></a>00060                         <span class="comment">//string fname = name+"_new";</span> 
     116<a name="l00061"></a>00061                         <span class="comment">//mexCallMATLAB(1, &amp;data, 0, 0, (name+"_new").c_str());</span> 
    120117<a name="l00062"></a>00062                         <span class="comment">//the following works as long as the posterior is the</span> 
    121118<a name="l00063"></a>00063                         <span class="comment">//only member object there could be a structure of </span> 
    122119<a name="l00064"></a>00064                         <span class="comment">//member objects in the setting and a for cycle over</span> 
    123120<a name="l00065"></a>00065                         <span class="comment">//all of them right here in the code</span> 
    124 <a name="l00066"></a>00066                         Setting &amp;posterior = S[<span class="stringliteral">&quot;posterior&quot;</span>];  
    125 <a name="l00067"></a>00067                         est.<a class="code" href="classbdm_1_1mexEpdf.html#af371482ea8d21c8ac01f011b3d942298" title="Load from structure with elements:.">from_setting</a>(posterior); 
     121<a name="l00066"></a>00066                         Setting &amp;posterior = S[<span class="stringliteral">"posterior"</span>];  
     122<a name="l00067"></a>00067                         est.from_setting(posterior); 
    126123<a name="l00068"></a>00068                 } 
    127 <a name="l00069"></a><a class="code" href="classbdm_1_1mexBM.html#aa99452b52f731f561b01029af18c68f7">00069</a>                 <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1mexBM.html#aa99452b52f731f561b01029af18c68f7" title="Incremental Bayes rule.">bayes</a>(<span class="keyword">const</span> vec &amp;dt)  { 
     124<a name="l00069"></a>00069                 <span class="keywordtype">void</span> bayes(<span class="keyword">const</span> vec &amp;dt)  { 
    128125<a name="l00070"></a>00070                 <span class="comment">//void bayes()  {</span> 
    129126<a name="l00071"></a>00071                         mxArray *tmp, *old; 
     
    132129<a name="l00074"></a>00074                         in[1] = mxCreateDoubleMatrix(dt.size(), 1, mxREAL); 
    133130<a name="l00075"></a>00075                         vec2mxArray(dt, in[1]); 
    134 <a name="l00076"></a>00076                         mexCallMATLAB(1, &amp;tmp, 2, in, (name+<span class="stringliteral">&quot;_bayes&quot;</span>).c_str()); 
     131<a name="l00076"></a>00076                         mexCallMATLAB(1, &amp;tmp, 2, in, (name+<span class="stringliteral">"_bayes"</span>).c_str()); 
    135132<a name="l00077"></a>00077                         old = data; 
    136133<a name="l00078"></a>00078                         data = mxDuplicateArray(tmp); 
    137134<a name="l00079"></a>00079                         <span class="keywordflow">if</span> (old) mxDestroyArray(old); 
    138135<a name="l00080"></a>00080                         <span class="keywordflow">if</span> (tmp) mxDestroyArray(tmp); 
    139 <a name="l00081"></a>00081                         <span class="comment">//mexCallMATLAB(0, NULL, 1, &amp;data, &quot;dump&quot;);</span> 
     136<a name="l00081"></a>00081                         <span class="comment">//mexCallMATLAB(0, NULL, 1, &amp;data, "dump");</span> 
    140137<a name="l00082"></a>00082                 }  
    141 <a name="l00083"></a>00083                 <span class="keyword">const</span> <a class="code" href="classbdm_1_1mexEpdf.html">mexEpdf</a>&amp; posterior()<span class="keyword"> const  </span>{ 
     138<a name="l00083"></a>00083                 <span class="keyword">const</span> mexEpdf&amp; posterior()<span class="keyword"> const  </span>{ 
    142139<a name="l00084"></a>00084                         <span class="keywordflow">return</span> est; 
    143140<a name="l00085"></a>00085                 } <span class="comment">//tohle by melo zustat!!</span> 
     
    146143<a name="l00088"></a>00088                 } <span class="comment">//tohle by melo zustat!!</span> 
    147144<a name="l00089"></a>00089 }; 
    148 <a name="l00090"></a>00090 <a class="code" href="user__info_8h.html#a4f9de2f17e844047726487b99def99c6" title="Macro for registration of class into map of user-infos, registered class is scriptable...">UIREGISTER</a>(mexBM); 
     145<a name="l00090"></a>00090 <a class="code" href="user__info_8h.html#4f9de2f17e844047726487b99def99c6" title="Macro for registration of class into map of user-infos, registered class is scriptable...">UIREGISTER</a>(mexBM); 
    149146<a name="l00091"></a>00091  
    150147<a name="l00092"></a>00092 } 
    151148</pre></div></div> 
    152 <hr size="1"/><address style="text-align: right;"><small>Generated on Sun Sep 27 00:49:04 2009 for mixpp by&nbsp; 
     149<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 17:34:43 2009 for mixpp by&nbsp; 
    153150<a href="http://www.doxygen.org/index.html"> 
    154 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> 
     151<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> 
    155152</body> 
    156153</html>