Разложение в ряд Тейлора в максимумы

Как развернуть ряд / полиномы Тейлора о 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, я хочу список всех коэффициентов этого выражения


person Mk47    schedule 18.02.2020    source источник


Ответы (2)


Попробуйте coeff плюс makelist, например что-то вроде: makelist(coeff(%o1, q, n), n, 0, 9);

person Robert Dodier    schedule 19.02.2020
comment
вместо 9 можно использовать выражение hipow(%o1,q). - person miracle173; 20.02.2020

Изменить:

Теперь я вижу, что неправильно прочитал ваш вопрос и уже получил ответ. Тем не менее, я сохраню его, потому что он связан с вашим вопросом.


Используйте powerseries вместо taylor:

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

Вы можете получить доступ к коэффициенту с помощью функции args или part

(%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
person miracle173    schedule 19.02.2020