Math Maple中泰勒级数的定义

Math Maple中泰勒级数的定义,math,maple,calculus,Math,Maple,Calculus,我试图在Maple中定义一个函数,该函数定义泰勒级数(不使用Taylor()命令)。我使用的是找到的西格玛符号定义 本质上,我需要一个函数,它接受变量a和变量f,其中f是a的函数,如维基百科页面所示。为了简单起见,我只使用了变量a,自己定义了函数 对于这个问题的范围,假设我希望我的代码返回关于x=16的sqrt(x)的泰勒级数 到目前为止,我的总和代码如下: t:=a->sum((D@@n)(f(a))*(x-a)^n/n!,n=0..4); 我在前一行定义了函数f,即sqrt(x) 调

我试图在Maple中定义一个函数,该函数定义泰勒级数(不使用Taylor()命令)。我使用的是找到的西格玛符号定义

本质上,我需要一个函数,它接受变量a和变量f,其中f是a的函数,如维基百科页面所示。为了简单起见,我只使用了变量a,自己定义了函数

对于这个问题的范围,假设我希望我的代码返回关于x=16的
sqrt(x)的泰勒级数

到目前为止,我的总和代码如下:

t:=a->sum((D@@n)(f(a))*(x-a)^n/n!,n=0..4);
我在前一行定义了函数f,即sqrt(x)


调用函数时,
t(16),Maple仅返回系列的第一项,4。当我用一个变量代替a时,我可以看到Maple在每个项上取a的导数,而不是f(a)的导数。当然,这会创建零项,只返回4。

这里需要的D语法是(D@@n)(f)(a),而不是原来的语法

您可以让操作符接受另一个参数来指定索引的上限。除非您希望Maple尝试进行符号求和(对于这样的有限和以及您的意图,这是值得怀疑的),否则您最好使用
add
,而不是
sum

restart:
t:=(a,N)->add((D@@n)(f)(a)*(x-a)^n/n!,n=0..N):

f:=sqrt:
Digits:=15:

S:=t(16,4):
eval(S,x=17.0);
                    4.12310552597046
sqrt(17.0);
                    4.12310562561766

S:=t(16,10):
eval(S,x=17.0);
                    4.12310562561768
sqrt(17.0);
                    4.12310562561766

你是对的:我误用了D语法。我还可以给函数分配第二个变量,用于求和的上限。这使得我可以调用a的值,以及我想要在一行中求和的极限。它工作得很好。也谢谢你的代码:它真的帮助我理解!再次感谢你的回答。