欢迎光临散文网 会员登陆 & 注册

S4E21 Python 数列与Pi 的探究(下)

2022-03-01 08:57 作者:学用数学  | 我要投稿

这一节接续上节 S4E15 Python 数列与Pi 的探究(上)的课程来作数列的探究。本节主要学会 for-loop 的回圈,并以计算以下数列作为案例探究:



你将学会

程式语法

1. 使用 for-loop 结构

2. 了解格式化输出

3. 利用 import math 来

4. 利用 import matplot.pyplot 来绘制折线图

数学与思维

1. 了解数列有收敛与发散两种情况

2. 能探究数列收敛的情况

3. 知道 π 的逼近式


使用指引说明

  1. 若你是第一次使用,请先参考这以下文章来熟悉 Kesci 的界面

    S4E01 Python入门:Kesci 平台与 Python 基本语法

    S4E07 你可以几次可以猜到答案?

  2. 本节课主要接续以下内容,请先完成以下链接的任务。

    S4E15 Python 数列与Pi 的探究(上)

  3. 当熟悉kesci基本操作后可打开如下链接,点选 Fork 进入学习

    https://www.kesci.com/home/project/5df4ebc42823a10036abd20a

  4. 关于本次课程的视频如下:


5. 本节课主要接续以下内容,请先完成以下的任务:


内容摘要


3 用 for-loop 回圈

在前一节用 list 的 for 结构:[k for k in range(10)] 来制造计算等差数列,但如果数列的结构更复杂一些,这一层的 list 表示式就不太方便。这时就需要引入for-loop 回圈的结构来计算下列三角垛的数量。


通过以下代码,在第4行,会显示第 i 层三角数的数量。并通过第 5 行的 sum += 来累计数量,通过一次 for 回圈,就可取得n层三角垜的总数。

ans = 0

n = 10for i in range(1,n+1):    

print(i, sum([k for k in range(1,i+1)]))    

ans += sum([k for k in range(1,i+1)])print(ans)

比较有趣的是对上述的数量,其总和有个一般式的计算式。而其结果还可类推到 n 维空间的三角垜。


4.import math 与 pi 的探究

在此节主要引入数学函式库 import math 来观察验证一些知名数列的收敛与发散的情况。例如,以下这个调和数列,虽然此数列是发散,但这数列 n 项的总和与 log(n) 是很接近的。我们可通过以下代码,来观察在不同 n 值下,其趋近的关系。


对于调和数列,若将分母都改为平方,此时这个数列就会收敛。而其收敛值与 π 竟然有关。

对于π的近似值,Leibniz 的近似公式也相当有名。用奇数的调和交错数列的和竟然也与 π有些关联。

在先前的数列都是以累加的形式出现,下面这个沃利斯在 1665 年发现也可以用连乘积的方式来得到 π 的近似值。而对于这个数列近似值的计算方式就与上面连加的形式不同,而是用递回的方式来实现。

此外可配合 matplotlib.pyplot 来将数列近似的结果用折线图来绘制,可更具象化的观察到其收敛的情况。


除了上述提到的数列的探究,也欢迎交流一些有趣的数列来用 forloop 探究的心得。

参考资料

【Kesci】https://www.kesci.com/home/project/5df4ebc42823a10036abd20a

【Bili】https://www.bilibili.com/video/av79295583



S4E21 Python 数列与Pi 的探究(下)的评论 (共 条)

分享到微博请遵守国家法律