Re: Impedance Equation fit to Complex Data

• To: mathgroup at smc.vnet.net
• Subject: [mg86509] Re: Impedance Equation fit to Complex Data
• From: dh <dh at metrohm.ch>
• Date: Wed, 12 Mar 2008 05:29:41 -0500 (EST)
• References: <fr7opm\$39a\$1@smc.vnet.net>

Hi  Benji,

there seems to be a bug in FindFit. It works if you specify the error

function explicitely:

err[x_]:=Norm[x,2];

FindFit[Data,Z,{R,G,H},w,NormFunction->err]

hope this helps, Daniel

AgustusBenjamin at gmail.com wrote:

> Dear Group,

>

>    I'm trying to fit an equation to data using FindFit.  When I type

> in the equation and data and then FindFit, I get this:

>

> Z := [Omega]^(-(2 ArcTan[H/G])/[Pi]) (G - i H) + R

>

> Data := {{1.`, 2.658637`- 8.389573` i}, {1.5`,

>    1.784396`- 6.214955` i}, {2.5`,

>    1.656569`- 3.97147` i}, {3.5`,

>    1.633799`- 2.878841` i}, {5.5`,

>    1.357069`- 1.776964` i}, {6.5`,

>    1.259121`- 1.848249` i}, {8.5`,

>    1.105417`- 1.344566` i}, {9.5`,

>    1.119456`- 1.148945` i}, {11.5`,

>    1.082122`- 1.064767` i}, {14.5`,

>    1.015714`- 0.8684088` i}, {15.5`,

>    1.055329`- 0.664562` i}, {18.5`,

>    0.8675349`- 0.5107938` i}, {20.5`,

>    0.8968949`- 0.4148388` i}}

>

> FindFit[Data, Z, {R, G, H}, \[Omega]]

>

> FindFit::nrlnum: The function value {-0.658637+7.38957 \

> \[ImaginaryI],0.0321006+5.39846 \[ImaginaryI],-0.0241135+3.33901 \

> \[ImaginaryI],<<5>>,0.212762+0.769883 \[ImaginaryI],0.246899+0.605796

> \

> \[ImaginaryI],<<3>>} is not a list of real numbers with dimensions \

> {13} at {R,G,H} = {1.,1.,1.}. >>

>

> Why?!?!?  Why can't FindFit handle this?  What's wrong with it not

> being a list of real numbers?  I'm pulling my hair out.  I've looked

> at others' suggestions for similar problems and they don't work for

> this problem.  Am I out of my mind?  Does anyone have a suggeston?

>

> Regards,

>

> Benji

>