Re: naive question
- To: mathgroup at smc.vnet.net
- Subject: [mg92835] Re: naive question
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Tue, 14 Oct 2008 05:00:00 -0400 (EDT)
On 10/13/08 at 6:18 AM, fgutiers2002 at yahoo.com (Francisco Gutierrez)
wrote:
>Dear Friends: I am using Fit within a function, and I want it to
>produce only a list of
>coefficients, without the variables.
>For example, if I plug into fit the following:
>Fit[{{1,2,3},{4,5,6},{7,8,9}},{1,x1,x2},{x1,x2}], Mathematica
>produces: 1.55556+0.555556 x1+0.444444 x2
>I want to get only the following list: {1.55556,0.555556,0.444444}
>It seem awfully simple, but I haven't managed. How can I do it?
You could use CoefficientList to extract the coefficients as follows:
In[27]:= Flatten[
CoefficientList[
Fit[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {1, x1, x2}, {x1,
x2}], {x1,
x2}]][[{1, 3, 2}]]
Out[27]= {1.55556,0.555556,0.444444}
But I think a better approach would be to use FindFit instead of
=46it. That is,
In[28]:= {a, b, c} /.
FindFit[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}},
a + b x1 + c x2, {a, b, c}, {x1, x2}]
Out[28]= {1.55556,0.555556,0.444444}