我是 sympy 的新手,正在评估衍生品。我一直在关注例如该视频介绍了 Sympy 中的导数 https://www.youtube.com/watch?v=HSq3JexqZ5k - 但即使严格遵循他们的示例,我的代码也会返回错误。这是我的问题:
编写以下函数:
def myDerivative(w1, w2, x):
myDerivative() 必须计算函数
f(x) = w1 * x^3 + w2 * x - 1
在点 x 上的导数。
经过进一步研究,我想我已经为任何感兴趣的人找到了解决方案。我的错误是使用
x
作为 sy.Symbol('x')
的输出并作为参数(对 x
的两个引用被混淆了)。因此,我将求导数的点对应的参数更改为pt
。我认为这可能是解决方案...
import sympy as sy
def derivative(w1, w2, pt):
x = sy.Symbol('x')
# Define original equation
def f(x, w1, w2):
return w1 * x**3 + w2 * x - 1
# Get derivative of f(x)
def df(x, w1, w2):
return sy.diff(f(x, w1, w2), x)
# Evaluate at point x
return df(x, w1, w2).subs(x, pt)
如果有人正在寻找vanillaPython解决方案来了解正在发生的事情,这里就是
def derivative(w1, w2, x):
term1_derivative = 3 * w1 * x**2
term2_derivative = w2
term3_derivative = 0 # Derivative of a constant is 0
total_derivative = term1_derivative + term2_derivative + term3_derivative
return total_derivative