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 for Programming
 LabTalk Forum
 user-generated fit functions: failure on re-use
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

scheer

Germany
8 Posts

Posted - 06/12/2008 :  06:40:04 AM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Version 7.5
Operating System: Win XP Pro 2nd ed.

About a year ago, I have generated four fit functions for sigmoidal Boltzmann fits. These was one for a Boltzmann superimposed on a sloping baseline, and three for double-sigmoidal fits, either with or without a sloping baseline. We have used them on many experimental data (protein unfolding) without problems. When trying to use them again now on new data, we always get "error 28037: possibly error in formula or poorly initialized parameters". I add below two of the functions. They were generated with the built-in formula generator, not in C.

No 1:
[GENERAL INFORMATION]
Function Name=Double_Boltzman_2
Brief Description=user3
Function Source=N/A
Function Type=User-Defined
Function Form=Expression
Number Of Parameters=6
Number Of Independent Variables=1
Number Of Dependent Variables=1
Analytical Derivatives for User-Defined=Off


[FITTING PARAMETERS]
Naming Method=User-Defined
Names=A1,A2,A3,x01,x02,dx
Meanings=?
Initial Values=--(V)
Lower Bounds=--(X,OFF)
Upper Bounds=--(X,OFF)
Number Of Significant Digits=


[FORMULA]
y=(A1-A2)/(1+exp((x-x01)/dx))+A3+(A2-A3)/(1+exp((x-x02)/dx))


[CONSTRAINTS]
/*Enter general linear constraints here*/


[CONSTANTS]


[Parameters Initialization]
/*Scripts to be executed to initialize parameters.*/


[INITIALIZATIONS]
/*Scripts to be executed before fitting, a good place for complicated initialization.*/


[AFTER FITTING]
/*Scripts to be executed after fitting, a good place for generating results.*/


[ON PARAM CHANGE]
/*Scripts to be executed when parameters change.*/


[INDEPENDENT VARIABLES]
x=


[DEPENDENT VARIABLES]
y=


[CONTROLS]
General Linear Constraints=Off
Initialization Scripts=Off
Scripts After Fitting=Off
Number Of Duplicates=N/A
Duplicate Offset=N/A
Duplicate Unit=N/A
Generate Curves After Fitting=Yes
Curve Point Spacing=Uniform on X-Axis Scale
Generate Peaks After Fitting=Yes
Generate Peaks During Fitting=Yes
Generate Peaks with Baseline=Yes
Paste Parameters to Plot After Fitting=Yes
Paste Parameters to Notes Window After Fitting=Yes
Generate Residuals After Fitting=No
Keep Parameters=No
Enable Parameters Initialization=0
Compile On Param Change Script=1


[COMPILE FUNCTION]
Compile=0
Compile Parameters Initialization=0
On Param Change Scripts Enabled=0


[ORIGIN C FUNCTION HEADER]



[ORIGIN C PARAMETER INITIALIZATION HEADER]



No 2:
[GENERAL INFORMATION]
Function Name=Sloped_Boltzmann
Brief Description=user4
Function Source=N/A
Function Type=User-Defined
Function Form=Expression
Number Of Parameters=5
Number Of Independent Variables=1
Number Of Dependent Variables=1
Analytical Derivatives for User-Defined=Off


[FITTING PARAMETERS]
Naming Method=User-Defined
Names=A1, A2, x0,dx,B
Meanings=?
Initial Values=--(V)
Lower Bounds=--(X,OFF)
Upper Bounds=--(X,OFF)
Number Of Significant Digits=


[FORMULA]

y = A2 + B*x+ (A1-A2)/(1 + exp((x-x0)/dx))


[CONSTRAINTS]
/*Enter general linear constraints here*/


[CONSTANTS]


[Parameters Initialization]
/*Scripts to be executed to initialize parameters.*/


[INITIALIZATIONS]
/*Scripts to be executed before fitting, a good place for complicated initialization.*/


[AFTER FITTING]
/*Scripts to be executed after fitting, a good place for generating results.*/


[ON PARAM CHANGE]
/*Scripts to be executed when parameters change.*/


[INDEPENDENT VARIABLES]
x=


