3
は、なぜこのコードなぜ私のimplemented_function()はNameErrorになります:グローバル名 'Derivative'は定義されていませんか?
user_f = lambda a, b: a + b
user_x = lambda u: 2 * u
import sympy
from sympy.abc import t
from sympy.utilities.lambdify import implemented_function
x = implemented_function(sympy.Function('x'), user_x)
f = implemented_function(sympy.Function('f'), user_f)
dx = sympy.diff(f(x(t), t), t, 1)
print(dx)
fl = sympy.lambdify((x(t), t), dx)
print(fl(x(t), t))
は私に次の出力を与えるのでしょうか? (デリバティブを完全に評価するのに十分な情報はありませんか?)
このエラーを解決するにはどうすればよいですか?入力としてuser_f
とuser_x
が与えられたとします。 sympy.lambdify()
のmodules
引数を提供
Derivative(x(t), t)*Subs(Derivative(f(_xi_1, t), _xi_1), (_xi_1,), (x(t),)) + Subs(Derivative(f(x(t), _xi_2), _xi_2), (_xi_2,), (t,))
Traceback (most recent call last):
File <path>, line 12, in <module>
print(fl(x(t), t))
File "<string>", line 1, in <lambda>
NameError: global name 'Derivative' is not defined
これは役立つかもしれない:https://github.com/sympy/sympy/issues/10250 – cdarke
@cdarke:私は実際にそれを見ましたすでに、数値評価について話していますか?私はすべてのことを象徴的にやっているし、私はどんな方程式も解くつもりはない。 – Mehrdad
'sympy.lambdify'の' modules'引数を使ってみましたか?:fl = sympy.lambdify((x(t)、t)、dx、modules = sympy) '? – Leon