Python 或 sage 如何实现二项式展开?

2020-11-22 14:09:38 +08:00
 Hlianbobo
例如( a+b )^n
要求他的二项式展开如何实现?注:不是求二项式系数。
n 可以作为输入参数。如果没有给出输入参数,则默认给出前 10 项的解析解。

当可以求得二项式展开的解析解以后,如何在后续程序中调用展开式的某一项。例如展开式的第 22 项。既,在后续程序中引用第 22 项的解析解。
2303 次点击
所在节点    Python
9 条回复
AX5N
2020-11-22 14:29:04 +08:00
不是有二项式展开公式吗,循环过去不就得了?
Hlianbobo
2020-11-22 14:49:27 +08:00
@AX5N 如果单纯为了展示“前 k 项展开式”呢?
no1xsyzy
2020-11-22 15:14:13 +08:00
kikikiabc
2020-11-22 17:05:42 +08:00
感觉可以用 sympy,有个函数 apart 用于因式分解
kikikiabc
2020-11-22 17:11:08 +08:00
是 expand

from sympy import symbols, expand

x, y = symbols('x y')
f = (x + y) ** 3
print(expand(f))
AX5N
2020-11-22 20:16:22 +08:00
@Hlianbobo ...把展开结果全给保存了,展示你需要展示的部分啊
Hlianbobo
2020-11-22 20:51:49 +08:00
@AX5N sympy 已经有的函数,我是不是都要自己重新一遍?
Hlianbobo
2020-11-22 20:52:23 +08:00
@kikikiabc 十分感谢你的优质答案。谢谢!
Hlianbobo
2020-11-22 20:54:07 +08:00
@no1xsyzy kikikiabc 提供的答案十分简练,有用。希望能帮到你。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX