gpt4 book ai didi

recursion - 用 Mathematica 实现插值多项式算法

转载 作者:行者123 更新时间:2023-12-03 07:57:26 24 4
gpt4 key购买 nike

我必须在 Mathematica 中实现这个算法:

Algorithm

我的问题是我并不真正理解 Mathematica 语法,因为那里没有很多有用的示例。我做了什么:

(* Input: 4 Points*)
Array[sx, 4, 0];
Array[sy, 4, 0];

sx[0] = -1;
sy[0] = 0;

sx[1] = 0;
sy[1] = 2;

sx[2] = 1;
sy[2] = 4;

sx[3] = 3;
sy[3] = 32;


P[x,0]:=sy[0];

P[x, k_] :=
P[x, k - 1] + (sy[k] - P[sx[k], k - 1])*
Sum[(x - sx[j])/sx[k] - sx[j], {j, 0, x}];

(我试图实现几何平均数但我失败了,因为我什至无法计算总和。)

如何正确实现递归? (几何平均数)

最佳答案

你可以这样定义一个函数P:

P[x_, 0]  := sy[0] 
P[x_, k_] := P[x, k - 1] + (sy[k] - P[sx[k], k - 1])*
Product[(x - sx[j])/(sx[k] - sx[j]), {j, 0, k - 1}] // Simplify

设置值 sxsy 如您在上面定义的那样,我们得到:

In[13]:= P[x, 1] 
Out[13]= 2 (1 + x)

In[14]:= P[x, 2]
Out[14]= 2 (1 + x)

In[15]:= P[x, 3]
Out[15]= 2 + x + x^3

关于recursion - 用 Mathematica 实现插值多项式算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8641049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com