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