OpenSim  OpenSim 3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
OpenSim::OptimizationTarget Class Reference

This class provides an interface specification for optimizing redundant systems. More...

#include <OptimizationTarget.h>

Inheritance diagram for OpenSim::OptimizationTarget:
OpenSim::ActuatorForceTarget OpenSim::ActuatorForceTargetFast

Public Member Functions

 OptimizationTarget (int aNX=0)
void setNumParameters (const int aNX)
void setDX (double aVal)
void setDX (int aIndex, double aVal)
double getDX (int aIndex)
double * getDXArray ()
void validatePerturbationSize (double &aSize)
virtual bool prepareToOptimize (SimTK::State &s, double *x)
virtual void printPerformance (double *x)

Static Public Member Functions

static int CentralDifferencesConstraint (const OptimizationTarget *aTarget, double *dx, const SimTK::Vector &x, SimTK::Matrix &jacobian)
static int CentralDifferences (const OptimizationTarget *aTarget, double *dx, const SimTK::Vector &x, SimTK::Vector &dpdx)
static int ForwardDifferences (const OptimizationTarget *aTarget, double *dx, const SimTK::Vector &x, SimTK::Vector &dpdx)

Static Public Attributes

static const double SMALLDX
 Smallest allowable perturbation size for computing derivatives.

Protected Attributes

Array< double > _dx
 Perturbation size for computing numerical derivatives.

Detailed Description

This class provides an interface specification for optimizing redundant systems.

If a class represents a redundant system for which one would like to find a set of optimal controls, the class should inherit from this class and implement the virtual functions defined here.

Author
Frank C. Anderson

Constructor & Destructor Documentation

OpenSim::OptimizationTarget::OptimizationTarget ( int  aNX = 0)

Member Function Documentation

static int OpenSim::OptimizationTarget::CentralDifferences ( const OptimizationTarget aTarget,
double *  dx,
const SimTK::Vector &  x,
SimTK::Vector &  dpdx 
)
static
static int OpenSim::OptimizationTarget::CentralDifferencesConstraint ( const OptimizationTarget aTarget,
double *  dx,
const SimTK::Vector &  x,
SimTK::Matrix &  jacobian 
)
static
static int OpenSim::OptimizationTarget::ForwardDifferences ( const OptimizationTarget aTarget,
double *  dx,
const SimTK::Vector &  x,
SimTK::Vector &  dpdx 
)
static
double OpenSim::OptimizationTarget::getDX ( int  aIndex)
double* OpenSim::OptimizationTarget::getDXArray ( )
virtual bool OpenSim::OptimizationTarget::prepareToOptimize ( SimTK::State &  s,
double *  x 
)
inlinevirtual
virtual void OpenSim::OptimizationTarget::printPerformance ( double *  x)
virtual
void OpenSim::OptimizationTarget::setDX ( double  aVal)
void OpenSim::OptimizationTarget::setDX ( int  aIndex,
double  aVal 
)
void OpenSim::OptimizationTarget::setNumParameters ( const int  aNX)
void OpenSim::OptimizationTarget::validatePerturbationSize ( double &  aSize)

Member Data Documentation

Array<double> OpenSim::OptimizationTarget::_dx
protected

Perturbation size for computing numerical derivatives.

const double OpenSim::OptimizationTarget::SMALLDX
static

Smallest allowable perturbation size for computing derivatives.


The documentation for this class was generated from the following file: