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
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 Origin Forum
 Origin Forum
 User defined fitting (Non-linear curve)
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

skaniceuy

2 Posts

Posted - 04/20/2016 :  10:08:18 AM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Hi, everyone,
I tried to fit my data with user-defined non-linear function (I created via Fitting Function Organizer, I use OriginPro 2015, (32-bit) b9.2.214)
My function is y = (1/((A0*exp(-(x-A1)/A2) +1))) + A3;

Function Form: Origin C
Treat All numbers as double: checked
Parameter settings:
InitialValues = --(V)
Meanings = height,center,FWHM,offset
LowerBounds = 0.0(X, ON),0.0(X, ON),0.0(X, ON),0.0(X, ON)
UpperBounds = --(X, OFF),--(X, OFF),--(X, OFF),--(X, OFF)
NamingMethod = User-Defined
NumberOfSignificantDigits =
Unit =

Enable Auto Initialization: checked with Use Origin C

Parameter Initialization: A1 = peak_pos(x_y_curve, &A2, &A0, &A3);

When I use this function to fit my data, it does not do a good job, please see the snapshot below.

Please let me know if there is any way to improve this fitting,

Thank you very much.

Gian.

Hideo Fujii

USA
1582 Posts

Posted - 04/20/2016 :  12:00:29 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi skaniceuy,

Since your function is sigmoidal, I suppose your original data is the scatter plot in the upper panel.
Then, though I couldn't read out the Y scale of the upper plot, your function's asymptote goes from
A3 at bottom to A3+1 at ceiling - no way to control the amplitude. Maybe you can consider to change
the parameter A0 to make it control it such as?:
y = A0*(1/((exp(-(x-A1)/A2) +1))) + A3;
In my experiment, it converged okay.

Hope this helps.

--Hideo Fujii
OriginLab

Edited by - Hideo Fujii on 04/20/2016 12:01:02 PM
Go to Top of Page

skaniceuy

2 Posts

Posted - 04/20/2016 :  4:14:01 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
quote:
Originally posted by Hideo Fujii

Hi skaniceuy,

Since your function is sigmoidal, I suppose your original data is the scatter plot in the upper panel.
Then, though I couldn't read out the Y scale of the upper plot, your function's asymptote goes from
A3 at bottom to A3+1 at ceiling - no way to control the amplitude. Maybe you can consider to change
the parameter A0 to make it control it such as?:
y = A0*(1/((exp(-(x-A1)/A2) +1))) + A3;
In my experiment, it converged okay.

Hope this helps.

--Hideo Fujii
OriginLab




Hi, Hideo

Thank you very much for your help!!!!
It works ok with the revised equation you suggested!!!

I really appreciate your help!!!

Thanks

Gian.
Go to Top of Page

Hideo Fujii

USA
1582 Posts

Posted - 04/21/2016 :  10:26:41 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi Gian,

No problem.
By the way, your function is around the same to Origin's built-in Boltzmann function, and you should be able
to get your own parameters by defining the derived parameters.
http://www.originlab.com/doc/Origin-Help/Define-DerivPara

The advantage is not only doing the work easier, but also you can take advantage of the built-in function's
parameter initialization routine and others.

Good luck.

--Hideo Fujii
OriginLab
Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000