Я пытаюсь использовать sympy для символического решения функции, затем ввести значения и решить ее численно.Я могу сделать это только с одной переменной, но не могу понять, как это сделать с несколькими переменными.Вот что у меня так далеко.
v,v0,a,t = sp.var('v v0 a t')
args = [v0,a,t]
arg_vals = [1,-9.81,2]
def get_function():
v = v0 + a*t
return v
def get_derivative(fun,var):
derivative = sp.diff(fun,var)
return derivative
def get_integral(fun,var):
integral = sp.integrate(fun,var)
return integral
def eval_function(fun, args, arg_vals):
i=0
for i in range(len(arg_vals)):
args[i] = arg_vals[i]
return fun.evalf(subs={args})
v = get_function()
a = get_derivative(v,t)
x = get_integral(v,t)
x_eval = eval_function(v,args,arg_vals)
Код работает нормально, пока не достигнет eval_function return fun.evalf (subs = {args}).Затем я получаю
>>>TypeError: unhashable type: 'list'
Я пытался понять это некоторое время, и думаю, что кто-то может просто занять несколько секунд и сказать мне, что я тупой.Спасибо за помощь !!
(используя anaconda, spyder, python 3)