taylor系列中如何扩展功能的组成?

时间:2019-01-22 08:38:35

标签: maxima taylor-series

f(x+f(x))的情况下,我想在taylor系列中扩展类型为x=a的{​​{1}}类型的函数。

f(a)=0

直接演算产生:

(%i1) atvalue(f(x),[x=a],0)$

如果我定义一个中间函数:

(%i2) taylor(f(x+f(x)),x,a,2);

(%o2)/T/ f(a)+(at('diff(f(f(x)+x),x,1),x=a))*(x-a)+((at('diff(f(f(x)+x),x,2),x=a))*(x-a)^2)/2+...

然后我得到泰勒级数的展开式:

(%i3)define(tf(x),taylor(f(x),x,a,2))$

我希望得到以下结果: (%i4) taylor(f(x+tf(x)),x,a,2); (%o4) 0+...

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以使用gradef来简化表示法。

gradef(f(x),  f1(x)) $
gradef(f1(x), f2(x)) $

atvalue(f(x), x = a,  0) $

e: f(x+f(x)) $
e: taylor(e, x, a, 2) $
e: expand(e, 0, 0)$ /* 'taylor' form to ordinar expression */
e: ev(e, nouns);    /* f(a) to 0 */

返回

          2                                          2
       (f1 (a) f2(a) + 3 f1(a) f2(a) + f2(a)) (x - a)
(%o7) -----------------------------------------------
                              2
                                                          2
                                                     + (f1 (a) + f1(a)) (x - a)

答案 1 :(得分:0)

解决方案如下:



    gradef(f(x),  f1(x)) $
    gradef(f1(x), f2(x)) $
    atvalue(f(x), x = a,  0) $

    e: f(x+f(x)) $
    e: taylor(e, x, a, 2) $
    e: expand(e, 0, 0)$ /* 'taylor' form to ordinar expression*/
    e: ev(e, nouns);    /* f(a) to 0 */
    taylor(e,x,a,2); /* Becomes again a taylor serie which could be reused*/

例如,如果我想找到定义的Steffensen method的顺序,则对于函数f为C ^ 2并且f(a)= 0,f'(a)!= 0,由:



    Sf(x)=x-f(x)^2/(f(x+f(x)-f(x))

如果我直接围绕a扩展此功能,则会得到:

Sf(x)=a+(x-a)-(f1(a)^2*(x-a)^2)/f(a)+...

由于f(a)= 0。

因此,必须分两个步骤进行。首先,我扩展分母:

Sf(x)=a+(x-a)-(f1(a)^2*(x-a)^2)/f(a)+...

然后我扩展函数Sf:



    den:f(x+f(x))-f(x)$
    t:taylor(den,x,a,2);
    t: expand(t, 0, 0)$
    t: ev(t, nouns)$
    t:taylor(t,x,a,2);

提供所需结果:



    Sf:x-f(x)^2/(t)$/*Introducing the taylor serie of den*/
    taylor(Sf,x,a,2);