Class Cubic
- java.lang.Object
-
- edu.rit.numeric.Cubic
-
public class Cubic extends java.lang.ObjectClass Cubic solves for the real roots of a cubic equation with real coefficients. The cubic equation is of the formax3 + bx2 + cx + d = 0
To solve a cubic equation, construct an instance of class Cubic; call the Cubic object's solve() method, passing in the coefficients a, b, c, and d; and obtain the roots from the Cubic object's fields. The number of (real) roots, either 1 or 3, is stored in field nRoots. If there is one root, it is stored in field x1, and fields x2 and x3 are set to NaN. If there are three roots, they are stored in fields x1, x2, and x3 in descending order.
The same Cubic object may be used to solve several cubic equations. Each time the solve() method is called, the solution is stored in the Cubic object's fields.
The formulas for the roots of a cubic equation come from:
E. Weisstein. "Cubic formula." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/CubicFormula.html
-
-
Field Summary
Fields Modifier and Type Field and Description intnRootsThe number of real roots.doublex1The first real root.doublex2The second real root.doublex3The third real root.
-
Constructor Summary
Constructors Constructor and Description Cubic()Construct a new Cubic object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static voidmain(java.lang.String[] args)Unit test main program.voidsolve(double a, double b, double c, double d)Solve the cubic equation with the given coefficients.
-
-
-
Field Detail
-
nRoots
public int nRoots
The number of real roots.
-
x1
public double x1
The first real root.
-
x2
public double x2
The second real root.
-
x3
public double x3
The third real root.
-
-
Method Detail
-
solve
public void solve(double a, double b, double c, double d)Solve the cubic equation with the given coefficients. The results are stored in this Cubic object's fields.- Parameters:
a- Coefficient of x3.b- Coefficient of x2.c- Coefficient of x.d- Constant coefficient.- Throws:
DomainException- (unchecked exception) Thrown if a is 0; in other words, the coefficients do not represent a cubic equation.
-
main
public static void main(java.lang.String[] args) throws java.lang.ExceptionUnit test main program.Usage: java edu.rit.numeric.Cubic a b c d
- Throws:
java.lang.Exception
-
-
DMelt 3.0 © DataMelt by jWork.ORG