Here's a small listing where I've used EscqEsc to typeset θ in the notebook:
Clear[ f, θ, Subscript[x, r] ]
Subscript[x, r] := 3
f[θ_] := Subscript[x, r] Cos[θ]
Plot[f[θ], {θ, 0, Pi}]
(in my notebook this looked like $x_r$, not Subscript[x, r] for example).
This produces a message from Clear of the form:
Clear::ssym : x_r is not a symbol or a string
What is curious is that I appear to be able to assign to this variable $x_r$ without any trouble, yet it is apparently treated differently than my other symbols f and θ.
How exactly does Mathematica define a symbol. Why can I use $x_r$ like a variable, yet it does not have this symbol characterization?
Answer
Your code reveals exactly why Clear complains: Subscript[x, r] is not a Symbol nor a String. When you assign a value to it, you're setting a DownValue not an OwnValue; in other words, you're setting the value of a function not a variable. To use $x_r$ as a symbol, use the Notation` package's function, Symbolize. I'd recommend using it from the palette directly, as it has all of the intricacies already set up for you.
Comments
Post a Comment