Child pages
  • Polynomial

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}void{td}{td}[#addPolynomial]\(polynomial)
Adds another polynomial to this polynomial.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#addTerm]\(coefficient, exponent)
Adds a term to this polynomial.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#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.{td}{tr}{tbody}{tbody}{tr}{td}[Polynomial]{td}{td}[#getDerivative]\()
Returns a polynomial that holds the derivative of this polynomial.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getDerivativeValue]\(x)
Returns the value of the derivative of this polynomial in a certain point.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getValue]\(x)
Returns the value of this polynomial in a certain point.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#multiplyByPolynomial]\(polynomial)
Multiplies this polynomial with another polynomial.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#multiplyByTerm]\(coefficient, exponent)
Multiples this polynomial with a term.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setToZero]\()
Sets this polynomial to zero.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addPolynomial|class=node}{tr:id=name}{td}h6.addPolynomial{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}addPolynomial{span}{span:id=iets|style=float: left;}\(polynomial){span}{td}{tr}{tr:id=des}{td}Adds another polynomial to this polynomial.{td}{tr}{tr:id=snc}{td}*Since*\\ Replace with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\polynomial
{td}{tr}{tr:id=ret}{td}*Returns*\\void{td}{tr}{tr:id=seesam}{td}*Also seeSample*\\{div:class=sIndent}{div}{td}{tr}{tr:id=link}{td}*External links*\\{div:class=sIndent}{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// (x+1) + 2*(x+1)code:language=javascript}
// (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.addTerm(1, 1);
	base.addTerm(1, 0);
	base.multiplyByTerm(1, i);
	base.multiplyByTerm(i + 1, 0);
	eq.addPolynomial(base);
}
application.output(eq.getValue(2));
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addTerm|class=node}{tr:id=name}{td}h6.addTerm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}addTerm{span}{span:id=iets|style=float: left;}\(coefficient, exponent){span}{td}{tr}{tr:id=des}{td}Adds a term to this polynomial.{td}{tr}{tr:id=sncprs}{td}*SinceParameters*\\coefficient
Replaceexponent
with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\coefficient
exponent
{td}{tr}{tr:id=retret}{td}*Returns*\\void{td}{tr}{tr:id=seesam}{td}*Also seeSample*\\{div:class=sIndent}{div}{td}{tr}{tr:id=link}{td}*External links*\\{div:class=sIndent}{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// 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.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=findRoot|class=node}{tr:id=name}{td}h6.findRoot{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}findRoot{span}{span:id=iets|style=float: left;}\(startValue, error, iterations){span}{td}{tr}{tr:id=des}{td}Finds a root of this polynomial using Newton's method, starting from an initial search value, and with a given precision.{td}{tr}{tr:id=sncprs}{td}*SinceParameters*\\startValue
Replaceerror
withiterations
version info{td}{tr}{tr:id=prsret}{td}*ParametersReturns*\\startValue
error
iterations
 [Number]{td}{tr}{tr:id=retsam}{td}*Returns*\\[Number]{td}{tr}{tr:id=see}{td}*Also see*Sample*\\{div:class=sIndent}{div}{td}{tr}{tr:id=link}{td}*External links*\\{div:class=sIndent}{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -x^2 code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// 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.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDerivative|class=node}{tr:id=name}{td}h6.getDerivative{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Polynomial]{span}{span:id=iets|style=float: left; font-weight: bold;}getDerivative{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}Returns a polynomial that holds the derivative of this polynomial.{td}{tr}{tr:id=sncret}{td}*SinceReturns*\\ Replace with version info[Polynomial]{td}{tr}{tr:id=prssam}{td}*ParametersSample*\\{tddiv:class=sIndent}{tr}{tr:id=ret}{td}*Returns*\\[Polynomial]{td}{tr}{tr:id=see}{td}*Also see*\\{div:class=sIndent}{div}{td}{tr}{tr:id=link}{td}*External links*\\{div:class=sIndent}{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// 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.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDerivativeValue|class=node}{tr:id=name}{td}h6.getDerivativeValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getDerivativeValue{span}{span:id=iets|style=float: left;}\(x){span rd);
application.output("Min/max value: " + eq.getValue(rd));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
{code}{div}{td}{tr}{tr:id=desclass=lastDetailRow}{td}{td}Returns the value of the derivative of this polynomial in a certain point.{td}{tr{tr}{tbody}{tbody:id=getDerivativeValue|class=node}{tr:id=sncname}{td}*Since*\\ Replace with version infoh6.getDerivativeValue{td}{tr}{tr:id=prssig}{td}*Parameters*\\x
{td}{tr}{tr:id=ret}{td}*Returns*\\[Number]}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getDerivativeValue{span}{span:id=iets|style=float: left;}\(x){span}{td}{tr}{tr:id=seedes}{td}*Also see*\\{div:class=sIndent}{div}Returns the value of the derivative of this polynomial in a certain point.{td}{tr}{tr:id=linkprs}{td}*External linksParameters*\\{div:class=sIndent}{div}x
{td}{tr}{tr:id=samret}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// 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))Returns*\\ [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// Find the minimum/maximumroots pointof bythe zeroingequation.
ther1 first= derivativeeq.
var deriv = eq.getDerivative(findRoot(100, 1E-5, 1000);
rdr2 = deriveq.findRoot(0-100, 1E-5, 1000);
application.output("Min/max point: " + rdeq(" + r1 + ")=" + eq.getValue(r1));
application.output("eq("Min/max value: + r2 + ")=" + eq.getValue(rdr2));
if (deriv.getDerivativeValue(rd) < 0) application.output("Max point.");
else application.output("Min point.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValue|class=node}{tr:id=name}{td}h6.getValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getValue{span}{span:id=iets|style=float: left;}\(x){span}{td}{tr}{tr:id=des}{td}Returns the value of this polynomial in a certain point.
// 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.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValue|class=node}{tr:id=name}{td}h6.getValue{td}{tr}{tr:id=sncsig}{td}*Since*\\ Replace with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\x
{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getValue{span}{span:id=iets|style=float: left;}\(x){span}{td}{tr}{tr:id=retdes}{td}*Returns*\\[Number]Returns the value of this polynomial in a certain point.{td}{tr}{tr:id=seeprs}{td}*Also seeParameters*\\{div:class=sIndent}{div}x
{td}{tr}{tr:id=linkret}{td}*External linksReturns*\\{div:class=sIndent}{div} [Number]{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation -x^2 + 4x + 0.6 = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(-1, 2);
eq.addTerm(4, 1);
eq.addTerm(0.6, 0);
// 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.");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=multiplyByPolynomial|class=node}{tr:id=name}{td}h6.multiplyByPolynomial{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}multiplyByPolynomial{span}{span:id=iets|style=float: left;}\(polynomial){span}{td}{tr}{tr:id=des}{td}Multiplies this polynomial with another polynomial.{td}{tr}{tr:id=snc}{td}*Since*\\ Replace with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\polynomial
{td}{tr}{tr:id=ret}{td}*Returns*\\void{td}{tr}{tr:id=seeprs}{td}*Also seeParameters*\\{div:class=sIndent}{div}{polynomial
{td}{tr}{tr:id=linkret}{td}*External linksReturns*\\{div:class=sIndent}{div}{void{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// Model the quadratic equation (x+1)*(x+2) = 0
var eq = plugins.amortization.newPolynomial();
eq.addTerm(1, 1);
eq.addTerm(1, 0);
var eq2 = plugins.amortization.newPolynomial();
eq2.addTerm(1, 1);
eq2.addTerm(2, 0);
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));
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=multiplyByTerm|class=node}{tr:id=name}{td}h6.multiplyByTerm{code}{div}{td}{tr}{tr:id=sigclass=lastDetailRow}{td}{td}{span:style=float: left; margin-right: 5px;}void{span}{spantr}{tbody}{tbody:id=ietsmultiplyByTerm|style=float: left; font-weight: bold;}multiplyByTerm{span}{span:id=iets|style=float: left;}\(coefficient, exponent){span}class=node}{tr:id=name}{td}h6.multiplyByTerm{td}{tr}{tr:id=dessig}{td}Multiples this polynomial with a term.{td}{tr}{tr:id=snc}{td}*Since*\\ Replace with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\coefficient
exponent
{td}{tr}{tr:id=ret}{td}*Returns*\\void{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}multiplyByTerm{span}{span:id=iets|style=float: left;}\(coefficient, exponent){span}{td}{tr}{tr:id=seedes}{td}*Also see*\\{div:class=sIndent}{div}Multiples this polynomial with a term.{td}{tr}{tr:id=linkprs}{td}*External linksParameters*\\{div:class=sIndent}{div}coefficient
exponent
{td}{tr}{tr:id=ret}{td}*Returns*\\void{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
// (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.addTerm(1, 1);
	base.addTerm(1, 0);
	base.multiplyByTerm(1, i);
	base.multiplyByTerm(i + 1, 0);
	eq.addPolynomial(base);
}
application.output(eq.getValue(2));
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setToZero|class=node}{tr:id=name}{td}h6.setToZero}{div}{td}{tr}{tr:idclass=siglastDetailRow}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setToZero{span}{span:id=iets|style=float: left;}\(){span}{td}{trtd}{tr}{tbody}{tbody:id=setToZero|class=node}{tr:id=desname}{td}Sets this polynomial to zero.h6.setToZero{td}{tr}{tr:id=sncsig}{td}*Since*\\ Replace with version info{td}{tr}{tr:id=prs}{td}*Parameters*\\{td}{tr}{tr:id=ret}{td}*Returns*\\void{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setToZero{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=seedes}{td}*Also see*\\{div:class=sIndent}{div}Sets this polynomial to zero.{td}{tr}{tr:id=linkret}{td}*External linksReturns*\\{div:class=sIndent}{div}void{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var eq = plugins.amortization.newPolynomial();
eq.addTerm(2, 3);
application.output(eq.getValue(1.1));
eq.setToZero();
application.output(eq.getValue(1.1));
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}