Как оценить симпозиальную символическую функцию с несколькими входами - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь использовать 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...