LoginSignup
2
2

More than 3 years have passed since last update.

Mathematicaで変数名を文字列として利用する

Last updated at Posted at 2019-07-22

目的

Mathematica で変数名そのものを文字列として利用したいときがある。例えばグラフをファイルに出力するときに、グラフが入っている変数の変数名をそのままファイル名にしたいときなど。

方法

HoldForm関数やReleaseHold関数を使う。ここで、HoldForm関数は与えられた引数を未評価のまま出力する関数、ReleaseHold関数はHold関数の出力を評価する関数である。

グラフのプロットを変数に納めて、その変数名のファイルにグラフを出力してみよう。

plt = Plot[ x, {x, -1, 1} ];
Export[ ToString[ #1 ] <> ".png", ReleaseHold[ #1 ] ] & [ HoldForm[ plt ] ];

Export関数の第1引数は変数名pltに拡張子として.pngをつけた文字列になっていて、第2引数は未評価のまま渡されたHoldForm[ plt ]を評価したもの、つまりグラフそのものとなっている。注意点は、純関数の引数にpltを与えてExport関数の第1引数をToString[ HoldForm[ #1 ] ]としてしまわないことだ。こうしてしまうとうまくいかないのだが、理由はpltが評価された後にHoldForm関数に渡されることだと考えられる。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2