#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. спасибо, это полезно для меня, брат.