假设我定义了以下表达式:
poly1 = 6/(25*(x + 3)) + 1/(5*(x + 3)**2)
打印出来:
6/(25*x + 75) + 1/(5*(x + 3)**2)
我有两个关于这个表达的问题。首先,有没有办法让表达式保持我输入的格式?特别是,我可以做些什么来将第一项的分母保留为25*(x + 3)
?
其次,如果我有印刷形式的表达式,那么拆分表达式、重新格式化第一项的分母,然后将其重新组合在一起的最佳方法是什么?理想情况下,我将能够使用一系列args
调用来深入研究表达式以获得第一项的分母,然后使用 factor 函数将其正确分解,如poly1.args[0].args[1].args[0].factor()
. 问题是,由于组成表达式的元组是不可变的,我不能只用poly1
上面计算的表达式替换一块。有没有比从头开始重建整个表达式更好的方法来替代因式分解的多项式?
注意:我宁愿不使用该subs()
方法,因为它会搜索整个表达式,而且在某些情况下,您似乎希望对修改的不同部分非常具体。
饮歌长啸
相关分类