| Author |
Topic  |
|
|
jeortega
Spain
Posts |
Posted - 11/06/2003 : 10:01:52 AM
|
I need advise to fit a data set by means of a convolution integral, i.e. a function: f(E)= \int{g(E,E')h(E')dE'}
|
|
|
easwar
USA
1965 Posts |
|
|
jeortega
Spain
Posts |
Posted - 11/07/2003 : 09:21:16 AM
|
Hi, thanks for your help,
Two points: 1) I tested your fitting function but it fails if you increase the number of points up to 300. Why?
2) I do not see how yor formula can be applied to my case. If I understand correctly, your formula stands for this problem:
f(E)= \int{g(E)dE},
which is different from the "convolution", where you have two variables inside the integral
f(E)= \int{g(E,E')f(E')dE'}
Actually, Origin does have the gaussian-Lorentzian convolution in the "Voigt" built-in function (gaussian is f(E') and lorentzian g(E,E'). I wonder whether I could do the same but with my own g(e,e') and f(E').
Thanks again
Enrique |
 |
|
|
easwar
USA
1965 Posts |
Posted - 11/07/2003 : 1:50:26 PM
|
Hi Enrique,
1> I tried with 300 points and it worked fine. It took longer of course. I tried in version 7SR4 2> My apologies for not reading your post more closely. You can also perform convolution while fitting using the FFT object. Please see this OPJ to see how to do that: http://www.OriginLab.com/ftp/forum_and_kbase/files/FittingWithConvolutionUsingScript.zip
You can then combine the script in this OPJ with the article on integration while fitting to perform what you want.
Easwar OriginLab.
|
 |
|
|
jeortega
Spain
Posts |
Posted - 11/10/2003 : 09:35:35 AM
|
Hi, Many thanks again, your answer can solve part of my problem...
...but, I apologize I am not giving enough detail.
Your method is directly valid for the following problem
f(y)= \int{L(x-y)*g(x)*dx}
How would you generalize to the following one (which is actually my problem)?
f(y)= \int{L(z(x)-y)*g(x)*dx}
where L=lorentzian and g=gaussian
Thank you and bye
Enrique |
 |
|
|
jeortega
Spain
Posts |
Posted - 11/10/2003 : 10:12:39 AM
|
I forgot,
Following previous message, you might think about performing a change of variable
z(x)=t
but then your response function (g(x)=gaussian) is not symmetric, and hence you do not meet the requirements of the FFT convolution.
Regards, Enrique |
 |
|
|
easwar
USA
1965 Posts |
Posted - 11/10/2003 : 10:52:45 AM
|
Hi Enrique,
What you are looking for is beyond what you can do with simple scripting in the fitting function. However, you can call custom code from within NLSF by either using (a) Origin C and NAG - NAG library has convolution function that does not have symmetry requirement for response function etc (b) using external DLL developed using VC.
Note that for (a), you need version 7.0 or higher.
Easwar OriginLab.
|
 |
|
| |
Topic  |
|
|
|