将泰勒扩展分配到功能

gon*_*aao 5 taylor-series maxima

当我使用Maxima计算泰勒级数时:

f(x,y) := taylor((x+y)^3, [x, y], [2, 3], 2);
f(2,3);  /* error: wrong number of arguments */
Run Code Online (Sandbox Code Playgroud)

基本上我想将函数定义为扩展(x+y)^3,它x,y作为参数接收.我怎样才能做到这一点?

sli*_*nov 4

尝试

(%i1) f(x,y) := ''(ratdisrep(taylor(('x+'y)^3, ['x, 'y], [2, 3], 2))) $

(%i2) f(2, 3);
(%o2)                                 125
Run Code Online (Sandbox Code Playgroud)

或者

(%i1) define(f(x, y), ratdisrep(taylor(('x+'y)^3, ['x, 'y], [2, 3], 2)))$

(%i2) f(2, 3);
(%o2)                                 125
Run Code Online (Sandbox Code Playgroud)

  • @gongzhitaao 通常,当通过 `:=` 定义函数时,不会评估函数的主体。`f(x, y) := ''(...))` 和 `define(f(x, y), ...)` 起作用的原因是它们评估函数体(泰勒函数扩展)在定义函数时。 (2认同)