我想以下列方式构建一个函数:
f[x_] := 0;
For[i = 1, i <= n, i++,
g[x_] := 0;
For[k = 1, k <= i, k++,
g ^:= g[#]*(# - X[[k]]) &;
g[x_] = g;
]
f ^:= f[#] + Q[[1, i]]*g[#];
f[x_] = f;
所以我得到了一个多项式 Q_11 *(x-x_1)+ Q_12 *(x-x_1)*(x-2x_2)...
这是我的最新版本,但它不起作用。问题是我必须添加函数(我发现了一些帖子,但我必须保存新函数,以便我可以再次使用它)。 有人知道该怎么做吗?
谢谢!
的Marius
答案 0 :(得分:0)
我无法编写代码的头部或尾部,但您可以像这样轻松地构建结果:
qlist = Array[q, {10, 10}];
xlist = Array[x, 10];
poly[n_] := Sum[ qlist[[1, j]] Product[ (x - xlist[[i]] ), {i, j}] , {j, 3}]
poly[3]
q[1, 1] (x - x[1]) + q[1, 2] (x - x[1]) (x - x[2]) + q[1, 3] (x - x[1]) (x - x[2]) (x - x[3])
如果您确实需要使用UpSetDelayed
提供帮助,则应提出更简单/特定的问题(即没有For
循环。)