[1044] | 1 | /*! |
---|
| 2 | \mainpage Matlab toolbox using BDM library (BDMToolbox) |
---|
| 3 | |
---|
| 4 | \version 0.1 |
---|
| 5 | |
---|
| 6 | \author Vaclav Smidl |
---|
| 7 | |
---|
[1050] | 8 | BDMToolbox is a high-level front-end to low level C++ routines of BDM. |
---|
[1044] | 9 | |
---|
[1050] | 10 | It has three main categories of use cases: |
---|
[1044] | 11 | |
---|
[1050] | 12 | \section bdt_int_ready Standard scenarios |
---|
| 13 | Typical decision-making scenarios has been prepared as standalone functions, which can be configured using |
---|
| 14 | Matlab structures with definition of experimental conditions. \n |
---|
| 15 | These include: |
---|
| 16 | - simulation, as a trivial example, where data are generated by a chosen simulator (or any prepared DataSource) and stored in the required format, |
---|
| 17 | - estimation, same as the simulation scenario above extended by connection to an array of estimators, |
---|
| 18 | - feedback control, where the systems simulator (or real system) is connected to an array of controllers. |
---|
| 19 | - multiple-participant decision making, where autonomous agents operate in their environment. |
---|
[1044] | 20 | |
---|
[1050] | 21 | The purpose of this use case is to create a consistent experimental environment for rapid exploration of new data, |
---|
| 22 | new application domains, where different estimation and control algorithms can be quickly exchanges and mutually compared. |
---|
| 23 | |
---|
| 24 | See \ref bdt_scenarios for details. |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | \section bdt_int_wrap Matlab interface to C++ algorithms |
---|
| 28 | |
---|
| 29 | Selected individual algorithms of the BDM toolbox are accessible via dedicated mex functions. |
---|
| 30 | These mex functions operate as follows: |
---|
| 31 | -# Matlab structures on their input is translated into C++ data structures |
---|
| 32 | -# run the required algorithm, |
---|
| 33 | -# the output is again converted to Matlab structures. |
---|
| 34 | |
---|
| 35 | The purpose of this use case is to allow composition of existing algorithms in a new arrangement. |
---|
| 36 | For example, it allows non-standard steps in the main loop, manipulation with configuration structures of scenarios, |
---|
| 37 | novel combination of conditionally independent filters, etc. |
---|
| 38 | |
---|
| 39 | See, \ref bdt_wrappers for details. |
---|
| 40 | |
---|
| 41 | \section bdt_int_class Matlab classes extending BDM classes |
---|
| 42 | |
---|
| 43 | These classes are pure Matlab classes and can be used without BDM. |
---|
| 44 | |
---|
| 45 | However, their main advantage is that BDM attach to these classes and use them via C++ classes (e.g. mexEpdf and mexBM). Hence, these classes can be used as building blocks in advances |
---|
| 46 | algorithms implemented in BDM. |
---|
| 47 | |
---|
| 48 | The purpose of this use case is to allow seamless integration of pure Matlab algorithm into the routines of BDM. |
---|
| 49 | |
---|
[1086] | 50 | See \ref bdt_mex_bdm for details |
---|
[1050] | 51 | |
---|
[1044] | 52 | */ |
---|