Linear Class Reference

This is a Function_ subclass whose output value is a linear function of its arguments: f(x, y, . More...

#include <Function.h>

Inheritance diagram for Linear:
Function_< T >

List of all members.

Public Member Functions

 Linear (const Vector_< T > &coefficients)
 Create a Function_::Linear object.
calcValue (const Vector &x) const
 Calculate the value of this function at a particular point.
calcDerivative (const Array_< int > &derivComponents, const Vector &x) const
 Calculate a partial derivative of this function at a particular point.
virtual int getArgumentSize () const
 Get the number of components expected in the input vector.
int getMaxDerivativeOrder () const
 Get the maximum derivative order this Function_ object can calculate.
calcDerivative (const std::vector< int > &derivComponents, const Vector &x) const
 This provides compatibility with std::vector without requiring any copying.

Detailed Description

template<class T>
class SimTK::Function_< T >::Linear

This is a Function_ subclass whose output value is a linear function of its arguments: f(x, y, .

..) = ax+by+...+c.


Constructor & Destructor Documentation

Linear ( const Vector_< T > &  coefficients  )  [inline, explicit]

Create a Function_::Linear object.

Parameters:
coefficients The coefficients of the linear function. The number of arguments expected by the function is equal to coefficients.size()-1. coefficients[0] is the coefficient for the first argument, coefficients[1] is the coefficient for the second argument, etc. The final element of coefficients contains the constant term.

Member Function Documentation

T calcDerivative ( const std::vector< int > &  derivComponents,
const Vector x 
) const [inline]

This provides compatibility with std::vector without requiring any copying.

Reimplemented from Function_< T >.

References Linear::calcDerivative().

Referenced by Linear::calcDerivative().

T calcDerivative ( const Array_< int > &  derivComponents,
const Vector x 
) const [inline, virtual]

Calculate a partial derivative of this function at a particular point.

Which derivative to take is specified by listing the input components with which to take it. For example, if derivComponents=={0}, that indicates a first derivative with respective to component 0. If derivComponents=={0, 0, 0}, that indicates a third derivative with respective to component 0. If derivComponents=={4, 7}, that indicates a partial second derivative with respect to components 4 and 7.

Parameters:
derivComponents The input components with respect to which the derivative should be taken. Its size must be less than or equal to the value returned by getMaxDerivativeOrder().
x The Vector of input arguments. Its size must equal the value returned by getArgumentSize().
Returns:
The value of the selected derivative, which is of type T.

Implements Function_< T >.

References VectorBase< ELT >::size(), and Array_< T, X >::size().

T calcValue ( const Vector x  )  const [inline, virtual]

Calculate the value of this function at a particular point.

Parameters:
x the Vector of input arguments. Its size must equal the value returned by getArgumentSize().

Implements Function_< T >.

References VectorBase< ELT >::size().

virtual int getArgumentSize (  )  const [inline, virtual]

Get the number of components expected in the input vector.

Implements Function_< T >.

int getMaxDerivativeOrder (  )  const [inline, virtual]

Get the maximum derivative order this Function_ object can calculate.

Implements Function_< T >.

References SimTK::max().


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

Generated on Thu Aug 12 16:38:17 2010 for SimTKcore by  doxygen 1.6.1