public final class SMath
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static double |
EPSILON
La constante EPSILON représentante un nombre très petit, mais non nul.
|
static double |
INFINITY
La constante INFINITY représente un nombre positif égale à l'infini.
|
static double |
NEGATIVE_EPSILON
La constante NEGATIVE_EPSILON représentante un nombre très petit, mais non nul qui est negatif.
|
static double |
ONE_MINUS_EPSILON
La constante ONE_MINUS_EPSILON représente une constant égale à 1 - EPSILON ce qui correspond à un nombre légèrement inférieur à 1.
|
static double |
ONE_PLUS_EPSILON
La constante ONE_PLUS_EPSILON représente une constante égale à 1 + EPSILON ce qui correspond à un nombre légèrement supérieur à 1.
|
Constructor and Description |
---|
SMath() |
Modifier and Type | Method and Description |
---|---|
static double[] |
cubicRealRoot(double A,
double B,
double C,
double D)
Méthode permettant d'évaluer les racines réelles d'un polynôme de degré '3' de la forme
Ax^3 + Bx^2 + Cx + D = 0.
|
static double[] |
cubicRealRootTMP(double A,
double B,
double C,
double D)
Méthode permettant d'évaluer les racines réelles d'un polynôme de degré '3' de la forme
Ax^3 + Bx^2 + Cx + D = 0.
|
static double |
linearInterpolation(double v0,
double v1,
double t)
Méthode qui effectue le calcul de l'interpolation linéaire d'une valeur numérique.
|
static double[] |
linearRealRoot(double A,
double B)
Méthode permettant d'évaluer la racine réelle d'un polynôme de degré '1' de la forme
Ax + B = 0.
|
static boolean |
nearlyEquals(double a,
double b)
Méthode pour déterminer si deux nombres de type double sont relativement égaux.
|
static boolean |
nearlyEquals(double a,
double b,
double epsilon)
Méthode pour déterminer si deux nombres de type double sont relativement égaux.
|
static double[] |
quadricRealRoot(double A,
double B,
double C)
Méthode permettant d'évaluer les racines réelles d'un polynôme de degré '2' de la forme
Ax^2 + Bx + C = 0.
|
static double[] |
quarticRealRoot(double A,
double B,
double C,
double D,
double E)
Méthode permettant d'évaluer les racines réelles d'un polynôme de degré '4' de la forme
Ax^4 + Bx^3 + Cx^2 + Dx + E = 0.
|
static double |
reverseLinearInterpolation(double v,
double v0,
double v1)
Méthode qui effectue le calcul inverse de l'interpolation linéaire d'une valeur numérique.
|
static double |
strategicArraySum(double[] array)
...
|
public static double EPSILON
La constante EPSILON représentante un nombre très petit, mais non nul. Ce chiffre peut être utilisé pour comparer une valeur de type double avec le chiffre zéro. Puisqu'un double égale à zéro est difficile à obtenir numériquement après un calcul (sauf si l'on multiplie par zéro), il est préférable de comparer un "pseudo zéro" avec cette constante.
Avec une valeur de EPSILON = 1e-10, cette valeur permet de comparer adéquatement des nombres autour de '1' avec suffisamment de chiffres significatifs.
public static double NEGATIVE_EPSILON
public static double ONE_PLUS_EPSILON
public static double ONE_MINUS_EPSILON
public static double INFINITY
Double
public static boolean nearlyEquals(double a, double b)
Cependant, si les deux chiffres sont inférieurs à EPSILON, ils seront considérés comme égaux.
a
- - Le 1ier nombre à comparer.b
- - Le 2ième nombre à comparer.public static boolean nearlyEquals(double a, double b, double epsilon)
Cenpendant, si les deux chiffres sont inférieurs à EPSILON, ils seront considérés comme égaux.
a
- - Le 1ier nombre à comparer.b
- - Le 2ième nombre à comparer.epsilon
- - La précision acceptable.public static double[] linearRealRoot(double A, double B)
Un polynôme de degré '1' possède au maximum une racine réelle.
A
- - Le coefficient devant le terme de puissance '1' (x).B
- - Le coefficient devant le terme de puissance '0' (1).public static double[] quadricRealRoot(double A, double B, double C)
Un polynôme de degré '2' possède au maximum deux racines réelles.
A
- - Le coefficient devant le terme de puissance '2' (x^2).B
- - Le coefficient devant le terme de puissance '1' (x).C
- - Le coefficient devant le terme de puissance '0' (1).public static double[] cubicRealRootTMP(double A, double B, double C, double D)
Un polynôme de degré '3' possède au maximum trois racines réelles.
A
- - Le coefficient devant le terme de puissance '3' (x^3).B
- - Le coefficient devant le terme de puissance '2' (x^2).C
- - Le coefficient devant le terme de puissance '1' (x).D
- - Le coefficient devant le terme de puissance '0' (1).public static double[] cubicRealRoot(double A, double B, double C, double D)
Un polynôme de degré '3' possède au maximum trois racines réelles.
A
- - Le coefficient devant le terme de puissance '3' (x^3).B
- - Le coefficient devant le terme de puissance '2' (x^2).C
- - Le coefficient devant le terme de puissance '1' (x).D
- - Le coefficient devant le terme de puissance '0' (1).public static double[] quarticRealRoot(double A, double B, double C, double D, double E)
Un polynôme de degré '4' possède au maximum quatre racines réelles.
A
- - Le coefficient devant le terme de puissance '4' (x^4).B
- - Le coefficient devant le terme de puissance '3' (x^3).C
- - Le coefficient devant le terme de puissance '2' (x^2).D
- - Le coefficient devant le terme de puissance '1' (x).E
- - Le coefficient devant le terme de puissance '0' (1).public static double reverseLinearInterpolation(double v, double v0, double v1)
v
- La valeur interpolée dont la valeur de t doit être calculée.v0
- La valeur de référence pondérée par 1 - t.v1
- La valeur de référence pondérée par le facteur t.public static double linearInterpolation(double v0, double v1, double t) throws SRuntimeException
v0
- La valeur de référence pondérée par 1 - t.v1
- La valeur de référence pondérée par le facteur t.t
- Le paramètre de pondération.SRuntimeException
- Si la contrainte sur t n'est pas respectée (0 <= t <= 1).public static double strategicArraySum(double[] array)
array
-