シンボリック変数を評価する再帰関数を書きたいと思います。Pythonの例を次に示します。
x = ["x0",...]
y = ["y0",...]
def f(n):
if n<=0:
return x[0]
t1 = x[n]
t2 = y[n]
r = f(n-1)
return t1+t2+r
Mathematicaでそれを再実装するにはどうすればよいですか?
変数名を手動で作成してみました:
toFixedWidth[n_Integer, width_Integer] := \
StringJoin[PadLeft[Characters[ToString[n]], width, "0"]]
make_var[i_] := ToExpression[StringJoin["x", toFixedWidth[i, 2]]]
xtab := Table[{make_var[i]}, {i, 0, 10}]
xtab
しかし、それは機能しません:
{{make_var[0]}, {make_var[1]}, {make_var[2]}, {make_var[3]}, {
make_var[4]}, {make_var[5]}, {make_var[6]}, {make_var[7]}, {
make_var[8]}, {make_var[9]}, {make_var[10]}}
式がどのように展開されるか(例よりも複雑な関数の場合)を確認したいので、すべての変数をシンボリックにします。