Package com.irurueta.navigation
Class Accuracy<A extends com.irurueta.geometry.Accuracy>
java.lang.Object
com.irurueta.navigation.Accuracy<A>
- Type Parameters:
A
- type of internal accuracy.
- Direct Known Subclasses:
Accuracy2D
,Accuracy3D
Base class representing the confidence of provided accuracy from a covariance matrix
expressed in the distance unit of such matrix.
This class contains utility methods to convert covariance matrices into geometric figures
with the requested confidence.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.units.Distance
Gets average accuracy among all directions.double
Gets average accuracy among all directions expressed in meters.double
Gets confidence of provided accuracy of estimated point or measure.com.irurueta.algebra.Matrix
Gets covariance matrix representing the accuracy of an estimated point or measure.com.irurueta.units.Distance
Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D).double
Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D) expressed in meters.int
Gets number of dimensions.com.irurueta.units.Distance
Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D).double
Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D) expressed in meters.double
Gets standard deviation factor to account for a given accuracy confidence.void
setConfidence
(double confidence) Sets confidence of provided accuracy of estimated point or measure.void
setCovarianceMatrix
(com.irurueta.algebra.Matrix covarianceMatrix) Sets covariance matrix representing the accuracy of an estimated point or measure.void
setStandardDeviationFactor
(double standardDeviationFactor) Sets standard deviation factor to account for a given accuracy confidence.
-
Field Details
-
internalAccuracy
Internal accuracy reference.
-
-
Constructor Details
-
Accuracy
protected Accuracy()Constructor. -
Accuracy
Accuracy(A internalAccuracy) Constructor.- Parameters:
internalAccuracy
- internal accuracy to be set.
-
-
Method Details
-
getCovarianceMatrix
public com.irurueta.algebra.Matrix getCovarianceMatrix()Gets covariance matrix representing the accuracy of an estimated point or measure.- Returns:
- covariance matrix representing the accuracy of an estimated point or measure.
-
setCovarianceMatrix
public void setCovarianceMatrix(com.irurueta.algebra.Matrix covarianceMatrix) throws com.irurueta.algebra.NonSymmetricPositiveDefiniteMatrixException Sets covariance matrix representing the accuracy of an estimated point or measure.- Parameters:
covarianceMatrix
- covariance matrix representing the accuracy of an estimated point or measure.- Throws:
IllegalArgumentException
- if provided matrix is not square (it must also be positive definite to be properly converted to a geometric figure - e.g. an ellipse or an ellipsoid).com.irurueta.algebra.NonSymmetricPositiveDefiniteMatrixException
- if provided matrix is not symmetric and positive definite.
-
getStandardDeviationFactor
public double getStandardDeviationFactor()Gets standard deviation factor to account for a given accuracy confidence. Typically, a factor of 2.0 will be used, which means that accuracy can be drawn as a geometric figure of size equal to 2 times the standard deviation. Assuming a Gaussian distribution this is equivalent to providing a 95.44% confidence on provided accuracy.- Returns:
- standard deviation factor.
-
setStandardDeviationFactor
public void setStandardDeviationFactor(double standardDeviationFactor) Sets standard deviation factor to account for a given accuracy confidence. Typically, a factor of 2.0 will be used, which means that accuracy can be drawn as a geometric figure of size equal to 2 times the standard deviation. Assuming a Gaussian distribution this is equivalent to providing a 95.44% confidence on provided accuracy.- Parameters:
standardDeviationFactor
- standard deviation factor to be set.- Throws:
IllegalArgumentException
- if provided value is zero or negative.
-
getConfidence
public double getConfidence()Gets confidence of provided accuracy of estimated point or measure. This is expressed as a value between 0 and 1, where 1 indicates a 100% confidence that the real point or measure is within provided accuracy.- Returns:
- confidence of provided accuracy of estimated point or measure.
-
setConfidence
public void setConfidence(double confidence) Sets confidence of provided accuracy of estimated point or measure. This is expressed as a value between 0 and 1, where 1 indicates a 100% confidence that the real point or measure is within provided accuracy.- Parameters:
confidence
- confidence of provided accuracy of estimated point or measure.- Throws:
IllegalArgumentException
- if provided value is not within 0 and 1.
-
getSmallestAccuracy
public com.irurueta.units.Distance getSmallestAccuracy()Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D). This value is represented by the smallest semi axis representing the ellipse or ellipsoid of accuracy.- Returns:
- smallest accuracy in any direction.
-
getSmallestAccuracyMeters
public double getSmallestAccuracyMeters()Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D) expressed in meters. This value is represented by the smallest semi axis representing the ellipse or ellipsoid of accuracy.- Returns:
- smallest accuracy in any direction expressed in meters.
-
getLargestAccuracy
public com.irurueta.units.Distance getLargestAccuracy()Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D). This value is represented by the largest semi axis representing the ellipse or ellipsoid of accuracy.- Returns:
- largest accuracy in any direction.
-
getLargestAccuracyMeters
public double getLargestAccuracyMeters()Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D) expressed in meters. This value is represented by the largest semi axis representing the ellipse or ellipsoid of accuracy.- Returns:
- largest accuracy in any direction expressed in meters.
-
getAverageAccuracy
public com.irurueta.units.Distance getAverageAccuracy()Gets average accuracy among all directions. This value is equal to the average value of all semi axes representing the ellipse or ellipsoid of accuracy.- Returns:
- average accuracy among all directions.
-
getAverageAccuracyMeters
public double getAverageAccuracyMeters()Gets average accuracy among all directions expressed in meters. This value is equal to the average value of all semi axes representing the ellipse or ellipsoid of accuracy.- Returns:
- average accuracy among all directions expressed in meters.
-
getNumberOfDimensions
public int getNumberOfDimensions()Gets number of dimensions. This is equal to 2 for 2D, and 3 for 3D.- Returns:
- number of dimensions.
-