8ttyan’s blog

コンピュータ関係の小ネタ

【Mathematica】下付きnotationの変数を使う方法

通常Mathematicaでは,変数名に下付きの文字を使うことができない.たとえば,以下のようにa_xという変数に一時的に1を代入して式を評価するようなことはできない.

Block[{Subscript[a, x] = 1}, (Subscript[a, x] + 1)^2]

f:id:y8ttyan:20160205123027p:plain

これは,a_xがシンボルではなく,オブジェクトとして定義されている.つまりa_x

Subscript[a,x]

という命令の略記になっている. どうしても変数名にa_xを使いたい場合は,Notationパッケージを読み込んで,Symbolizeすればよい.

Needs["Notation`"]
Symbolize[Subscript[a,x]]

f:id:y8ttyan:20160205123740p:plain

Notationを読み込むとパレットが表示されて,そこからSymbolizeを入力すると黄色い枠が出てくるので,その中に記述するらしい.

参考:How to create symbol whose name has subscript?

Symbolize—Wolfram言語ドキュメント