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

# Polynomial

Method Summary
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} 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

{Number} coefficient
{Number} 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));```

#### 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

{Number} startValue
{Number} error
{Number} iterations

Returns

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

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

{Number} x

Returns

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

{Number} x

Returns

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} 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

{Number} coefficient
{Number} 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();