T O P I C R E V I E W |
DaveGohlke |
Posted - 02/10/2012 : 7:57:41 PM Origin Ver. 8.0 SR6: Operating System: Win 7, 32bit.
Is it possible to do more than 100 non-linear fits sequentially in one workbook? I have a large number of data sets (all sharing the same X parameter), but no 'FitNL1' window is made if I try to fit 101 curves at once. (It takes about the right amount of time before it stops processing, but no output is given.) It works fine with 100 or fewer files. There seems to be no dependence on number of data points per curve (100 files is the limit for 10, 800, 1000, and 1510 x-points, so I doubt this is a memory issue). I've repeated this behavior with complicated user-defined curves, single Gaussians, and the simplest y=mx+b curve fit.
Opening more than 100 files in the NLfit dialog, there are only 100 sets of parameters - truncating any further data.
Thanks, Dave |
4 L A T E S T R E P L I E S (Newest First) |
easwar |
Posted - 02/14/2012 : 6:04:04 PM Hi Dave,
Here is an alternate way you could do this:
1> Analyze one curve and create an Analysis Template. In the Analysis Template, you can have a Summary Sheet that saves what quantities you want to summarize for multiple datasets (such as fit parameter values, errors, chisqr etc) 2> Import all data into on sheet (with xYYYY structure) and then perform Batch Analysis of all Y columns using the template, generating a summary report with one row for each column (which will be similar to the Summary table when fitting multiple indep from NLFit in one shot)
To learn more, view the video tutorials from this page: http://originlab.com/index.aspx?go=Products/Origin/DataAnalysis/BH&pid=1559
If you need help with this, contact tech support with your data, use the "Send File to Tech Support" link on top right area of the forum page.
Easwar OriginLab
|
DaveGohlke |
Posted - 02/14/2012 : 2:27:26 PM Thanks for your response. For my work, this is a relatively minor bug; because my data curves are all independent from each other (other than sharing the same x-value), I have split my data set into several .csv files, each limited to 90 columns. I can easily pull each of these in sequentially, and then manually extract the summary data.
- Dave |
easwar |
Posted - 02/14/2012 : 12:47:34 PM Hi Dave,
My apologies, it does not work right beyond 100 curves even with a reduced report sheet. I now see the values reported for curves 101 onwards are just repeated from the values of the 100th curve.
We will need to look into this more. If you are looking to just fit them independently (without global parameter sharing) and creating a list of parameters in a sheet, you could just fit them individually in a loop using script and get the values from the fit results tree and put desired quantities from the tree into a worksheet - this will require script or Origin C programming.
Easwar OriginLab |
easwar |
Posted - 02/14/2012 : 12:00:33 PM Hi Dave,
Thank you for reporting this issue, I can reproduce the problem. We will look more into this issue.
This appears to be a limitation in the report-creation stage. One workaround I found is to turn off as many tables as possible in the report, and only have the "Summary" table reported, which would then have all the parameters and the fit stats for each curve. I tried this with 125 columns and it worked fine and I got the report sheet with just the summary table with 125 rows.
You can then save a theme with only the summary table turned on, and then use that for such large number of datasets.
To turn off various tables in the NLFit gui: 1> Go to Settings:Fitted Curves and turn off the fitted curves plot and residual plots 2> Go to Settings:Advanced and turn off Fit Parameters, Fit Statistics, ANOVA etc and leave only Fit Summary on 3> Go to Settings:Output and turn off other tables such as optional report tables at the bottom
So basically reduce the amount of info that goes into the report sheet as much as possible, for such large number of curves.
You may also want to look at programmatically fitting, in which case you can get a tree with the results and then just take what you need from that tree to create your own report such as putting the fit values into a plain worksheet. See LabTalk help on the nlbegin, nlfit etc X-Functions.
Easwar OriginLab
|
|
|