Re: nonlinear programming with differential-algebraic constraints (2)

• To: mathgroup at smc.vnet.net
• Subject: [mg52136] Re: nonlinear programming with differential-algebraic constraints (2)
• From: Joerg Schaber <schaber at molgen.mpg.de>
• Date: Fri, 12 Nov 2004 02:13:49 -0500 (EST)
• References: <cmsok4\$b72\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Thanks for your replies.
Indeed, the problem was that I have to define a function or module to be
called in NMinimize that gets evaluated every time with the new
parameter. I solved it now by defining a module, but the solutions using
functions are also very elegant, I think.

Thanks,
joerg

Joerg Schaber wrote:
> I made a little example to illustrate the problem:
>
> I want to fit a model which is stated as a system of differenttial
> equations to some data.
>
> (* curve to be fitted *)
> f[t_]:=Exp[-0.1*t]+Random[Real,{0,0.1}];
> data={#,Evaluate[f[#]]}&/@Table[t,{t,0,10,1}];
>
> ListPlot[data,PlotStyle\[Rule]{RGBColor[0,0.2,0.8],PointSize[0.02]}];
>
> (* the parameter 0.1 is to be found *)
> (* the model as a differential equations *)
> model:=NDSolve[{y'[t]==-a*y[t],y[0]==1}/.a->0.05,y,{t,0,10}];
>
> (* minimizing sum of squares *)
> NMinimize[{squares=Plus@@Table[(Table[{#,y[t]/.Evaluate[model][[1]]/.t->#}&/@
> 		Table[t,{t, 0, 10, 1}]][[i, 2]]-data[[i,2]])^2,
> 		{i, Length[data]}], a > 0}, a,
> 		Method -> {"DifferentialEvolution"},
> 		StepMonitor :> Print[squares, a],
> 		WorkingPrecision -> 8]
>
>
> The main problem seems to be that the differential equation does not get
> evaluated in each step but only once.
>
> So if anybody could make this example work that would be great.
>
> best,
>
> joerg
>

```

• Prev by Date: Re: equal distribution of last digits base ten in the primes by b-normality
• Next by Date: Why these definitions are so slow
• Previous by thread: Re: nonlinear programming with differential-algebraic constraints (2)
• Next by thread: an [0,1] iterative based on the Farey tree that isn't b-normal