The LAMP Application

Generated by IDLdoc

single page | use frames     summary     class     fields     routine details     file attributes

lamp_mac/DIF/

gauss_poly.pro


NAME: GAUSS_FUNCT PURPOSE: EVALUATE THE SUM OF A GAUSSIAN AND A 2ND ORDER POLYNOMIAL AND OPTIONALLY RETURN THE VALUE OF IT`S PARTIAL DERIVATIVES. NORMALLY, THIS FUNCTION IS USED BY CURVEFIT TO FIT THE SUM OF A LINE AND A VARYING BACKGROUND TO ACTUAL DATA. CATEGORY: E2 - CURVE AND SURFACE FITTING. CALLING SEQUENCE: FUNCT,X,A,F,PDER INPUTS: X = VALUES OF INDEPENDENT VARIABLE. A = PARAMETERS OF EQUATION DESCRIBED BELOW. OUTPUTS: F = VALUE OF FUNCTION AT EACH X(I). OPTIONAL OUTPUT PARAMETERS: PDER = (N_ELEMENTS(X),6) ARRAY CONTAINING THE PARTIAL DERIVATIVES. P(I,J) = DERIVATIVE AT ITH POINT W/RESPECT TO JTH PARAMETER. COMMON BLOCKS: NONE. SIDE EFFECTS: NONE. RESTRICTIONS: NONE. PROCEDURE: F = A(0)*EXP(-Z^2/2) + A(3) + A(4)*X + A(5)*X^2 Z = (X-A(1))/A(2) MODIFICATION HISTORY: WRITTEN, DMS, RSI, SEPT, 1982. Modified, DMS, Oct 1990. Avoids divide by 0 if A(2) is 0. Added to Gauss_fit, when the variable function name to Curve_fit was implemented. DMS, Nov, 1990. Modified, TCH, Nov 2000. Multipeakfit

top GAUSS_POLY

GAUSS_POLY, X, A, F, PDER

Bragg-Gauss variable FWHM =w[2]/tan(w[1]/360*pi)/360*pi return (w[0]*2*Sqrt(ln(2)/pi)/w[2] * exp(-((sin(x/360*pi)/sin(w[1]/360*pi)-1)/FWHM)^2*4*ln(2)))+w[4] Gauss return (w[0]*2*Sqrt(ln(2)/pi)/w[2] * exp(-(x-w[1])^2/w[2]^2*4*ln(2)))+w[4] Bragg-pseudo-Voigt variable eta=sin(pi/2*w[13]) eta*=eta variable FWHM =w[2]/tan(w[1]/360*pi)/360*pi variable dx =sin(x/360*pi)/sin(w[1]/360*pi)-1 variable G =w[0]*2*Sqrt(ln(2)/pi)/w[2] * exp(-(dx/FWHM)^2*4*ln(2)) variable aL=2/pi/FWHM variable bL=4/FWHM^2 variable L=aL/(1+bL*dx) return (1-eta)*G+eta*L+w[4] Bragg-Rectangle-Gauss variable FWHM =w[2]/tan(w[1]/360*pi)/360*pi variable b = 2*Sqrt(ln(2))/FWHM variable a1= (sin(x/360*pi)/sin((w[1]-w[3]/2)/360*pi)-1) variable a2= (sin(x/360*pi)/sin((w[1]+w[3]/2)/360*pi)-1) return w[0]/2/w[3]*(erf((a1)*b)-erf((a2)*b)) +w[4] Rectangle-Gauss variable b = 2*Sqrt(ln(2))/w[2] variable a = x-w[1] variable c = w[3]/2 return w[0]/2/w[3]*(erf((a+c)*b)-erf((a-c)*b)) +w[4] Bragg-Rectangle-pseudo-Voigt variable eta=sin(pi/2*w[13]) eta*=eta variable FWHM = w[2]/tan(w[1]/360*pi)/360*pi variable sinx = sin(x/360*pi) variable dx = sinx/sin(w[1]/360*pi)-1 variable bG = 2*Sqrt(ln(2))/FWHM variable aG1 = (sinx/sin((w[1]-w[3]/2)/360*pi)-1) variable aG2 = (sinx/sin((w[1]+w[3]/2)/360*pi)-1) variable G = w[0] /2/w[3] *(erf((aG1)*bG)-erf((aG2)*bG)) variable aL=2/pi/FWHM variable bL=4/FWHM^2 variable L=2*aL/w[3]*(ln(1+bL*x)-ln(1+bL*(x-w[3]/2)))/bL return (1-eta)*G+eta*L+w[4]

Parameters

X
A
F
PDER

File attributes

Modification date: Tue Oct 1 14:42:22 2013
Lines: 166