[DEPENDENT VARIABLES]
y=


[CONTROLS]
General Linear Constraints=Off
Initialization Scripts=Off
Scripts After Fitting=Off
Number Of Duplicates=N/A
Duplicate Offset=N/A
Duplicate Unit=N/A
Generate Curves After Fitting=Yes
Curve Point Spacing=Uniform on X-Axis Scale
Generate Peaks After Fitting=Yes
Generate Peaks During Fitting=Yes
Generate Peaks with Baseline=Yes
Paste Parameters to Plot After Fitting=Yes
Paste Parameters to Notes Window After Fitting=Yes
Generate Residuals After Fitting=No
Keep Parameters=No
Enable Parameters Initialization=0
Compile On Param Change Script=0


[COMPILE FUNCTION]
Compile=0
Compile Parameters Initialization=0
On Param Change Scripts Enabled=0


[ORIGIN C FUNCTION HEADER]



[ORIGIN C PARAMETER INITIALIZATION HEADER]






easwar

USA
1965 Posts

Posted - 06/12/2008 :  11:38:50 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi,

When you get that error, what are the parameter values in the dialog? Are some, or all, values missing value? Does this happen for ANY data or works with some data and does not work with others? Are you able to simulate and make a dataset with your function?

It may be best for you to send your FDF and data (that works and does not work, if that is the case) to your local tech support office so they can check the problem.

Easwar
OriginLab

Go to Top of Page

scheer

Germany
8 Posts

Posted - 06/13/2008 :  02:04:19 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
I did vary the parameters, from rather good guesses to standard values, without success.

I am going to try old datasets that were worked on successfully, a former coworker now in Serbia is just fishing them out of his files.

I do not know on how to generate a dataset from a given formula using Origin. I did not yet use this feature, how do you access it? I'll look for that, too.

Go to Top of Page

larry_lan

China
Posts

Posted - 06/13/2008 :  03:54:07 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
quote:

I did vary the parameters, from rather good guesses to standard values, without success.



It will be helpful to see your data. I suggest you sending the data and fdf to your local distributor or send to us -- tech@originlab.com.

quote:

I do not know on how to generate a dataset from a given formula using Origin. I did not yet use this feature, how do you access it? I'll look for that, too.



You can use the Function button:



Thanks
Larry
OriginLab Technical Services
Go to Top of Page

easwar

USA
1965 Posts

Posted - 06/13/2008 :  05:57:17 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
quote:

I do not know on how to generate a dataset from a given formula using Origin. I did not yet use this feature, how do you access it? I'll look for that, too.



Hi,

What I meant is to do a Simulate using your FDF to see if it is working okay. You can do it the following way (in 7.5 or older version):
-> Open NLSF tool and select your function
-> Use the Action|Simulate menu item in the tool
-> Enter values for parameters, and begin and end X values in that panel
-> Click Create Curve

Do you get a graph with a curve that represents your FDF formula and the parameters you put in?

Again, best to send the files to tech support as Larry said above.

Easwar
OriginLab

Go to Top of Page

scheer

Germany
8 Posts

Posted - 06/15/2008 :  2:50:55 PM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Dear Larry,

I just sent you by email the fit funtions and a dataset.

Sincerely,

Hugo

Go to Top of Page

scheer

Germany
8 Posts

Posted - 06/18/2008 :  03:37:53 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
I just got the response from Larry:

So far as I can see, I think the problem is you did not use the correct function type. Please see the enclosed image. When using "Expression" function form, you should not included the dependent variables, that is, you should change:

y = A2 + B*x+ (A1-A2)/(1 + exp((x-x0)/dx))

into

A2 + B*x+ (A1-A2)/(1 + exp((x-x0)/dx))

So what's your Origin version? If you are using Origin 7 or Origin 8, I suggest you'd better change the function type to "Origin C", instead of changing the formula. Then you can use the formula including independent variables. If you are using Origin 6, you should change the function type to "Equation".

Hope it helps!

Thanks
Larry
OriginLab Technical Services

After changing in the edit funtion mode first the function form to "Expression" (or "Y-script") and then declaring it as "Orign C" (mark respective field, everything worked smoothly. Thanks, Larry

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