Re: extracting variables from an expression
- To: mathgroup at smc.vnet.net
- Subject: [mg44178] Re: [mg44111] extracting variables from an expression
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Sat, 25 Oct 2003 06:26:29 -0400 (EDT)
- References: <200310231115.HAA23760@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Peter Schinko wrote: > > Hi, > > I'm looking for a function that extracts all variables from a boolean > expression. > For example: > x || y || z > should return something similar to {x, y, z}. > > Is there a similar function in Mathematica? If so, how does it work? > > Thanks very much > Peter Several replies show nice ways to do this assuming variables are atomic. If you want to allow variables to be more general non-numeric things, e.g. x[1], you might convert the input to a nested list structure and use Variables. listify[expr_] := expr /. {Or->List,And->List,Not->List,Xor->List} In[15]:= Variables[listify[ a&&b||c&&Not[d&&a||a[2]]&&b[w]||d&&a[2]&&Sin[x]||Pi||Sin[2]]] Out[15]= {a, b, c, d, a[2], b[w], Sin[x]} Daniel Lichtblau Wolfram Research
- References:
- extracting variables from an expression
- From: "Peter Schinko" <Peter.Schinko@utanet.at>
- extracting variables from an expression