convolution vs. NMinimize
- To: mathgroup at smc.vnet.net
- Subject: [mg52397] convolution vs. NMinimize
- From: db at ict.fhg.de (julia)
- Date: Thu, 25 Nov 2004 05:51:03 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hello, I've had some problems with the nonlinear fit of my measuresd data before. Now, i have worked it out. I have to use a numerical global optimization. The fit with NMinimize leads to very good results. The problem now is, that the fit needs about 6 hours computation time. I'm sure this could be faster, but i don't have an idea how... i've generated a sum of squares from the measured data and the model. The model consists of the actual model and a numerical convolution of the model with a measured input signal. The convolution should be the the time-consuming step. I don't know what mathematica is doing exactly (e.g., which steps are calculated symbolical or numerical). The optimization should be fast, if the model with the actual parameters, and the convolution would be evaluated numerically. I've attached the code for the optimization. In[11]:= pred[Pe_,tau_]:=Module[{model,pred1,falt}, model=(Pe*tau/(4*π*t^3))^0.5*Exp[-Pe/(4*t/tau)*(1-t/tau)^2]; pred1=Map[model/.{t->#}&,time];falt=ListConvolve[inp,pred1,1];falt ] In[15]:=soln=NMinimize[Plus@@Table[((yc[Pe,tau][[i]])-respconvdata[[i,2]])^2, {i,Length[time]}],{{tau,15,20},{Pe,95,110}},MaxIterations->50,Method->"DifferentialEvolution"]//Timing "inp" is the input signal "pred" is the predicted Convolution product "respconvdata" is the measured curve Does anybody have an idea? (e.g., how to apply the convolution on a different way..) Thanks, julia
- Follow-Ups:
- Re: convolution vs. NMinimize
- From: DrBob <drbob@bigfoot.com>
- Re: convolution vs. NMinimize