[Date Index]
[Thread Index]
[Author Index]
Re: Setting up equations
*To*: mathgroup at smc.vnet.net
*Subject*: [mg66031] Re: Setting up equations
*From*: Bill Rowe <readnewsciv at earthlink.net>
*Date*: Thu, 27 Apr 2006 02:26:33 -0400 (EDT)
*Sender*: owner-wri-mathgroup at wolfram.com
On 4/26/06 at 4:37 AM, yaroslavvb at gmail.com (Yaroslav Bulatov) wrote:
>I'm trying to do things of the form Solve[5 x + 6 y + 7 z == a x + b
>y + c z, {a, b, c}]
>But since x,y,z are variables, what I really mean is Solve[5==a &&
>6==b && 7==c], so I need to convert to this form
>If I only have one variable, the following does what I need
>LogicalExpand[a*x + b*x^2 + O[x]^3 == 2*x + 3*x^2 + O[x]^3]
I think a simpler more direct approach would be to use CoefficientList here, i.e.
In[16]:=
CoefficientList[2*x + 3*x^2 + O[x]^3, x]
Out[16]=
{0, 2, 3}
or if you prefer rules then:
In[17]:=
MapThread[Rule @@ {##1} & ,
{{a, b}, Rest[CoefficientList[2*x + 3*x^2 + O[x]^3,
x]]}]
Out[17]=
{a -> 2, b -> 3}
>But what to do if I have several variables?
CoefficientList accepts a list of variables, i.e.,
In[18]:=
CoefficientList[5*x + 6*y + 7*z, {x, y, z}]
Out[18]=
{{{0, 7}, {6, 0}}, {{5, 0}, {0, 0}}}
But the output doesn't seem to me to be in a convenient form, so I suggest CoefficientArrays, i.e.,
In[20]:=
Normal[CoefficientArrays[5*x + 6*y + 7*z, {x, y, z}]]
Out[20]=
{0, {5, 6, 7}}
--
To reply via email subtract one hundred and four
Prev by Date:
**Re: Bug in calculating -3^49999.0**
Next by Date:
**Re: Illusory Multicore Support in 5.2?**
Previous by thread:
**Re: Setting up equations**
Next by thread:
**Re: Setting up equations**
| |