Matlab wrapper for DS mapping functions step() to a matlab function. More...
Matlab wrapper for DS mapping functions step() to a matlab function.
The identifier of matlab function is stored in attribute name. This identifier defines: 
#include <mex_datasource.h>
Public Member Functions | |
| mexDS () | |
| Default constructor.  | |
| void | from_setting (const Setting &set) | 
| Create memory data source from mxArray.   | |
| void | step () | 
Moves from   to  , i.e. perfroms the actions and reads response of the system.  | |
| void | write (vec &ut0) | 
| Accepts action variable and schedule it for application.  | |
| void | getdata (vec &dt_out) | 
| Returns full vector of observed data=[output, input].  | |
| virtual int | max_length () | 
| Returns maximum number of provided data, by default it is set to maximum allowed length, shorter DS should overload this method! See, MemDS.max_length().  | |
| virtual void | getdata (vec &dt, const ivec &indeces) | 
| Returns data records at indeces.  | |
| virtual void | write (vec &ut, const ivec &indeces) | 
| Accepts action variables at specific indeces.  | |
| virtual void | log_add (logger &L) | 
| Register DS for logging into logger L.  | |
| virtual void | logit (logger &L) | 
| Register DS for logging into logger L.  | |
| virtual const RV & | _drv () const | 
| access function  | |
| const RV & | _urv () const | 
| access function  | |
| const RV & | _yrv () const | 
| access function  | |
| virtual void | set_drv (const RV &yrv, const RV &urv) | 
| set random variables  | |
| virtual string | to_string () | 
| This method returns a basic info about the current instance.  | |
| virtual void | to_setting (Setting &set) const | 
| This method save all the instance properties into the Setting structure.  | |
| virtual void | validate () | 
| This method TODO.  | |
Protected Attributes | |
| string | step_name | 
| identifier of matlab function  | |
| string | input_name | 
| identifier of matlab input variabel  | |
| vec | dt | 
| cache of results from name_step  | |
| vec | ut | 
| cache of inputs  | |
| int | dtsize | 
size of data returned by getdata()  | |
| int | utsize | 
| size of data  | |
| int | ytsize | 
| size of output  | |
| RV | Drv | 
Description of data returned by getdata().  | |
| RV | Urv | 
Description of data witten by by write().  | |
| RV | Yrv | 
| Description of output data.  | |
| int | L_dt | 
| Remember its own index in Logger L.  | |
| int | L_ut | 
| void bdm::mexDS::from_setting | ( | const Setting & | set | ) |  [inline, virtual] | 
        
Create memory data source from mxArray.
        system={
                type="mexDS";
                step_name="";              // name of function to call
                input_name="";             // name of workspace variable where inputs are written
                rv_out = {class='RV',...}  // identification of outputs
                rv_in = {class='RV',...}   // identification of inputs
                };
MemDS with the above fields will be created;
Reimplemented from bdm::root.
References bdm::DS::dtsize, bdm::UI::get(), input_name, bdm::DS::set_drv(), step_name, and bdm::DS::utsize.
 1.6.1