Re: Evaluate, Replace, and Hold
- To: mathgroup at smc.vnet.net
- Subject: [mg77207] Re: Evaluate, Replace, and Hold
- From: dh <dh at metrohm.ch>
- Date: Tue, 5 Jun 2007 06:59:13 -0400 (EDT)
- References: <f40gib$65a$1@smc.vnet.net>
Hi, you want to evaluate a function of 2 parameters over a range of every parameter. "Outer" will do this. Here is a simple example for the syntax of the parameter you indicated: Remove[fun]; fun[pts_,params_]:= Outer[(Print["p1=",#1];model/.#1/.x->#2)&,params,pts,1] model=a+b x; params={{a\[Rule]1,b\[Rule]2},{a\[Rule]2,b\[Rule]1}}; pts={1,2,3}; fun[pts,params] hope this helps, Daniel grenander at gmail.com wrote: > This is a newbie question. I have a parametric form of a model and I > would like to evaluate it with different parameters on a list of > values. > > model = a x + b; > > Different sets of parameters: > > p1 = {a->1, b->0}; > p2 = {a->1, b->1}; > > x for which I'd like to evaluate the model: > > pts = Range[10]; > > I would like to define a function to evaluate the model at pts using > any of the sets of paramters: > > f[pts, p1] > f[pts, p2] > > I would also like it to work for single points: > > f[1, p1] > f[2, p1] > > I've tried various forms for a function definition that dont work. I > can do the following for a particular set of parameters: > > Function[{x}, Evaluate[model /. p1]] /@ pts > > but how can I turn it into a function of also the parameters. The > below doesn't work, for example: > > f[pts_, p_]:=Function[{x}, Evaluate[model /. p] ] /@ pts > > What I know is from descending the documentation tree (v6.0) starting > from the examples in FindFit. I have a fundamental misunderstanding of > replacement rules and delayed evaluation. > > Thanks. > >