如何替换多元函数中一个变量的值?

How can I substitute the value of one variable in a multivariate function?

假设,我有一个函数 f(x,y)=x2+y2。现在,我想替换 x=2,保持 y 符号化。我试过

f.evalf(subs={x:2})

但不是代入x的值,而是给我原来的表达式。

您没有解析所有符号,因此您不会得到 evalf 试图做的评估 - 它只有在替换表达式中的所有变量时才有效。

但是您可以直接在表达式上使用 subs

>>> from sympy import *

>>> x, y = symbols('x y')

>>> expr = x**2 + y**2

>>> expr.subs(x, 2)
y**2 + 4

如果需要,可以随后调用 evalf()