Re: FindFit and complex function?

*To*: mathgroup at smc.vnet.net*Subject*: [mg80538] Re: FindFit and complex function?*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Sun, 26 Aug 2007 02:51:16 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <falt1e$glh$1@smc.vnet.net>

Michael Ignatov wrote: > I have ran into a problem of fitting my experimental data points to a > function in mathematica. > The function comes from a solution of five algebraic equations with 5 > variables. Very straight forward. Unfortunately cubic roots are present > in the solution so when the function is evaluated at fixed parameters it > always return a small imaginary part with the real part. The real parts > are quite meaningful and imaginary parts are extremely small. For all > practical purposes I can just drop the imaginary part. When I build a > model function, which is just a linear combination of 5 solutions, I can > evaluate it with fixed parameters and see that it describes my > experimental points rather well. But FindFit fails to perform a search > always stopping at the starting value. Any ideas on how to either drop > imaginary part of the function completely or make FindFit work with a > function that returns complex numbers? The easiest way to discard very small imaginary parts is to use *Chop*. For instance, In[1]:= Exp[N[Range[4] Pi I]] Out[1]= {-1. + 1.22465*10^-16 \[ImaginaryI], 1.- 2.44929*10^-16 \[ImaginaryI], -1. + 3.67394*10^-16 \[ImaginaryI], 1.- 4.89859*10^-16 \[ImaginaryI]} In[2]:= Chop[%] Out[2]= {-1., 1., -1., 1.} -- Jean-Marc