SymPy变量替换:如何将x的表达式转为y的表达式(无需显式指定)
在SymPy中基于变量关系转换表达式变量
你可以直接用subs()方法传入变量的等式关系,无需手动指定每一处替换规则。只要把x = y + 2这个对应关系传给subs(),SymPy就会自动将表达式中所有的x替换为y+2,直接得到关于y的表达式。
完整示例代码如下:
from sympy import symbols, sin, cos # 定义变量与原表达式 x, y = symbols('x y') expr = sin(2*x) + cos(2*x) # 传入变量对应关系完成转换 expr_in_y = expr.subs(x, y + 2) print(expr_in_y) # 输出结果:sin(2*y + 4) + cos(2*y + 4)
额外说明
- 如果变量关系是更复杂的形式(比如
x - y = 2),你可以先推导得到x关于y的表达式,再传入subs();或者直接传入(x, y+2)这样的元组,效果完全一致。 - 这种方式会自动遍历处理表达式中所有
x的出现,不需要逐个指定替换项,适合批量完成变量转换。
内容的提问来源于stack exchange,提问作者R Walser
相关产品推荐
相关产品推荐

