MathGroup Archive 2001

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

Search the Archive

Nonlinear fit versus FindMinimum

  • To: mathgroup at smc.vnet.net
  • Subject: [mg29408] Nonlinear fit versus FindMinimum
  • From: "J. Guillermo Sanchez" <guillerm at gugu.usal.es>
  • Date: Mon, 18 Jun 2001 03:39:08 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

(*Question: I wist fit some parameters of a model  to experimental data. 
I get using FindMinimum but not using NonlinearFit. Why?. Can any body 
give me a hand*)

MultiExpInput[matrixA_, opts2_, t_, x_] := Module[{A1, M1, M2, M9, R, 
i, T}, A1 = matrixA; M1 = MatrixExp[A1*t]; M0 = M1 /. t -> T; M2 
= ExpandAll[M0 . opts2 /. t -> t - T]; R = Chop[M2 /. a_*E^(b_*t + 
c_*T) :> (a*(E^(b*t)*(E^(c*t) - 1)))/c]; Table[ExpandAll[Subscript[x, 
i][t] -> R[[i]]], {i, 1, Length[opts2]}]];


inp = 42.7/E^(100.*t) + 5.458/E^(24.*t);


data = {{0, 0.002}, {50, 0.106}, {100, 0.077}, {150, 0.056}, {200, 
0.041}, {250, 0.032}, {300, 0.023}, {350, 0.018}, {400, 0.011}, {450, 
0.011}, {500, 0.007}};


(*a12 and a23 are the parameters to be fitted*)

mA[a12_, a23_] := {{-1.9404 - a12, 0, 0.0462}, {a12, -a23, 0}, {0, 
a23, -0.05775}};


model[t_, A12_, A23_] := MultiExpInput[mA[A12, A23], {inp, 0, 0}, t, 
x][[2,2]];


sseH[{(a__)?NumberQ}, list_, model_] :=

Block[{q2}, q2[tiemp_] = model /. t -> tiemp; Plus @@ Apply[(q2[#1] - 
#2)^2 & , list, {1}]];


(*^Now, I fit the parameteres and it work*)

FindMinimum[sseH[{e12, e23}, data, model[t, e12, e23]], {e12, 0.8, 1}, 
{e23, 0.007, 0.1}]


(*Out[]:={0.0000148301,{e12=AE0.559099,e23=AE0.00763071}}*)


(*But, I can't using  NonlinearFit*)

Needs["Statistics`NonlinearFit`"]


NonlinearRegress[data, model[t, e12, e23], {t}, {e12, 0.8}, {e23, 
0.007}]



  • Prev by Date: Re: Functions with Variables with Indices
  • Next by Date: Re: R: Local iterator
  • Previous by thread: Re: Re: Errors im Mathematica??
  • Next by thread: Re: Nonlinear fit versus FindMinimum