MathGroup Archive 2008

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

Search the Archive

LevenbergMarquardt

  • To: mathgroup at smc.vnet.net
  • Subject: [mg86539] LevenbergMarquardt
  • From: "Ausman, Kevin" <ausman at okstate.edu>
  • Date: Thu, 13 Mar 2008 04:33:38 -0500 (EST)

I want to thank everyone who replied to my earlier questions. I think I 
am getting closer to solving my problem. Unfortunately, I have run into 
another issue.

Here is what I am trying to do:

result=FindMinimum[Sum[residFunc[xptData,testInstFunc,0,t,numRateConst,
rateConst/.{kauto=AEk1float,icauto=AEic1float},numInitConc,ic/.{kauto=AEk
1float,icauto=AEic1float},ec/.{kauto=AEk1float,icauto=AEic1float},rateEq,
finalTime][[i]]^2,{i,1,Length[xptY]}],{{k1float,6000},{ic1float,0.003}},Method=AELevenbergMarquardt]

The problem is that without specifying LevenbergMarquardt as the method 
I get an error that the gradient is effectively zero, but when I do 
specify Levenberg Marquardt it says that my function isn't of the 
appropriate form:

FindMinimum::notlm : The objective function for the method 
LevenbergMarquardt must be in a least-squares form: 
Sum[f[i][x]^2,{i,1,n}] or Sum[w[i] f[i][x]^2,{i,1,n}] with positive 
w[i].

It looks to me as though I have a sum of squares, and I know from 
experience (programming in Fortran many years ago) that 
LevenbergMarquardt is the way to go for this particular problem.

The parameters for residFunc are some experimental data and some fitting 
paramters (typically in lists), and it returns a one-dimensional list of 
numbers.

Help?

Kevin Ausman


  • Prev by Date: Re: Puzzled by the "Variance"
  • Next by Date: Re: Puzzled by the "Variance"
  • Previous by thread: Re: Accessing and using built-in constants in Mathematica 6 /
  • Next by thread: Intermediate Evaluation in FindMinimum