评估函数在 x 上的导数的 Sympy 解

问题描述 投票:0回答:2

我是 sympy 的新手,正在评估衍生品。我一直在关注例如该视频介绍了 Sympy 中的导数 https://www.youtube.com/watch?v=HSq3JexqZ5k - 但即使严格遵循他们的示例,我的代码也会返回错误。这是我的问题:

编写以下函数:

def myDerivative(w1, w2, x):

myDerivative() 必须计算函数

f(x) = w1 * x^3 + w2 * x - 1
在点 x 上的导数。

python-3.x sympy derivative
2个回答
0
投票

经过进一步研究,我想我已经为任何感兴趣的人找到了解决方案。我的错误是使用

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)

0
投票

如果有人正在寻找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
© www.soinside.com 2019 - 2024. All rights reserved.