MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Help with FindRoot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg101390] Help with FindRoot
  • From: "versianeleao at gmail.com" <versianeleao at gmail.com>
  • Date: Sat, 4 Jul 2009 06:44:05 -0400 (EDT)

Deal All

I need some help with the code presented below. I=B4m using FindRoot to
find the solutions of 2 algebric equations (eq1 and eq 2) since one of
them is nonlinear. Futhermore, I need to find a value of k that fit
the data on "Fa" to "solution". In order to do so, I=B4m trying to
minimize "fit" using FindMinimum. However it is falling even when I
use "_?NumericQ" to define "f and Conc", the roots of eq1 and eq2.
Does anyone have any ideia how to address this?

Thank you very much.




ClearAll[k, Conc, f]
n = 1.3;
Deff = 1/10^9;
data = {1, 0.89, 0.82, 0.75, 0.68, 0.58, 0.48, 0.4}

Fa = {-6.15/10^15, -5.62/10^15, -5.1/10^15, -4.58/10^15, -4.06/10^15,
-3.01/10^15, -1.96/10^15, -0.92/10^15};

eq1 = Table[f == -4*Pi*k*data[[i]]*(Conc)^n, {i, 1, Length[Fa]}]

eq2 = Table[f == -4*Pi*Deff*data[[i]]*(6 - Conc), {i, 1, Length[Fa]}]

solution[(f_)?NumericQ, (Conc_)?NumericQ] := Table[f /. FindRoot[{eq1
[[i]], eq2[[i]]}, {{f, 10}, {Conc, 0.01}}], {i, 1, Length[Fa]}]

fit = Sum[(solution[[i]] - Fa[[i]])^2, {i, 1, Length[Fa]}]

FindMinimum[fit, k > 0}, {k, 1.5}]


  • Prev by Date: Parametric cylinder plots round in one instance and elliptical in
  • Next by Date: Re: Separating real part and imaginary part from each
  • Previous by thread: Re: Parametric cylinder plots round in one instance and elliptical in
  • Next by thread: Re: Help with FindRoot