The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
 All Forums
 Origin Forum
 Origin Forum
 Multi curve fitting with user defined function

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
ldkala Posted - 02/25/2018 : 07:59:00 AM
Origin Ver. and Service Release (Select Help-->About Origin): Evaluation
Operating System: Windows 7

I intend to fit three curves for DTG curve of a biomass sample using multi curve fitting. The three curves to be fitted are for biomass macro components hemicellulose, cellulose and lignin and these do not follow any prefit functions. Itried to create new user defined function but without success. Please advise and help.
10   L A T E S T    R E P L I E S    (Newest First)
yuki_wu Posted - 03/01/2018 : 8:52:00 PM
Hi L D Kala,

Not sure if you misunderstood. I am afraid that Multiple Peak Fit is not useful in your case. As a workaround, you could define a new function like:

y=y6*x^6+y5*x^5+y4*x^4+y3*x^3+y2*x^2+y1*x+y0+y6_1*x^6+y5_1*x^5+y4_1*x^4+y3_1*x^3+y2_1*x^2+y1_1*x+y0_1 + y6_2*x^6+y5_2*x^5+y4_2*x^4+y3_2*x^3+y2_2*x^2+y1_2*x+y0_2;

then perform nonlinear fitting on your data by selecting Analysis: Fitting: Nonlinear Curve Fit. Note that the appropriate initial parameters are the key to a good fit, but I think you have known by Excel.

After fitting, you could plot the curves by (y0,y1,y2,y3,y4,y5,y6), (y0_1,y1_1,y2_1,y3_1,y4_1,y5_1,y6_1) and (y0_2,y1_2,y2_2,y3_2,y4_2,y5_2,y6_2) respectively and then calculate their area.

Please check your email, I mentioned more info in it.

Regards,
Yuki
OriginLab
ldkala Posted - 03/01/2018 : 09:44:40 AM
Dear Yuki Wu,

Thanks a lot for your advice. I will follow the instructions and then see how the results come out. I understand that these instructions are true for multiple peak fitting options under the Analysis > Peak and baseline > Multiple peak fit.

Thanks and regards,,

L D Kala

yuki_wu Posted - 03/01/2018 : 03:24:04 AM
Hi L D Kala,

After checking your data, I suppose in fact your user-defined fitting function is a polynomial function:
y = y6*x^6+y5*x^5+y4*x^4+y3*x^3+y2*x^2+y1*x+y0;

Just try the method I mentioned in the post, combine the function like.

After fitting, you could calculate the area by selecting Analysis: Integrate from menu.

Regards,
Yuki
OriginLab
ldkala Posted - 03/01/2018 : 01:45:43 AM

Please ignore the previous reply.

Dear Yuki Wu,

Thanks for your reply.

I am sending the data file by email.

In that file the problem curve for which multiple curve fitting is required and its data is on sheet1. Curves to be fitted and their data are in sheets 2, 3 and 4. Their equations are as above in this discussion.

I also require respective areas for the fitted curves (deconvoluted curves).

Thanks and regards,
L D Kala
ldkala Posted - 03/01/2018 : 01:28:10 AM
Dear Yuki Wu,

Thanks for your reply.

I am sending the data file by email.

In that file the problem curve for which multiple curve fitting is required and its data is on sheet1. Curves to be fitted and their data are in sheets 1, 2 and 3.

I need respective areas for the fitted curves (deconvoluted curves).

Thanks and regards,
L D Kala
yuki_wu Posted - 02/28/2018 : 01:40:30 AM
Hi L D Kala,

Parameters for peak function have special Peak Attributes that need to be set if you enable the Peak Function check box. You should converse your fitting function to the peak function with parameter “offset”, “center”, “width” and “amplitude/area”.

Sometimes we don’t know the exact meaning of the equation in physics, we probably don’t know how to do the conversion. We could define a combined function instead of the peak function, for example:

y = exp(y6*x^6+y5*x^5+y4*x^4+y3*x^3+y2*x^2+y1*x+y0) + exp(y6_1*x^6+y5_1*x^5+y4_1*x^4+y3_1*x^3+y2_1*x^2+y1_1*x+y0_1) + exp(y6_2*x^6+y5_2*x^5+y4_2*x^4+y3_2*x^3+y2_2*x^2+y1_2*x+y0_2)

Then perform nonlinear fitting on the dataset. However, it seems that it is a huge function. The fitting is probably very slow.

I don’t know what data you have now. If you still have problems, you can send your data to us via tech@originlab.com.

Regards,
Yuki
OriginLab
ldkala Posted - 02/27/2018 : 02:23:40 AM
Let me try to elaborate the issue.

1. I have to carry out deconvolution of a curve by peaks using multiple peak fitting tool.

2. The problem curve are to be fitted with three peaks and these peaks follow curves for which we do not have predefined functions in Origin. So I have to create user defined functions.

3. For creating user defined functions for peak fitting the fitting function builder requires parameters such as - offset, peak centre, peak width and amplitude besides derived parameters and constants. Also equation of the curve is to be given as input to the fitting function builder.

4. The equations of these curves are given in the previous post. I am not able to figure out correct parameters for these curves as required by the fitting function builder. Additionally, the function body space does not accept the entire equation on the next page of the builder.

5. The equations of the curves were obtained using Excel.

Thanks and regards,
L D Kala
yuki_wu Posted - 02/26/2018 : 8:56:08 PM
Hi L D Kala,

I feel confused about your question now. Do you feel difficult to set initial values or perform multiple peak fit with deconvolution?

If you want to know more about parameter initialization:
https://www.originlab.com/doc/Origin-Help/FitPara-IN
If you want to how to perform multiple peak fit with deconvolution :
https://www.originlab.com/doc/Tutorials/GSB-pa-tutorial

Regards,
Yuki
OriginLab
ldkala Posted - 02/26/2018 : 05:57:40 AM
Thanks a lot for your reply.

I have tried creating new peak fitting functions. I am facing difficulty with parameters required to be entered for creating peak function. The curves I want to fit have following equations. These were obtained after plotting taking natural log of y axis data whereas X axis data was not changed. The equations obtained using Excel are given below:

Curve 1:
y = exp(2E-12*x^6-4E-09*x^5+3E-06*x^4-0.001*x^3+0.342*x^2-43.97*x+2289).

Curve 2:
y = exp(-2E-12*x^6+4E-09*x^5-3E-06*x^4+0.001*x^3-0.271*x^2+31.65*x-1503).

Curve 3:
y = exp(-2E-13*x^6+5E-10*x^5-4E-07*x^4+0.000*x^3-0.042*x^2+5.268*x-270.0).

Once user defined functions for these curves are created then I think deconvolution using multi curve peak fitting should give the results I am looking for.

Look forward to your advice.

Regards,
L D Kala



yuki_wu Posted - 02/26/2018 : 12:47:01 AM
Hi,

Please take a look at these tutorials, and you will find how to build the user-defined fitting function and perform multiple curves fit:
https://www.originlab.com/doc/Tutorials/UserDef-FitFunc
https://www.originlab.com/doc/Tutorials/Fitting-Global

Also, this quick help is talking about the difference between multiple-data fit modes:
https://www.originlab.com/doc/Quick-Help/Multi-Dataset-Fitting

Regards,
Yuki
OriginLab

The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000