Class FitLaplace


  • public class FitLaplace
    extends NLFittedFunction
    FitLaplace -fits an array of points to a normal curve, general from f = a*exp(Math.abs(x-mu)/beta) Will also perform thresholding techniques to determine useful data points for fitting
    Version:
    0.1
    Author:
    senseneyj
    See Also:
    NLConstrainedEngine
    • Field Detail

      • dataStart

        private int dataStart
        Location in xSeries where Gaussian data starts
      • dataEnd

        private int dataEnd
        Location in xSeries where Gaussian data ends
      • amp

        private double amp
        Amplitude parameter
      • mu

        private double mu
        Center parameter
      • beta

        private double beta
        Beta parameter
      • iters

        private int iters
    • Constructor Detail

      • FitLaplace

        public FitLaplace()
        FitLaplace - test constructor, builds and test function.
      • FitLaplace

        public FitLaplace​(int nPoints,
                          double[] xData,
                          double[] yData)
        FitLaplace.
        Parameters:
        nPoints - number of points in the function
        xData - DOCUMENT ME!
        yData - DOCUMENT ME!
      • FitLaplace

        public FitLaplace​(int nPoints,
                          float[] xData,
                          float[] yData)
        Constructs new fit laplace distribution.
        Parameters:
        nPoints - Number of points in the function
        xData - DOCUMENT ME!
        yData - DOCUMENT ME!
    • Method Detail

      • estimateInitial

        private void estimateInitial()
      • driver

        public void driver()
        Starts the analysis. For some reason a guess with the wrong sign for a2 will not converge. Therefore, try both sign and take the one with the lowest chi-squared value.
        Overrides:
        driver in class NLConstrainedEngine
      • displayResults

        public void displayResults()
        Display results of displaying exponential fitting parameters.
        Specified by:
        displayResults in class NLFittedFunction
      • fitToFunction

        public void fitToFunction​(double[] a,
                                  double[] residuals,
                                  double[][] covarMat)
        Description copied from class: NLConstrainedEngine
        fitToFunction communicates with 3 protected variables param, nPts, and ctrlMat ctrlMat is used as a wrapper for ctrl or lctrl. Evaluates the residuals or the Jacobian at a certain a[]
        Specified by:
        fitToFunction in class NLConstrainedEngine
        Parameters:
        a - DOCUMENT ME!
        residuals - DOCUMENT ME!
        covarMat - DOCUMENT ME!
      • testData

        private void testData()
        Test data to test fitting of gaussian.
      • laplace

        private double laplace​(double x)
        Gaussian evaluated at a point with given parameters
      • dLdA

        private double dLdA​(double x)
        Partial derivative of laplace dist with respect to A.
      • dLdmu

        private double dLdmu​(double x)
        Partial derivative of laplace dist with respect to mu.
      • dLdbeta

        private double dLdbeta​(double x)
        Partial derivative of laplace dist with respect to beta.
      • generateJacobian

        protected Jama.Matrix generateJacobian()
        Jacobian used for non-linear least squares fitting.
      • generateResiduals

        protected Jama.Matrix generateResiduals()
        Description copied from class: NLFittedFunction
        Calculates the residuals for a given function, not implemented since some functions might prefer to only use a subset of data points, or not use yDataFitted if working during an iteration
        Specified by:
        generateResiduals in class NLFittedFunction
        Returns: