Vespucci  1.0.0
nonlinleastsq.h
Go to the documentation of this file.
1 /*******************************************************************************
2  Copyright (C) 2014-2016 Wright State University - All Rights Reserved
3  Daniel P. Foose - Maintainer/Lead Developer
4 
5  This file is part of Vespucci.
6 
7  Vespucci is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  Vespucci is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with Vespucci. If not, see <http://www.gnu.org/licenses/>.
19 *******************************************************************************/
20 #ifndef NONLINLEASTSQ_H
21 #define NONLINLEASTSQ_H
22 #include <mlpack/core.hpp>
23 #include "Global/libvespucci.h"
24 extern "C"
25 {
26  double GaussianFn(double t, const double *p);
27  double LorentzianFn(double t, const double *p);
28  double VoigtFn(double t, const double *p);
29 }
30 namespace Vespucci{
31  namespace Math{
32  namespace NonLinLeastSq{
33  VESPUCCI_EXPORT arma::vec EstimateGaussParams(arma::vec x, arma::vec y);
34  VESPUCCI_EXPORT arma::vec EstimateLorentzParams(arma::vec x, arma::vec y);
35  VESPUCCI_EXPORT arma::vec FitGaussian(arma::vec x,
36  arma::vec y);
37  VESPUCCI_EXPORT arma::vec FitLorentzian(arma::vec x,
38  arma::vec y);
39  VESPUCCI_EXPORT arma::vec FitVoigt(arma::vec x,
40  arma::vec y);
41  }
42  }
43 }
44 
45 
46 #endif // NONLINLEASTSQ_H
VESPUCCI_EXPORT arma::vec FitLorentzian(arma::vec x, arma::vec y)
VESPUCCI_EXPORT arma::vec EstimateGaussParams(arma::vec x, arma::vec y)
Vespucci::Math::NonLinLeastSq::EstimateGaussParams.
double VoigtFn(double t, const double *p)
VoigtFn.
double GaussianFn(double t, const double *p)
Gaussian.
VESPUCCI_EXPORT arma::vec EstimateLorentzParams(arma::vec x, arma::vec y)
VESPUCCI_EXPORT arma::vec FitGaussian(arma::vec x, arma::vec y)
Vespucci::Math::NonLinLeastSq::FitGaussian.
#define VESPUCCI_EXPORT
Definition: libvespucci.h:7
A namespace for "global" functions, including math functions.
double LorentzianFn(double t, const double *p)
Lorentzian.
VESPUCCI_EXPORT arma::vec FitVoigt(arma::vec x, arma::vec y)