作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 SymPy 1.3 中,我有一些线性组合,例如
N1*(-sqrt(15)/36 + 5/36) - 5*N2/18 + N3*(sqrt(15)/36 + 5/36)
如何强制分数为 (5-sqrt(15))/36
?
最佳答案
申请together
,它可以作为函数 together(expr)
或方法 expr.together()
进行调用。如果将其应用于整个表达式,结果可能会过多收集:
N1, N2, N3 = symbols('N1 N2 N3')
expr = N1*(-sqrt(15)/36 + S(5)/36) - 5*N2/18 + N3*(sqrt(15)/36 + S(5)/36)
print(together(expr))
打印(N1*(-sqrt(15) + 5) - 10*N2 + N3*(sqrt(15) + 5))/36
。
这是一个有选择地一起
应用于每个符号系数的版本。
for sym in expr.free_symbols:
expr = expr.xreplace({expr.coeff(sym): together(expr.coeff(sym))})
print(expr)
打印 N1*(-sqrt(15) + 5)/36 - 5*N2/18 + N3*(sqrt(15) + 5)/36
。
关于python - 如何在 SymPy 中收集分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52479112/
我是一名优秀的程序员,十分优秀!