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}
{sub-section:description|text=}{sub-section}\\ 

{table:class=servoy sSummery}{colgroup}{column: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:class=servoy sDetail}{colgroup}{column:width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A}{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}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_des|text=|trigger=button}{sub-section}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_des|trigger=none|class=sIndent}Adds another polynomial to this polynomial.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_prs|trigger=none}polynomial
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_ret|text=|trigger=button}{sub-section}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_see|text=|trigger=button}{sub-section}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_see|text=|trigger=button}{sub-section}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_sam|text=|trigger=button}{sub-section}{sub-section:34D5CF587916F7FE-19E1E038-4A8742EA-ABDA94A9-CEFCBB6495FA69A5C289B54A_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D}{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}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_des|text=|trigger=button}{sub-section}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_des|trigger=none|class=sIndent}Adds a term to this polynomial.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_prs|trigger=none}coefficient
exponent
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_ret|text=|trigger=button}{sub-section}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_see|text=|trigger=button}{sub-section}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_see|text=|trigger=button}{sub-section}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_sam|text=|trigger=button}{sub-section}{sub-section:DD0164FB2C30FFD7-7276FCB9-4F3E4EFC-A61AB265-E9635A34ACADC418C7C6775D_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21}{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}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_des|text=|trigger=button}{sub-section}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_des|trigger=none|class=sIndent}Finds a root of this polynomial using Newton's method, starting from an initial search value, and with a given precision.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_prs|trigger=none}startValue
error
iterations
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_ret|text=|trigger=button}{sub-section}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_see|text=|trigger=button}{sub-section}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_see|text=|trigger=button}{sub-section}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_sam|text=|trigger=button}{sub-section}{sub-section:16AE07339A0B9BB9-BD1236B5-43FE4FBA-A5458EC0-CD339FA4B8CC9ED85FC0AE21_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4}{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}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_des|text=|trigger=button}{sub-section}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_des|trigger=none|class=sIndent}Returns a polynomial that holds the derivative of this polynomial.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_ret|text=|trigger=button}{sub-section}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_ret|trigger=none|class=sIndent}[Polynomial]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_see|text=|trigger=button}{sub-section}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_see|text=|trigger=button}{sub-section}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_sam|text=|trigger=button}{sub-section}{sub-section:9D614C6DB2AF0C1D-2D19BBE2-43214FD6-B60189D9-71184453F65AFA71165951F4_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B}{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}{td}{tr}{tr:id=des}{td}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_des|text=|trigger=button}{sub-section}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_des|trigger=none|class=sIndent}Returns the value of the derivative of this polynomial in a certain point.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_prs|trigger=none}x
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_ret|text=|trigger=button}{sub-section}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_see|text=|trigger=button}{sub-section}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_see|text=|trigger=button}{sub-section}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_sam|text=|trigger=button}{sub-section}{sub-section:DDB8D17D4964EDCA-6F7B240F-422B4EEA-B21BBBBE-841F3CF4454D53E9F29F108B_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4}{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}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_des|text=|trigger=button}{sub-section}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_des|trigger=none|class=sIndent}Returns the value of this polynomial in a certain point.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_prs|trigger=none}x
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_ret|text=|trigger=button}{sub-section}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_see|text=|trigger=button}{sub-section}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_see|text=|trigger=button}{sub-section}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_sam|text=|trigger=button}{sub-section}{sub-section:BBD3993CBA68A419-F8E46B76-4C7C4578-965A86DB-13322CE57EE0FA341D57FAD4_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F}{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}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_des|text=|trigger=button}{sub-section}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_des|trigger=none|class=sIndent}Multiplies this polynomial with another polynomial.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_prs|trigger=none}polynomial
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_ret|text=|trigger=button}{sub-section}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_see|text=|trigger=button}{sub-section}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_see|text=|trigger=button}{sub-section}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_sam|text=|trigger=button}{sub-section}{sub-section:3CC9A3E268ACC1E0-A1600F25-4E244BA6-8A5C9C94-DF7BFCFC3985A11F6BF4762F_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999}{tr:id=name}{td}h6.multiplyByTerm{td}{tr}{tr:id=sig}{td}{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=des}{td}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_des|text=|trigger=button}{sub-section}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_des|trigger=none|class=sIndent}Multiples this polynomial with a term.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_prs|trigger=none}coefficient
exponent
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_ret|text=|trigger=button}{sub-section}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_see|text=|trigger=button}{sub-section}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_see|text=|trigger=button}{sub-section}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_sam|text=|trigger=button}{sub-section}{sub-section:6B4D216C332F3635-709C0C80-47D94ED5-AC44A2E4-7A82E014997FA8BD54AD9999_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04}{tr:id=name}{td}h6.setToZero{td}{tr}{tr:id=sig}{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}{tr}{tr:id=des}{td}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_des|text=|trigger=button}{sub-section}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_des|trigger=none|class=sIndent}Sets this polynomial to zero.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_ret|text=|trigger=button}{sub-section}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_see|text=|trigger=button}{sub-section}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_see|text=|trigger=button}{sub-section}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_sam|text=|trigger=button}{sub-section}{sub-section:ACE5B2FBF1740518-FC3CDE99-4C8F4916-832FB042-E940F8F99A6CF0B6092B7C04_sam|class=sIndent|trigger=none}{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}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}