У меня есть 2D кривой Rho (т)SymPy: заменой функции в выражение
import sympy as sy
t = sy.Symbol('t', is_real=True) # curve parameter
rho_x = sy.Function('rho_x', is_real=True)(t)
rho_y = sy.Function('rho_y', is_real=True)(t) # components
rho = sy.Matrix([rho_x, rho_y]) # curve vector
tau = rho.diff()/rho.diff().norm() # tangent
после того, что я хочу, чтобы оценить параметры кривой для конкретной реализации:
real_shape = {rho_x: sy.sin(t), rho_y: sy.cos(t)}
f1 = tau.subs(real_shape)
print f1
f2 = sy.lambdify(t, f1)
print f2(0.1)
я обнаружил, что SymPy автоматически не оценивает производные функций синуса и косинуса, а после звонка print f2(0.1)
появляется сообщение об ошибке:
Что не так в моем примере?
Большое спасибо. Но мне нужно было оценить выражение для каждого компонента матрицы: f1 = [e.doit() для e in f1] Код f1 = f1.doit() не работал ... Еще одна вещь print f1 [cos (t)/sqrt (sin (t) ** 2 + cos (t) ** 2), -sin (t)/sqrt (sin (t) ** 2 + cos (t) ** 2) ] –