Hi, new to Eureqa which I plan to use for scientific research. I would like to use eureqa to perform multiple Gaussian fits on an extended spectrum. One fit is given as y=f1()*exp(-1*(x-f2())^2/f3())) in which f1() gives me the amplitude of one Gaussian, f2() the centroid and f3() the 2 sigma-squared value. So far so good. I presume that I cannot create own building blocks, so that I have to introduce a lot of functions for a spectra that e.g. contains 100 gaussian peaks distributed over 4096 to 8192 channels. Am I right? Secondly, I would like to know whether it is possible to restrict the values in any of the functions? Most importantly I know (from the resolution of my detectors from which I am obtaining the spectra) that f3() will be between a maxima and minimum value e.g. in channels between 5 and 20. I have not yet figured out whether one can restrict a constant or how to do it in practise. Any help will be welcomed, as I am intending to use Eureqa for some forthcoming publications. Cheers, Klaus Spohr, Glasgow
You might be interested in the "gauss(x) = exp(-x^2)" building-block. To constrain a coefficient to be positive you can change "y = f0()*x" ---> "y = abs(f0())*x" for example. For more complex constraints, you can use require(x) like "y = f0()*x + require(f0()>5) + require(f0()<10)" to require f0 to be between 5 and 10.