5.2.2.24 Fitting Integral Function with a Sharp PeakFittingIntegralSharpPeak
Summary
In this tutorial, we will show you how to define an integral fitting function with a sharp peak in the integral function, and perform a fit of the data using this fitting function.
Because the integral function contains a sharp peak, the integral should be performed in three segments so that the sharp peak can be integrated in a narrow interval.
Minimum Origin Version Required: Origin 9.0 SR0
What you will learn
This tutorial will show you how to:
 Define an integral fitting function.
 Integrate a function with a sharp peak.
 Divide the integral interval into several segments.
Example and Steps
Import Data
 Open a new workbook.
 Copy data in Sample Data to the workbook.
 Highlight column B, and select Plot: Symbol: Scatter from Origin menu. The graph should look like:
Define Fitting Function
The fitting integral function is described as follows:
where a and b are parameters in the fitting function.
Initial parameters are: a=1e4, b=1e4. Note that the integral function contains a peak whose center is about a and width is 2b. And the peak's width (2e4) is very narrow compared with the integral interval [0,1]. To make sure it is integrated correctly at the neighborhood of the peak center, the integral interval [0,1] is divided into three segments: [0,a5*b], [a5*b,a+5*b], [a+5*b,1]. It is integrated in each segment, and then the three integrals are summed up.
The fitting function can be defined using the Fitting Function Builder tool.
 Select Tools: Fitting Function Builder from Origin menu.
 In the Fitting Function Builder dialog's Goal page, click Next button.
 In the Name and Type page, select User Defined from Select or create a Category dropdown list, type fintpeak in the Function Name field, and select Expression in Function Type group, check Include Integration During Fitting check box. And click Next button.
 In the Integrand page, type myint in Integrand Name edit box, t in Integration Variable edit box and a, b, x in Arguments edit box. Type the following script in Integrand Function box.
return 1/(sqrt(2*pi)*b)*exp((ta)^2/(2*b^2)x*t);
And click Next button.
 In the Variables and Parameters page, type a, b in the Parameters field. Click Next button.
 In the Expression Function page, click Parameters tab, and set Initial Value for parameters a and b to 1e4, click Integrand tab, and set Value for Lower Limit and Upper Limit to 0 and 1, Value for a, b, x to a, b, x respectively.
 In the Expression Function page, click Insert button. In the Quick Check group, type 0 in x= edit box, click Evaluate button, and it shows y=9.3e21. This implies that the peak is not integrated correctly because y should approach 1 for x=0. Divide the integral into three segments, and type following script in Function Body box.
integral(myint, 0, a5*b, a ,b ,x)+integral(myint, a5*b, a+5*b, a ,b ,x)+
integral(myint, a+5*b, 1, a ,b ,x)
Click Evaluate button again, and it shows y=0.84, hence it is clear that the peak is integrated correctly this time.
 In the Expression Function page, update the script in Function Body box as follows.
log(integral(myint, 0, a5*b, a ,b ,x)+integral(myint, a5*b, a+5*b, a ,b ,x)
+integral(myint, a+5*b, 1, a ,b ,x))
Click Finish button.
Fit the Curve
 Select Analysis: Fitting: Nonlinear Curve Fit from Origin menu. In the NLFit dialog, select Settings: Function Selection, in the page select User Defined from the Category dropdown list and fintpeak function from the Function dropdown list. Note that initial parameters have been set during defining the fitting function.
 Click Fit button to fit the curve.
Fitting Results
The fitted curve should look like:
Fitted Parameters are shown as follows:
Parameter

Value

Standard Error

a

4.98302E4

1.07593E5

b

1.94275E4

8.21815E6

The Adj. RSquare is 0.99799. Thus the fitting result is very good.
Sample Data
x

y

0

0.00267

60

0.01561

240

0.05268

500

0.10462

1000

0.22092

1500

0.31004

2000

0.40695

3000

0.61328

4000

0.75884

5000

0.9127

6000

0.98605

7000

1.18957

9000

1.43831

10000

1.41393

12000

1.61458

15000

1.88098

20000

2.07792

