##### Child pages
• Polynomial
Go to start of banner

# Polynomial

Method Summery
Adds another polynomial to this polynomial.
Adds a term to this polynomial.
Number #findRoot(startValue, error, iterations)
Finds a root of this polynomial using Newton's method, starting from an initial search value, and with a given precision.
Polynomial #getDerivative()
Returns a polynomial that holds the derivative of this polynomial.
Number #getDerivativeValue(x)
Returns the value of the derivative of this polynomial in a certain point.
Number #getValue(x)
Returns the value of this polynomial in a certain point.
void #multiplyByPolynomial(polynomial)
Multiplies this polynomial with another polynomial.
void #multiplyByTerm(coefficient, exponent)
Multiples this polynomial with a term.
void #setToZero()
Sets this polynomial to zero.

Method Details

Adds another polynomial to this polynomial.
Parameters
polynomial
Returns
void
Sample
```// (x+1) + 2*(x+1)*x + 3*(x+1)*x^2 + 4*(x+1)*x^3
var eq = plugins.amortization.newPolynomial();
for (var i = 0; i < 4; i++)
{
var base = plugins.amortization.newPolynomial();
base.multiplyByTerm(1, i);
base.multiplyByTerm(i + 1, 0);
}
application.output(eq.getValue(2));
```

Adds a term to this polynomial.
Parameters
coefficient
exponent
Returns
void
Sample
```// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
// Find the minimum/maximum point by zeroing the first derivative.
var deriv = eq.getDerivative();
rd = deriv.findRoot(0, 1E-5, 1000);
application.output("Min/max point: " + rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
```
###### findRoot

Number findRoot (startValue, error, iterations)

Finds a root of this polynomial using Newton's method, starting from an initial search value, and with a given precision.
Parameters
startValue
error
iterations
Returns
Number
Sample
```// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
// Find the minimum/maximum point by zeroing the first derivative.
var deriv = eq.getDerivative();
rd = deriv.findRoot(0, 1E-5, 1000);
application.output("Min/max point: " + rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
```
###### getDerivative

Polynomial getDerivative ()

Returns a polynomial that holds the derivative of this polynomial.
Returns
Polynomial
Sample
```// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
// Find the minimum/maximum point by zeroing the first derivative.
var deriv = eq.getDerivative();
rd = deriv.findRoot(0, 1E-5, 1000);
application.output("Min/max point: " + rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
```
###### getDerivativeValue

Number getDerivativeValue (x)

Returns the value of the derivative of this polynomial in a certain point.
Parameters
x
Returns
Number
Sample
```// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
// Find the minimum/maximum point by zeroing the first derivative.
var deriv = eq.getDerivative();
rd = deriv.findRoot(0, 1E-5, 1000);
application.output("Min/max point: " + rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
```
###### getValue

Number getValue (x)

Returns the value of this polynomial in a certain point.
Parameters
x
Returns
Number
Sample
```// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
// Find the minimum/maximum point by zeroing the first derivative.
var deriv = eq.getDerivative();
rd = deriv.findRoot(0, 1E-5, 1000);
application.output("Min/max point: " + rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
```
###### multiplyByPolynomial

void multiplyByPolynomial (polynomial)

Multiplies this polynomial with another polynomial.
Parameters
polynomial
Returns
void
Sample
```// Model the quadratic equation (x+1)*(x+2) = 0
var eq = plugins.amortization.newPolynomial();
var eq2 = plugins.amortization.newPolynomial();
eq.multiplyByPolynomial(eq2);
// Find the roots of the equation.
r1 = eq.findRoot(100, 1E-5, 1000);
r2 = eq.findRoot(-100, 1E-5, 1000);
application.output("eq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq(" + r2 + ")=" + eq.getValue(r2));
```
###### multiplyByTerm

void multiplyByTerm (coefficient, exponent)

Multiples this polynomial with a term.
Parameters
coefficient
exponent
Returns
void
Sample
```// (x+1) + 2*(x+1)*x + 3*(x+1)*x^2 + 4*(x+1)*x^3
var eq = plugins.amortization.newPolynomial();
for (var i = 0; i < 4; i++)
{
var base = plugins.amortization.newPolynomial();
base.multiplyByTerm(1, i);
base.multiplyByTerm(i + 1, 0);
}
application.output(eq.getValue(2));
```
###### setToZero

void setToZero ()

Sets this polynomial to zero.
Returns
void
Sample
```var eq = plugins.amortization.newPolynomial();