gpt4 book ai didi

python - 如何在 SymPy 中收集分数?

转载 作者:行者123 更新时间:2023-11-30 22:07:23 34 4
gpt4 key购买 nike

在 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/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com