gpt4 book ai didi

python - 在 Python 中评估符号函数的参数导数

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:59 25 4
gpt4 key购买 nike

我是 Python (v 3.7) 的初学者,我正在尝试对包含参数的符号函数的导数进行数值计算,但我无法以成功的方式提供值。

我尝试了不同的组合,从阅读中获得灵感 this question还有一些来自 here 的东西.

这是一个复制我的问题的最小示例:

import sympy as sym
from sympy import*

x, y, a = sym.var('x, y, a')
def f(x,y):
return a*x**2 + x*y**2
fprime = sym.diff(f(x,y),x)

print(f(1,1))
print(fprime.evalf(subs={x: 1, y: 1}))

正如预期的那样,第一个 print 的输出是 a+1 但第二个打印出现问题,因为我得到的输出是 2.0*a* x + y**2 而我希望获得 2*a+1

我该如何修改我的代码?我还尝试单独定义 fprime 并运行以下命令:

def fprime(x,y):
return sym.diff(f(x,y),x)
print(fprime(x,1))

但我仍然无法取得任何进展。谢谢!

最佳答案

只需使用替换。当您尝试从数字表达式中获取数字时,请使用 evalf。 Your, containing unevaluated a 还不是数字,因此评估拒绝了它。

>>> fprime.subs({x: 1, y: 1})
2*a + 1

关于python - 在 Python 中评估符号函数的参数导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com