# Matlab toolbox using BDM library (BDMToolbox)

### $VERSION$

**Version:**- 0.1

BDMToolbox is a high-level front-end to low level C++ routines of BDM.

It has three main categories of use cases:

## Standard scenarios

Typical decision-making scenarios has been prepared as standalone functions, which can be configured using Matlab structures with definition of experimental conditions.

These include:

- simulation, as a trivial example, where data are generated by a chosen simulator (or any prepared DataSource) and stored in the required format,
- estimation, same as the simulation scenario above extended by connection to an array of estimators,
- feedback control, where the systems simulator (or real system) is connected to an array of controllers.
- multiple-participant decision making, where autonomous agents operate in their environment.

The purpose of this use case is to create a consistent experimental environment for rapid exploration of new data, new application domains, where different estimation and control algorithms can be quickly exchanges and mutually compared.

See Use Case #1: Basic Scenarios of BDMToolbox for details.

## Matlab interface to C++ algorithms

Selected individual algorithms of the BDM toolbox are accessible via dedicated mex functions. These mex functions operate as follows:

- Matlab structures on their input is translated into C++ data structures
- run the required algorithm,
- the output is again converted to Matlab structures.

The purpose of this use case is to allow composition of existing algorithms in a new arrangement. For example, it allows non-standard steps in the main loop, manipulation with configuration structures of scenarios, novel combination of conditionally independent filters, etc.

See, Use Case #2: Matlab wrappers for BDM functions for details.

## Matlab classes extending BDM classes

These classes are pure Matlab classes and can be used without BDM.

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 algorithms implemented in BDM.

The purpose of this use case is to allow seamless integration of pure Matlab algorithm into the routines of BDM.

See Use Case #3: combining Matlab classes and BDM classes for details

Generated on Fri Aug 27 16:55:19 2010 for bdmtoolbox by 1.6.0