T O P I C R E V I E W |
cykwong |
Posted - 01/25/2006 : 10:07:10 PM Origin Version 6.0: window 2000
I would like to extrapolating a exp decay curve. However, when I plot straight line of the exp decay curve, it extrapolating a straight line. When I plot as spline or B-spline, the curve look strange, it become exp. growth. Can anyone help me? thanks. |
6 L A T E S T R E P L I E S (Newest First) |
CarolJK |
Posted - 12/27/2016 : 08:55:03 AM quote: Originally posted by easwar
Hi cykwong,
Since you are already fitting the data with an equation/model which then gives you optimal parameters for that model which describes your data, you should use the fit equation/parameters to compute values rather than doing extrapolation of the fit line.
Extrapolation does not know the fit equation, rather it just takes the fit data and does extrapolation based on line/spline connection etc and so it can be very different or "wrong" because there is no knowledge of the equation itself - it is just like extrapolating raw data - at the edges the last few data points are used to extrapolate.
So what you can do, to get values of the fit outside of your data range is the following:
1> Use the NLSF tool (this is simplest): If you fit using menu, just bring up the NLSF tool (CTRL-Y) and it will show the current fit equation you are using and the fit results etc. Then go to the Scripts->After Fit page of the NLSF tool and check the Uniform X" radio selection. Then you can specify any starting x and ending x value in the controls below and the number of points you want in the fit curve. Then you can go to Fit page and click Done to generate the curve over the range of x that you desire.
2> As soon as the fit is done, you could simply go to script window and type fit(5.5)= for example, where 5.5 say is an x value outside of your data range, and Origin will print the corresponding y value based on the exact fit equation. You could then write script to generate more values at more new x values etc. Note that this work only right after a fit - if another fit is done, the fit() function will use the new fit equation and so on.
3> You have access to all the fit parameters via NLSF object properties such as nlsf.p1, nlsf.p2 etc for parameters nlsf.e1, nlsf.e2 etc for errors etc You can then use those exact fit parameter values to compute new Y values
4> In Origin 7.5, in the NLSF Tool, you could go to Action->Results menu and there is a way to find y from given x or find x from given y, based on your fit. You could try this in the demo.
Easwar OriginLab
Edited by - easwar on 01/26/2006 09:36:52 AM
Hi Easwer,
Thank you for the detail explanation. However, I am using Origin 9.1 now and having problem to even find the NLSF tools. Could you guide me on how to extrapolate with Origin 9.1?
Regards, CarolJK
Regards, CarolJK |
cykwong |
Posted - 01/26/2006 : 9:15:03 PM Dear Easwar , Thank you very much.
Best regards, Calvin |
easwar |
Posted - 01/26/2006 : 09:31:04 AM Hi cykwong,
Since you are already fitting the data with an equation/model which then gives you optimal parameters for that model which describes your data, you should use the fit equation/parameters to compute values rather than doing extrapolation of the fit line.
Extrapolation does not know the fit equation, rather it just takes the fit data and does extrapolation based on line/spline connection etc and so it can be very different or "wrong" because there is no knowledge of the equation itself - it is just like extrapolating raw data - at the edges the last few data points are used to extrapolate.
So what you can do, to get values of the fit outside of your data range is the following:
1> Use the NLSF tool (this is simplest): If you fit using menu, just bring up the NLSF tool (CTRL-Y) and it will show the current fit equation you are using and the fit results etc. Then go to the Scripts->After Fit page of the NLSF tool and check the Uniform X" radio selection. Then you can specify any starting x and ending x value in the controls below and the number of points you want in the fit curve. Then you can go to Fit page and click Done to generate the curve over the range of x that you desire.
2> As soon as the fit is done, you could simply go to script window and type fit(5.5)= for example, where 5.5 say is an x value outside of your data range, and Origin will print the corresponding y value based on the exact fit equation. You could then write script to generate more values at more new x values etc. Note that this work only right after a fit - if another fit is done, the fit() function will use the new fit equation and so on.
3> You have access to all the fit parameters via NLSF object properties such as nlsf.p1, nlsf.p2 etc for parameters nlsf.e1, nlsf.e2 etc for errors etc You can then use those exact fit parameter values to compute new Y values
4> In Origin 7.5, in the NLSF Tool, you could go to Action->Results menu and there is a way to find y from given x or find x from given y, based on your fit. You could try this in the demo.
Easwar OriginLab
Edited by - easwar on 01/26/2006 09:36:52 AM |
minimax |
Posted - 01/26/2006 : 01:45:58 AM I can not reproduce your problem yet. Could you send your data to tech@originlab.com with title "extrapolating a exp decay curve"?
Max OriginLab GZoffice
Edited by - minimax on 01/26/2006 01:51:46 AM |
cykwong |
Posted - 01/26/2006 : 01:29:55 AM Thanks for you reply. First of all, I took experimental data which is exponential decay (2nd order). Of course, it is expected that raw data is not a perfect exponentail decay curve. I plot this raw data. Then I use non linear curve fitting to model the 2nd order exp. decay. Finally I plot the fitting data by a) straight line or b) Spline.
When I extrapolate the curve from option a). I got straight line decay, not exp. decay.
When I extrapolate the curve from option b). I got exponentail increase. |
minimax |
Posted - 01/26/2006 : 01:17:14 AM Hi cykwong,
I tried what you said in Origin 6.1, 7.0 and 7.5 but could find out your mentioned "strange" problem. Could you please describe your problem in more detailed steps?
If available, send your problem to tech@originlab.com attached with your data.
Max OriginLab GZoffice |
|
|