我试图使用使用sympy.diff找到的导数函数来计算其他值。出于某种原因,当我尝试我的代码时,我会收到以下消息:
ValueError:第一个变量不能是数字:4
这是我的代码:
import sympy as sp
def f(x):
return (x**2-3)/2
x = sp.Symbol('x')
def df(x):
return sp.diff(f(x), x, 1)
print('la dérivée de f(x) est:', df(x))
print(df(4))发布于 2021-02-04 23:07:48
原因是,在print(df(4))中,您将数字4传递给df,后者将其像sp.diff(f(4), 4, 1)一样传递给sp.diff。
您的意思是将sp.Symbol('x')传递给sp.diff,然后该函数将返回一个函数(= f对x的导数),该函数可以传递数字4 (= x = 4处的计算值)。
import sympy as sp
def f(x):
return (x**2-3)/2
x = sp.Symbol('x')
def df(x):
return sp.diff(f(x), x, 1)
print('la dérivée de f(x) est:', df(x))
print(df(x)(4)) # note the additional (x) herehttps://stackoverflow.com/questions/66055141
复制相似问题