Re: Modifying Fit[] using SingularValues
- To: mathgroup at smc.vnet.net
- Subject: [mg23424] Re: Modifying Fit[] using SingularValues
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 10 May 2000 02:32:11 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <8f55db$49p@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
MakeFunctions[fname_, x_Symbol, flst_] :=
Module[{arg, lst, patt},
lst = flst /. x -> arg;
patt = Pattern @@ {arg, Blank[]};
MapIndexed[(fname[First[#2]][patt] := #1) &, lst]]
will take a name like qq for your functions, a symbol x for
the argument and a function list like {1,x,x^2}
It will generate qq[1], qq[2],qq[3] functions
MakeFunctions[qq, x, {1, x, x^2}]
and
?? qq
"Global`qq"
qq[1][arg$5_]:=1
qq[2][arg$5_]:=arg$5
qq[3][arg$5_]:=arg$5^2
Hope that helps
Jens
> What I want to do and can't figure out, is how to take a list of
> expressions like {1,x,x^2} and use them like I used the explicitly
> defined functions f1, f2, and f3 above. So then I could define a
> function myFit which would be invoked like Fit, i.e.
>
> myFit[Transpose[{testx,testy}],{1,x,x^2,Sin[x]},x]
>
> and yield a1 + a2 x + a3 x^2 + a4 Sin[x], along with chisquared and
> the variance for each parameter.
>
> Bill Campbell