我想写一个递归函数来计算符号变量。这是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]}}
我想看看表达式是如何展开的(对于比示例中更复杂的函数),这就是为什么我希望所有变量都是符号的。