mathematica函数之和

时间:2015-03-27 12:46:04

标签: function sum wolfram-mathematica

我想以下列方式构建一个函数:

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

1 个答案:

答案 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循环。)