python同分母到符号分数

2024-05-16 10:35:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想生成一个函数,它接收一个带分数的表达式(如A/(p+1)+B/(p+2)),并返回公共分母分数,并将公共部分打包到分子中 (如((A+B)p+2A+B)/((p+1)(p+2))[作为公共倍数取出的p])

sumpy中有一个together函数,它采用公共分母,但不包含分子

我该怎么做?谢谢


Tags: 函数表达式分子分数together倍数分母sumpy
1条回答
网友
1楼 · 发布于 2024-05-16 10:35:38

调用together后,可以使用fraction分隔分子和分母,然后可以使用expand/collect处理分子:

In [38]: A, B, p = symbols('A, B, p')

In [39]: A/(p+1)+B/(p+2)
Out[39]: 
  A       B  
───── + ─────
p + 1   p + 2

In [40]: e = A/(p+1)+B/(p+2)

In [41]: together(e)
Out[41]: 
A⋅(p + 2) + B⋅(p + 1)
─────────────────────
   (p + 1)⋅(p + 2)   

In [42]: fraction(together(e))
Out[42]: (A⋅(p + 2) + B⋅(p + 1), (p + 1)⋅(p + 2))

In [43]: n, d = fraction(together(e))

In [44]: n = collect(expand(n), p)

In [45]: n/d
Out[45]: 
2⋅A + B + p⋅(A + B)
───────────────────
  (p + 1)⋅(p + 2)  

相关问题 更多 >