1

如何扩展关于 Q=0 的泰勒级数/多项式,然后将系数提取为列表

例子 :

taylor ( (sin(q)), q, 0, 9); //taylor expansion for first 9 terms gives the next line

(%o1)/T/    q\-q^3/6+q^5/120\-q^7/5040+q^9/362880+...

然后使用 coeff ((%o1), q ^n); 只给我 n 处的系数,我想要的是该表达式的所有系数的列表

4

2 回答 2

1

试试coeffplus makelist,例如:makelist(coeff(%o1, q, n), n, 0, 9);

于 2020-02-19T23:54:15.370 回答
0

编辑:

我现在看到我误读了您的问题,并且已经有了答案。不过我会保留它,因为它与您的问题有关。


使用powerseries代替taylor

(%i1) expr:powerseries(sin(x),x,0);
                           inf
                           ====        i2  2 i2 + 1
                           \      (- 1)   x
(%o1)                       >     -----------------
                           /         (2 i2 + 1)!
                           ====
                           i2 = 0

args您可以通过orpart函数访问系数

(%i2) op(expr);
(%o2)                                 sum
(%i3) args(expr);
                              i2  2 i2 + 1
                         (- 1)   x
(%o3)                   [-----------------, i2, 0, inf]
                            (2 i2 + 1)!
(%i4) part(expr,1);
                                    i2  2 i2 + 1
                               (- 1)   x
(%o4)                          -----------------
                                  (2 i2 + 1)!
(%i5) args(expr)[1];
                                    i2  2 i2 + 1
                               (- 1)   x
(%o5)                          -----------------
                                  (2 i2 + 1)!

如果要更改索引变量:

(%i6) niceindices(expr),niceindicespref=[n];
                             inf
                             ====       n  2 n + 1
                             \     (- 1)  x
(%o6)                        >    ---------------
                             /       (2 n + 1)!
                             ====
                             n = 0
于 2020-02-19T01:54:37.527 回答