Re: Generating Arbitrary Linear Combinations of Functions

• To: mathgroup at smc.vnet.net
• Subject: [mg120326] Re: Generating Arbitrary Linear Combinations of Functions
• From: Thomas Markovich <thomasmarkovich at gmail.com>
• Date: Tue, 19 Jul 2011 06:55:32 -0400 (EDT)

```Hi All,

I'm trying to curve fit an arbitrary linear combination of distributed
gaussians to a function -- each with their own set of parameters. Currently,
if I want to use twenty functions, I do the following

f[a_?NumberQ, x_?NumberQ, xi_?NumberQ, c_?NumberQ] := (
c E^(- a (x - xi)^2/2))/Sqrt[a/=F0];
Data := Table[{n/50, N[f[n/50]]}, {n, -300, 300}];

model = f[a1, x, x1, c1] + f[a2, x, x2, c2] + f[a3, x, x3, c3] +
f[a4, x, x4, c4] + f[a5, x, x5, c5] + f[a6, x, x6, c6] +
f[a7, x, x7, c7] + f[a8, x, x8, c8] + f[a9, x, x9, c9] +
f[a10, x, x10, c10] + f[a11, x, x11, c11] + f[a12, x, x12, c12] +
f[a13, x, x13, c13] + f[a14, x, x14, c14] + f[a15, x, x15, c15] +
f[a16, x, x16, c16] + f[a17, x, x17, c17] + f[a18, x, x18, c18] +
f[a19, x, x19, c19] + f[a20, x, x20, c20];
nlm = NonlinearModelFit[Data,
model, {a1, x1, c1, a2, x2, c2, a3, x3, c3, a4, x4, c4, a5, x5, c5, a6,
x6,
c6, a7, x7, c7, a8, x8, c8, a9, x9, c9, a10, x10, c10, a11, x11, c11,
a12, x12, c12, a13, x13, c13, a14, x14, c14, a15, x15, c15, a16, x16,
c16,
a17, x17, c17, a18, x18, c18, a19, x19, c19, a20, x20, c20}, x];

This works well but it becomes tedious to create these linear combinations
by hand. It would be wonderful to create a linear combination of functions
with a vector of coefficients for a, xi, and c. I am just unsure of how to
approach this and I was hoping that you guys could offer some insight into
this.

Best,

Thomas

```

• Prev by Date: Re: Numerical accuracy/precision - this is a bug or a feature?
• Next by Date: Re: I think Omitting the multiplication sign is a big mistake
• Previous by thread: Re: sorting a nested list of 4-tuples
• Next by thread: Re: Generating Arbitrary Linear Combinations of Functions