Isis 3.0 Developer's Reference (API) Home

# Isis::PolynomialUnivariate Class Reference [Math]

Nth degree Polynomial with one variable. More...

`#include <PolynomialUnivariate.h>`

Inherits Isis::Basis1VariableFunction.

List of all members.

## Public Member Functions

PolynomialUnivariate (int degree)
Create a PolynomialUnivariate object.
~PolynomialUnivariate ()
Destroys the PolynomialUnivariate object.
void Expand (const std::vector< double > &vars)
This is the the overriding virtual function that provides the expansion of the two input variables into the polynomial equation.
double DerivativeVar (const double value)
This will take the Derivative with respect to the variable and evaluate at given value.
double DerivativeCoef (const double value, const int coefIndex)
Evaluate the derivative of the polynomial defined by the given coefficients with respect to the coefficient at the given index, at the current value.
void SetCoefficients (const std::vector< double > &coefs)
Set the coefficients for the equation.
double Evaluate (const std::vector< double > &vars)
Compute the equation using the input variables.
int Coefficients () const
Returns the number of coefficients for the equation.
int Variables () const
Returns the number of variables in the equation.
QString Name () const
Returns the name of the equation.
double Term (int c) const
Returns the cth term.
double Coefficient (int i) const
Returns the ith coefficient.

## Protected Attributes

QString p_name
The name of the equation. Call it by using Name().
int p_numVars
The number of variables in the equation. Call it by using Variables().
int p_numCoefs
The number of coefficients in the equation.
std::vector< double > p_coefs
A vector of the coefficients in the equation.
std::vector< double > p_terms
A vector of the terms in the equation.

## Detailed Description

Nth degree Polynomial with one variable.

This is a derived class from Basis1VariableFunction which provides the capabilities of a polynomial equation in one variable with degree n, where n is specified during the object construction. For example, Degree = 1 z = a + b*x Degree = 2 z = a + b*x + c*x**2 Degree = 3 z = a + b*x + c*x**2 + d*x**3 In general the number of coefficients will be degree + 1.

## Constructor & Destructor Documentation

 Isis::PolynomialUnivariate::PolynomialUnivariate ( int degree )

Create a PolynomialUnivariate object.

Parameters:
 degree The order/degree of the polynomial
 Isis::PolynomialUnivariate::~PolynomialUnivariate ( ) ` [inline]`

Destroys the PolynomialUnivariate object.

## Member Function Documentation

 double Isis::BasisFunction::Coefficient ( int i ) const` [inline, inherited]`

Returns the ith coefficient.

Parameters:
 i The index for the desired coefficient.
Returns:
The ith coefficient

References Isis::BasisFunction::p_coefs.

 int Isis::BasisFunction::Coefficients ( ) const` [inline, inherited]`

Returns the number of coefficients for the equation.

Returns:
The number of coefficients.

References Isis::BasisFunction::p_numCoefs.

 double Isis::PolynomialUnivariate::DerivativeCoef ( const double value, const int coefIndex ) ` [virtual]`

Evaluate the derivative of the polynomial defined by the given coefficients with respect to the coefficient at the given index, at the current value.

Parameters:
 [in] value (const double) value at which to evaluate derivative [in] coefIndex (const int) The index of the coefficient to differentiate with respect to
Returns:
(double) The derivative evaluated at given value

Implements Isis::Basis1VariableFunction.

 double Isis::PolynomialUnivariate::DerivativeVar ( const double value ) ` [virtual]`

This will take the Derivative with respect to the variable and evaluate at given value.

Parameters:
 [in] value (const double) value at which to evaluate derivative
History:
2008-01-09 Tracie Sucharski, Original Version

Implements Isis::Basis1VariableFunction.

 double Isis::BasisFunction::Evaluate ( const std::vector< double > & vars ) ` [inherited]`

Compute the equation using the input variables.

Parameters:
 vars A vector of double values to use for the equation. After setting the coefficients, this can be invoked many times to compute output values given input values.
Returns:
The output value.
 void Isis::PolynomialUnivariate::Expand ( const std::vector< double > & vars ) ` [virtual]`

This is the the overriding virtual function that provides the expansion of the two input variables into the polynomial equation.

Parameters:
 vars A vector of double values to use for the expansion.

Reimplemented from Isis::BasisFunction.

References Isis::BasisFunction::p_terms.

 QString Isis::BasisFunction::Name ( ) const` [inline, inherited]`

Returns the name of the equation.

Returns:
The name of the equation.

References Isis::BasisFunction::p_name.

 void Isis::BasisFunction::SetCoefficients ( const std::vector< double > & coefs ) ` [inherited]`

Set the coefficients for the equation.

Parameters:
 coefs A vector of coefficients for the equation.
 double Isis::BasisFunction::Term ( int c ) const` [inline, inherited]`

Returns the cth term.

This is only valid after a Evalute/Expand has been invoked. It represents the expansion of the variables into the ith term. For example,

would return x*y for the 3rd term (zero-based)

Parameters:
 c The index for the desired coefficient.
Returns:
The cth term.

References Isis::BasisFunction::p_terms.

 int Isis::BasisFunction::Variables ( ) const` [inline, inherited]`

Returns the number of variables in the equation.

Returns:
The number of variables.

References Isis::BasisFunction::p_numVars.

## Member Data Documentation

 std::vector Isis::BasisFunction::p_coefs` [protected, inherited]`

A vector of the coefficients in the equation.

Call it by using Coefficient()

 QString Isis::BasisFunction::p_name` [protected, inherited]`

The name of the equation. Call it by using Name().

Referenced by Isis::BasisFunction::BasisFunction(), and Isis::BasisFunction::Name().

 int Isis::BasisFunction::p_numCoefs` [protected, inherited]`

The number of coefficients in the equation.

Call it by using Coefficients()

 int Isis::BasisFunction::p_numVars` [protected, inherited]`

The number of variables in the equation. Call it by using Variables().

 std::vector Isis::BasisFunction::p_terms` [protected, inherited]`

A vector of the terms in the equation.

Call it by using Term()

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