Я пытаюсь отдельно вычислить элементы разложения Тейлора и не получил результаты, которые я должен был получить. Функция для аппроксимации равна х ** 321, и первые три элемента этого разложения Тейлора вокруг х = 1 должны быть:
1 + 321 (х-1) + 51360 (х-1) ** 2
По какой-то причине код, связанный со вторым термином, не работает.
Смотрите мой код ниже.
import sympy as sy
import numpy as np
import math
import matplotlib.pyplot as plt
x = sy.Symbol('x')
f = x**321
x0 = 1
func0 = f.diff(x,0).subs(x,x0)*((x-x0)**0/factorial(0))
print(func0)
func1 = f.diff(x,1).subs(x,x0)*((x-x0)**1/factorial(1))
print(func1)
func2 = f.diff(x,2).subs(x,x0)*((x-x0)**2/factorial(2))
print(func2)
Печать, полученная с использованием этого кода,
1
321x - 321
51360*(x - 1)**2
Я также использовал .evalf и .lambdify, но результаты были одинаковыми. Я не могу понять, откуда исходит ошибка.
f = x**321
x = sy.Symbol('x')
def fprime(x):
return sy.diff(f,x)
DerivativeOfF = sy.lambdify((x),fprime(x),"numpy")
print(DerivativeOfF(1)*((x-x0)**1/factorial(1)))
321*x - 321
Я, очевидно, только начинаю с языка, поэтому спасибо за вашу помощь.