T O P I C R E V I E W |
gr8guns |
Posted - 04/04/2011 : 3:39:51 PM Hi,
I have a huge data set with a common X value range, but multiple Y data sets (in hundreds). Now, my goal is to fit each of these data sets to a peak using the Gaussian function & then find a global fit for all the peaks, sharing the width parameter. Basically I want to find the average width, for all the peaks, after aligning their centers.
I figured the above mentioned NLF analysis, using global fit, sharing the width parameter helps achieve this. Ideally, I would like to see all the peaks aligned over each other, but I am not sure how this can be done, although it is a secondary requirement. Sharing the "center, xc" might achieve this graphically, but that averages the peaks horizontally, affecting the width, which is not the point! I just meant to adjust the offset so the peaks are aligned.
Anyway, this is secondary, but the main point is to get the average width & the above approach (global fit with width as shared parameter) only works when I have < 100 peaks. But, when I plot my complete set of Y data sets (~ 800 columns), the plot comes up, but the NLF analysis just crashes Origin.
FYI, I've been dependent on the GUI, as I am new to Origin. Its really sad to see such neat analysis being possible in the first place, but not being able to include your complete data set.
Thanks in advance |
1 L A T E S T R E P L I E S (Newest First) |
easwar |
Posted - 04/05/2011 : 5:12:17 PM Hi,
What version of Origin are you using?
Looks like what you are interested in finding out is the mean width of peaks, and you don't really need to perform global fitting for that. When you have 800 datasets and want to perform global fitting, even if you shared width and say fix the y offset, using a function such as gaussian, that is still 800x2+2=1604 parameters to be minimized in one fitting operation, which is a LOT of parameters! Global fitting works by fitting all data simultaneously.
Perhaps what you can do instead is: 1> loop over all data columns 2> fit one dataset at a time 3> record the width 4> find average of all widths
This can be done easily with script. GUI again will get bogged by too many datasets.
To see how to access fitter from script, you can look at LabTalk help file: http://wiki.originlab.com/~originla/ltwiki/index.php?title=Script:Non-linear_Fitting and some more examples here: http://wiki.originlab.com/~originla/ltwiki/index.php?title=LabTalk:Curve_Fitting
Easwar OriginLab
|
|
|