Re: fitting multiple datasets
- To: mathgroup at smc.vnet.net
- Subject: [mg58005] Re: fitting multiple datasets
- From: dh <dh at metrohm.ch>
- Date: Thu, 16 Jun 2005 05:36:07 -0400 (EDT)
- References: <d8oumk$n$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Nate, Question1: You could e.g. add an additional first coordinate x0 to your data points, that indicates the data set, and define f (I call the known parameters a and b and the unknown p1,p2,p3): f[x0_,x_,p1_,p2_,p3_]:=Which[ x0==1, f[x,a1,b1,p1,p2,p3], x0==2, f[x,a2,b2,p1,p2,p3], x0==3, f[x,a3,b3,p1,p2,p3], x0==4, f[x,a4,b4,p1,p2,p3], x0==5, f[x,a5,b5,p1,p2,p3] ] Then you would call FindFit: FindFit[data,f[x0,x,x2,x3,x4,x5],{p1,p2,p3},{x0,x}] Question2: for contstrained optimization you could use NMinimize sincerely, Daniel Nate Traaseth wrote: > I have two questions, > > > 1) I have multiple datasets, and one function that depend on multiple > parameters, of which I would like to find a global best fit to three of the > parameters. However, within each dataset, I need to specify slightly > different parameters within the function. For example (not actual function > and will not make sense), > f(a_,b_,c_,d_,e_) = a*x^5 + b*x^4 + c*x^3 + d*x^2 + e*x > In datasets 1-5, I would like to specify different "a" and "b" values (for > each dataset), while finding the best single fit (global) for "c," "d," and > "e" in the function using all datasets. > > I see that using "FindFit" one can enter multiple points of the same > dataset, and minimize the parameters of a function to best fit one dataset, > but is it possible to enter multiple datasets and find a global minimum for > multiple parameters in a function? Or do I need to write my own loop in > Mathematica? > > > 2) When I am doing a minimization using "FindFit" how do I tell the > minimization routine that I am only interested in solutions (assuming they > exist as local minima) that satisfy a certain range. For example, a > solution to a parameter that is only within the range {a,b}. > > > > thanks > Nate > >