воскресенье, 13 сентября 2009 г.

Ряд Тейлора sympy

Функцию легко разложить в ряд Тейлора с помощью sympy:

import sympy
x = sympy.symbols('x')
func = sin(x)
x0 = 0
print (func).series(x, x0, 10) - в точке x0 до 10 порядка

Пример: Ряд Тейлора

3 комментария:

  1. А если так:

    print (1+x+x^2+x3).series(x,0,1)

    То в ответ получишь

    (1+x+x^2+x^3)

    То есть тут он врёт.

    ОтветитьУдалить
  2. Так то жесть конечно - я бы не догадался раскладывать уже разложенное:)

    ОтветитьУдалить
  3. вот спасибо помогли!
    что касается замечания то:
    >>> print (1+x+x*x+x*x*x).series(x,0,1)
    1 + O(x)
    print (1+x^2+x^3).series(x,0,1)
    Traceback (most recent call last):
    File "", line 1, in
    TypeError: unsupported operand type(s) for ^: 'Add' and 'Add'

    я думаю, очевидно, что ^ - это логический оператор, а не степень. свежая версия (как видно) просто не принимает такие выражения

    ОтветитьУдалить