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:
  • Field Details

    • 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 Details

    • 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 Details

    • 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
    • calculateChiSq

      protected void calculateChiSq()
      Description copied from class: NLFittedFunction
      Calculates chi squared
      Specified by:
      calculateChiSq in class NLFittedFunction
    • calculateFittedY

      protected void calculateFittedY()
      Description copied from class: NLFittedFunction
      Calculates yDataFitted
      Specified by:
      calculateFittedY in class NLFittedFunction
    • 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: