1 | /*! |
---|
2 | \mainpage Matlab toolbox using BDM library (BDMToolbox) |
---|
3 | |
---|
4 | \version 0.1 |
---|
5 | |
---|
6 | \author Vaclav Smidl |
---|
7 | |
---|
8 | BDMToolbox is a high-level front-end to low level C++ routines of BDM. |
---|
9 | |
---|
10 | It has three main categories of use cases: |
---|
11 | |
---|
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 |
---|
51 | |
---|
52 | */ |
---|