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
 User defined fitting (Non-linear curve)

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
skaniceuy Posted - 04/20/2016 : 10:08:18 AM
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.
3   L A T E S T    R E P L I E S    (Newest First)
Hideo Fujii Posted - 04/21/2016 : 10:26:41 AM
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
skaniceuy Posted - 04/20/2016 : 4:14:01 PM
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.
Hideo Fujii Posted - 04/20/2016 : 12:00:29 PM
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

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