| 10 | | It has three main categories of usecases: |
| 11 | | -# Easy access to ready solutions of typical decision-making scenarios: |
| 12 | | |
| 13 | | For example simulation, estimation, feedback control. These objects are described by matlab structures. |
| 14 | | See \ref bdt_scenarios |
| 15 | | -# Wrappers for selected C++ functions |
| 16 | | |
| 17 | | Taking matlab structures as inputs and retunring matlab structures as outputs, see \ref bdt_wrappers |
| 18 | | |
| 19 | | -# Native Matlab classes that reflect the basic classes of BDM. |
| 20 | | |
| 21 | | These classes are pure Matlab classes and can be used without BDM. |
| 22 | | |
| 23 | | However, their main advantage is that BDM attach to these calsses and use them via C++ classes (e.g. mexEpdf and mexBM). Hence, these calsses can be used as building blocks in advances |
| 24 | | algorithms implemnetyed in BDM, see \ref bdt_mex_classes |
| | 10 | It has three main categories of use cases: |
| 26 | | For tutorial on the above scenarios see \ref pages.html |
| | 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. |
| | 20 | |
| | 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 | |
| | 50 | See \ref bdt_mex_classes for details |