       Re: NonlinearModelFit and Complex Data

• To: mathgroup at smc.vnet.net
• Subject: [mg132043] Re: NonlinearModelFit and Complex Data
• From: Maria <rouelli at gmail.com>
• Date: Mon, 25 Nov 2013 03:02:24 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-outx@smc.vnet.net
• Delivered-to: mathgroup-newsendx@smc.vnet.net
• References: <jnb50m\$5m8\$1@smc.vnet.net>

```Update

The solution here worked for me:
http://forums.wolfram.com/mathgroup/archive/2010/Apr/msg00280.html

On Thursday, 26 April 2012 17:37:26 UTC+8, Maria  wrote:
> Hi,
>
>
>
> I am trying to fit complex data to a complex function.
>
>
>
> Here's a snippet:
>
>
>
> data = Import["http://apps.getcloudigniter.com/data/data.csv";];
>
>
>
> fitData =
>
>   Table[{data[[i, 1]], data[[i, 2]] + I*data[[i, 3]]}, {i, 1,
>
>     Dimensions[data][]}];
>
>
>
> fitEqn[x_] := (aR + I aI) + ( bR + I bI)*(Abs[x - 79800.3]/
>
>      1585.02) - (
>
>    par1 (x - par1))/((cR + I cI)*((x - par1)^2 -
>
>       I par2/2 (x - par1) - 435093.75^2));
>
>
>
> fit = NonlinearModelFit[fitData,
>
>   fitEqn[x] , {aR, aI, bR, bI, cR, cI, par1, par2}, x,
>
>   WorkingPrecision -> 100, MaxIterations -> 10000]
>
>
>
> This gives me an error:
>
>
>
> "The function value {....} is not a list of real numbers..."
>
>
>
> On the other hand, FindFit gives me the same error but it works quite well by setting NormFunction -> (Norm[Abs[#^2]] &):
>
>
>
> (* This works *)
>
>  fit = FindFit[fitData,
>
>   fitEqn[x] , {aR, aI, bR, bI, cR, cI, par1, par2}, x,
>
>   NormFunction -> (Norm[Abs[#^2]] &), WorkingPrecision -> 100,
>
>   MaxIterations -> 10000]
>
>
>
> And I get a fairly nice fit:
>
>
>
> Show[ListPlot[
>
>   Table[{data[[i]][], data[[i]][]}, {i, 1,
>
>     Dimensions[data][]}], PlotStyle -> Red],
>
>  Plot [Re[fitEqn[x] /. fit], {x, data[[Dimensions[data][]]][],
>
>    data[[1, 1]]}, PlotStyle -> Blue]]
>
>
>
> Show[ListPlot[Table[{data[[i]][],data[[i]][]},{i,1,Dimensions[\
>
> data][]}],PlotStyle->Red],Plot \
>
> [Im[fitEqn[x]/.fit],{x,data[[Dimensions[data][]]][],data[[1,1]]}\
>
> ,PlotStyle->Blue]]
>
>
>
> However, I can't do the same modification to NonlinearModelFit(which I prefer to use since I need the additional information on fitting, e.g. ANOVA). Any tips on making it work?
>
>
>
> Thanks,
>
> Maria

```

• Prev by Date: Re: Help needed
• Next by Date: Re: Solving complicated matrix equations
• Previous by thread: Re: Local Variables in Do[]
• Next by thread: Re: NonlinearModelFit and Complex Data