Re: Re: Extracting terms from an equation

*To*: mathgroup at smc.vnet.net*Subject*: [mg69811] Re: [mg69786] Re: Extracting terms from an equation*From*: Bob Hanlon <hanlonr at cox.net>*Date*: Sat, 23 Sep 2006 23:45:02 -0400 (EDT)*Reply-to*: hanlonr at cox.net

It has to do with the different levels at which x appears. FreeQ looks at multiple levels whereas MemberQ is targeted at one or more levels. expr=a+b*x^2+c*y^2+d*x*y+e*x^3; Cases[expr, _?(!FreeQ[#1, x]&)] {b*x^2, e*x^3, d*x*y} Cases[expr, _?(MemberQ[#1, x, 2]&)] {b*x^2, e*x^3, d*x*y} Cases[expr, _?(MemberQ[#1, x, {2}]&)] {b*x^2, e*x^3} Bob Hanlon ---- dimmechan at yahoo.com wrote: > Can someone explain the difference in the following? > > Cases[a + b*x^2 + c*y^2 + d*x*y + e*x^3, _?( !FreeQ[#1, x] & )] > {b*x^2, e*x^3, d*x*y} > > Cases[a + b*x^2 + c*y^2 + d*x*y + e*x^3, _?(MemberQ[#1, x] & )] > {d*x*y} > > Thanks > > Ã?Å¸/Ã?â?? Coleman, Mark Ã?ÂÃ?Â³Ã?Â?Ã?Â±Ã?Ë?Ã?Âµ: > > Greetings, > > > > I'd like to find a general way to extract all of the terms from an > > equation that involve a given variable. For instance, consider the > > equation > > > > myEquation == Exp[a + b x^2 + c y^2 + d x y + e x^3]] > > > > I'd like to define a function such that > > > > myFunction[myEquation,x] returns the result {b x^2, d x y, e x^3} > > > > Thanks, > > > > -Mark >