[Date Index]
[Thread Index]
[Author Index]
Re: Automate datafitting to a series of parameterized function
*To*: mathgroup at smc.vnet.net
*Subject*: [mg70326] Re: [mg70277] Automate datafitting to a series of parameterized function
*From*: "Chris Chiasson" <chris at chiasson.name>
*Date*: Fri, 13 Oct 2006 01:30:12 -0400 (EDT)
*References*: <200610110553.BAA19424@smc.vnet.net>
here is a sloppy way to define f
f[x_,coeff__]:=Total@MapIndexed[Times[#1,x^#2[[1]]]&,{coeff}]
On 10/11/06, Peng Yu <pengyu.ut at gmail.com> wrote:
> Suppose I have some data x_i, y_i. Let us generated them by
>
> coef = Table[Random[Real, {-1, 1}], {i, 0, 4}]
> poly = Table[x^n, {n, 0, 4}]
> data = Table[{x, coef.poly}, {x, 0, 1, .01}]
>
> Let us forget how we generated the data. Now, we want to find an
> function to fit the data. The simplest way to do is using Tayler
> series. But the problem is I don't know how many terms I should keep.
> One way I can do is to try for different number of terms. I start by
> only 1 term (0th order).
>
> f[x_, a0_] := a0
> f[x_] := Evaluate@NonlinearFit[data, f[x, a0], {x}, {a0}]
> error = Apply[(f[#1] - #2)^2 &, data, {1}];
> avererror = Apply[Plus, error]/Length[data]
> maxerror = Apply[Max, error]
>
> If the above one doesn't work, I'll try 2 terms (0th and 1st order).
> f[x_, a0_, a1_] := a0 + a1 x
> f[x_] := Evaluate@NonlinearFit[data, f[x, a0, a1], {x}, {a0, a1}];
> error = Apply[(f[#1] - #2)^2 &, data, {1}];
> avererror = Apply[Plus, error]/Length[data]
> maxerror = Apply[Max, error]
>
> I can try even higher orders. But the problem is that ever time I have
> to define the function f[x_,a0_...] and supply the right function and
> parameter list to NonlinearFit. I feel it is especially difficult to
> parameterize the number of parameters to a function.
>
> Can some give some idea on how to do it if it is possible in
> Mathematica? Of cause I could write a python program to generate the
> mathematica code, and call math.exe in the command line mode. But that
> is just to much, I just want to stick with mathematica.
>
> Thanks,
> Peng
>
>
--
http://chris.chiasson.name/
Prev by Date:
**Re: vector derivatives**
Next by Date:
**Re: Update on Weinberg-Sallam model in super symmetry as E8xE8-> energy of split**
Previous by thread:
**Re: Automate datafitting to a series of parameterized function**
Next by thread:
**Re: Automate datafitting to a series of parameterized function**
| |