Python sympy.subs()方法
在sympy.subs()方法的帮助下,我们可以将数学表达式中的某个变量或表达式的所有实例替换成其他变量或表达式或值。
语法: math_expression.subs(variable, substitute)
参数:
variable- 它是将被替换的变量或表达式。
substitute- 它是作为替代的变量或表达式或值。
返回:返回替换后的表达式。
示例 #1:
在这个例子中,我们可以看到,通过使用sympy.subs()方法,我们可以找到用其他变量或表达式或值替换一个变量或表达式后的结果表达式。在这里我们也使用symbols()方法来声明一个变量为符号。
# import sympy
from sympy import *
x, y = symbols('x y')
exp = x**2 + 1
print("Before Substitution : {}".format(exp))
# Use sympy.subs() method
res_exp = exp.subs(x, y)
print("After Substitution : {}".format(res_exp))
输出:
Before Substitution : x**2 + 1
After Substitution : y**2 + 1
示例 #2:
在这个例子中我们看到,如果被替换的数值是数字,那么sympy.subs()就会返回所产生的表达式的解。
# import sympy
from sympy import *
x = symbols('x')
exp = cos(x) + 7
print("Before Substitution : {}".format(exp))
# Use sympy.subs() method
res_exp = exp.subs(x, 0)
print("After Substitution : {}".format(res_exp))
输出:
Before Substitution : cos(x) + 7
After Substitution : 8
示例 #3:
在这个例子中,我们看到,如果我们把一个(旧,新)对的列表传给subs,我们就可以进行多次替换。
# import sympy
from sympy import *
x, y, z = symbols('x y z')
exp = x**2 + 7 * y + z
print("Before Substitution : {}".format(exp))
# Use sympy.subs() method
res_exp = exp.subs([(x, 2), (y, 4), (z, 1)])
print("After Substitution : {}".format(res_exp))
输出:
Before Substitution : x**2 + 7*y + z
After Substitution : 33