Peakpvoigt2: Difference between revisions
Jump to navigation
Jump to search
imported>Jeremy (Importing text file) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
===Purpose=== | ===Purpose=== | ||
Outputs a pseudo-Voigt function, Jacobian, and Hessian for a given set of input parameters and axis. | Outputs a pseudo-Voigt function, Jacobian, and Hessian for a given set of input parameters and axis. | ||
===Synopsis=== | ===Synopsis=== | ||
: [y,y1,y2] = peakpvoigt2(x,ax); | : [y,y1,y2] = peakpvoigt2(x,ax); | ||
===Description=== | ===Description=== | ||
Given a 4-element vector of parameters (x) and a vector of independent variables e.g. a wavelength or frequency axis (ax), PEAKPVOIGT2 outputs a pseudo-voigt peak (y). If more than one output is requested, it also outputs the Jacobian (y1) and Hessian (y2). Derivatives are with respect to the parameters and are evaluated at (x). This function is called by PEAKFUNCTION. | Given a 4-element vector of parameters (x) and a vector of independent variables e.g. a wavelength or frequency axis (ax), PEAKPVOIGT2 outputs a pseudo-voigt peak (y). If more than one output is requested, it also outputs the Jacobian (y1) and Hessian (y2). Derivatives are with respect to the parameters and are evaluated at (x). This function is called by PEAKFUNCTION. | ||
==== | |||
====Inputs==== | |||
* '''x''' = 4 element vector with parameters | * '''x''' = 4 element vector with parameters | ||
* '''x(1)''' = coefficient , | * '''x(1)''' = coefficient , | ||
* '''x(2)''' = mean , | * '''x(2)''' = mean , | ||
* '''x(3)''' = spread , and | * '''x(3)''' = spread , and | ||
* '''x(4)''' = fraction Gaussian . | * '''x(4)''' = fraction Gaussian . | ||
* '''ax''' = vector of independent variables e.g. a wavelength or frequency axis with elements , . | * '''ax''' = vector of independent variables e.g. a wavelength or frequency axis with elements , . | ||
==== | |||
====Outputs==== | |||
* '''y''' = vector with the Lorentzian function, . | * '''y''' = vector with the Lorentzian function, . | ||
* '''y1''' = matrix of the Jacobian of evaluated at (x). | * '''y1''' = matrix of the Jacobian of evaluated at (x). | ||
* '''y2''' = matrix of the Hessian of evaluated at (x). | * '''y2''' = matrix of the Hessian of evaluated at (x). | ||
===Algorithm=== | ===Algorithm=== | ||
The function is | The function is | ||
* '''y''' = 1 by N vector with the pseudo-voigt function evaluated at (x) and given by | |||
z = p-x(2) | |||
y = x(1)*( x(4)*exp(-4*ln(2)*z.^2/x(3)^2) + (1-x(4))*x(3)^2./(x(3)^2+z.^2) ) | |||
===Examples=== | ===Examples=== | ||
:%Make a single known peak | :%Make a single known peak | ||
: ax = 0:0.1:100; | : ax = 0:0.1:100; | ||
: y = peakpvoigt2([2 51 8 0.5],ax) | : y = peakpvoigt2([2 51 8 0.5],ax) | ||
: plot(ax,y) | : plot(ax,y) | ||
===See Also=== | ===See Also=== | ||
[[peakfunction]], [[peakgaussian]], [[peaklorentzian]], [[peakpvoigt1]], [[peakstruct]] | [[peakfunction]], [[peakgaussian]], [[peaklorentzian]], [[peakpvoigt1]], [[peakstruct]] |
Latest revision as of 10:33, 23 May 2023
Purpose
Outputs a pseudo-Voigt function, Jacobian, and Hessian for a given set of input parameters and axis.
Synopsis
- [y,y1,y2] = peakpvoigt2(x,ax);
Description
Given a 4-element vector of parameters (x) and a vector of independent variables e.g. a wavelength or frequency axis (ax), PEAKPVOIGT2 outputs a pseudo-voigt peak (y). If more than one output is requested, it also outputs the Jacobian (y1) and Hessian (y2). Derivatives are with respect to the parameters and are evaluated at (x). This function is called by PEAKFUNCTION.
Inputs
- x = 4 element vector with parameters
- x(1) = coefficient ,
- x(2) = mean ,
- x(3) = spread , and
- x(4) = fraction Gaussian .
- ax = vector of independent variables e.g. a wavelength or frequency axis with elements , .
Outputs
- y = vector with the Lorentzian function, .
- y1 = matrix of the Jacobian of evaluated at (x).
- y2 = matrix of the Hessian of evaluated at (x).
Algorithm
The function is
- y = 1 by N vector with the pseudo-voigt function evaluated at (x) and given by
z = p-x(2) y = x(1)*( x(4)*exp(-4*ln(2)*z.^2/x(3)^2) + (1-x(4))*x(3)^2./(x(3)^2+z.^2) )
Examples
- %Make a single known peak
- ax = 0:0.1:100;
- y = peakpvoigt2([2 51 8 0.5],ax)
- plot(ax,y)
See Also
peakfunction, peakgaussian, peaklorentzian, peakpvoigt1, peakstruct