Ошибка при реализации дробного дифференцирования

#python

Вопрос:

Я пытаюсь реализовать дробное дифференцирование в python, но получаю ошибку.

 def fractional_derivative(x):  # fractiona derivative formula implementation  x, a, b, c = smp.symbols('x a b c', real = True)  f = smp.exp(-a*smp.sin(x**2)) * smp.sin(b**x) * smp.log(c * smp.sin(x)**2 /x)   dfdx = smp.diff(f,x)  d4fdx4 = smp.diff(f,x,4).evalf()  d4fdx4.subs([(x, 4), (a , 1), (b , 2), (c, 3)]).evalf()  d4fdx4_f = smp.lambdify((x,a ,b,c) , d4fdx4)  y = d4fdx4_f(x, a=1, b=2, c=3)  print("Successfully Implemented and new feature are created based on Fractional Derivative.")     X_train_vectorized = fractional_derivative(X_train_vectorized)  

ошибка в чем?

 TypeError: loop of ufunc does not support argument 0 of type Pow which has no callable sin method  

Комментарии:

1. Привет, ошибка заключается в том, что входное значение для x = 0. 0 является недопустимым, поскольку f содержит (sin(x))^2 . Поэтому убедитесь, что X_train_vectorized они не содержат никаких x=0 .

2. Для ясности убедитесь X_train_vectorized , что они не содержат никаких значений, которые делают sin(x)=0 .

3. спасибо, это полезно для меня, брат.