Generalization of Variables ?
- To: mathgroup at smc.vnet.net
- Subject: [mg109221] Generalization of Variables ?
- From: Jack L Goldberg 1 <jackgold at umich.edu>
- Date: Sat, 17 Apr 2010 06:06:03 -0400 (EDT)
Hi Folks,
The built-in command "Variables" does not give the (naively expected)
answer when it is called with functions such as x + Sin[x]. This
behavior is mentioned in the description of "Variables".
I have constructed a generalization of "Variables" which works as
expected - I think? I would appreciated a critique of this code which
addresses these issues:
a) Is there a situation in which it fails?
b) If the code works, can it be improved.
Question b) is asked because I am not fully acquainted with all of
Mathematica's commands.
Here is the code.
variables[f_]:= Flatten[
Union[
Cases[
Map[N,Level[f,{-1},z_Symbol]]/.True->{}
]
I have tried "variables" on functions coded in the obvious manner, say,
Sin[x]+Exp[x^2], Sin[x+y]-z^2, etc. and a few esoteric examples.
Jack