c++绘制抛物线_历经千年,数学家们都是如何绘制“正弦表”的?

本文介绍了牛顿插值公式及其在计算正弦值中的应用,追溯了从古代到近代正弦表的绘制方法,包括二次插值公式法、几何法和不等式逼近法。文章还提到了泰勒级数在现代计算正弦值中的重要性,以及古代数学家如刘焯、婆罗摩笈多和托勒密在正弦表制作上的贡献。
摘要由CSDN通过智能技术生成

1687年,在哈雷(Halley)的鼓动和支持下,不敢轻易发表作品的牛顿(Newton)出版了他耗时3年写成的数学巨著《自然哲学的数学原理》,此书无论之于数学还是物理,都具有划时代的意义。

c84add41bb2d6e9b1a062f48b4f04b60.png

牛顿《自然哲学的数学原理》首版图书封面

大家熟知的“力学三大定律”、“万有引力定律”,以及“微积分”的发明,都集中体现在Newton的《自然哲学的数学原理》一书中。

82c3d06df261194e798e8516e0d22e45.png

但是此书还有一个对微积分影响深远的发现,大家却未必知晓。在《原理》第三篇的引理五求通过任意个点的抛物线类曲线”中,Newton以几何的形式给出、并简单证明了这个发现——“牛顿插值公式”(Newton interpolation formula)。

354c31e69ad7acc2798d5f9074f4ab2d.png

《自然哲学的数学原理》中的“牛顿插值公式”

当然,在欧洲“牛顿插值公式”的发现不只属于Newton,同时期的格雷戈里(gregory)、莱布尼茨( Leibniz)也享有独立的发明权。为了便于大家快速理解这个公式的用途和来由,我们使用现代符号来表示:

0d02620c0f71345bd6f47ba34c365907.png

我们称之为“插值公式”是因为根据已知的n个点得到的这个公式,可以用来近似的估计原函数在其他点的函数值。就好比在这n个点之间插入了一个比较贴近原函数的值,这个功能与“拟合”类似,但不同的是,“插值公式”中已知的n个点一定满足公式。

插值公式”的证明不困难,只需设

b07cb9bd24e34341b5d348d5ee34fc1b.png

并将n+1个点的值逐一带入f(x)求出系数即可。

34ea72ba3dc3d32a9b5808438a0c7f76.png

Newton在这里首次引入了“差商”的概念,差商指的是两个点之间纵坐标之差比上横坐标之差,即△y/△x。

数学中不可避免的会遇到这些新概念,但我们只要多看看,熟悉了也就顺眼了。现在,对“插值公式”稍作变化。令“插值公式”中的c=△x,并让△x→0得,

b822eff51f3d56dea82eb0370f8b65c6.png

这就是大名鼎鼎的泰勒级数(Taylor series)。

87c8cfc8b5851cd8d0d931f98e8fba08.png

泰勒画像

泰勒级数牛顿插值公式的一个重要推广和运用,由于可以轻松将无理函数转化为级数展开形式,泰勒级数在分析学形成早期的函数求导、求积中扮演了最重要的角色。

从“分析”的角度计算正弦值

根据泰勒级数可以得到正弦函数y=sinx的级数展开式:

f17e7351cd9f71079ef2f1ba6e702a55.png

如下图,即使是取

0fcc69f5bec8b8c60e75e3dfb398f1a8.png

,也可以较好的估计y=sinx在(-90°,90°)之间的值。以18°的正弦值为例,g(π/10)≈0.30902与sin(π/10)的值0.30901699...在小数点后5位才出现悬殊。

2ca28667f22fc190a6a43aef20c89658.png

用y=g(x)来估计正弦函数

当然如果我们取的级数展开式的项数越多,得到的正弦值也就越精确。而结合当代计算机的强大功能,我们可以快速计算任意角度的足够精确的正弦值。泰勒级数的功能之强大、过程之简洁实在让人震撼!

2273427c8d3f298d5da3b8dad1b69915.png

但需要说明一点,关于“正弦函数”的展开式,虽然我们常用以上“微分”的方法来求解。但是在牛顿时代,却是通过更复杂的形式——“积分”的方法来得到的。具体参见附录【1】。再往前几个世纪,印度数学家Mādhava最早给出了正弦、余弦、正切的级数展开式,只是当时的欧洲数学家并不知晓。

697ae5df3ae30ff6f76ecd4a9e8da38a.png

总结一下,从“分析”的角度解决“正弦值”问题,不但可以直接计算正弦函数任意角度处的近似值,而且操作简单、精确度有保证,在计算机普及的今天,“正弦表”更是可有可无。但是,早期的天文学家就没有这么幸运,他们的每一次计算都离不开“弦表”,因为这是他们处理数据的基础。既然如此,那早期数学家是如何计算“正弦值”并绘制“正弦表”的呢?

16f7eab4f0d302882eb04f3eec5b625f.png

“二次插值”公式法

还得继续提到数学大家Newton,他和gregory等数学家在欧洲首先发现了插值公式,但实际上插值公式的最初发现并非在欧洲,而是7世纪初的中国。公元600年,隋朝天文学家刘焯(zhuo)创《皇极历》,并用“二次插值公式”来计算日、月、五星的运行速度.

8a95fd046c43d5df65185f349329af94.png

刘焯画像

随后,也是在7世纪,印度著名数学家婆罗摩笈多(Brahmagupta) 为了讨论“*正弦”(这里加*是为了与现在的“正弦”作区分,“*正弦”指的是弧所对正弦线或半弦值),在《肯达克迪迦》(Khandakh1dyaka,音译)一书中也使用了“二次插值公式”。

c2e1c15f1b79bc384419d8c35c5986d6.png

婆罗摩笈多(Brahmagupta)

Brahmagupta首先列出了0°到90°每隔15°的“#正弦值”,然后使用“二次插值公式”:

dd028fe4e3baee954422d46addcd5b70.png

如果需要计算37°的正弦值,利用等式 37°=30°+(7/15)15°,令a=30°,x=7/15,c=15°.则f(a)=*sin30°.....带入公式即可。

374186214254d92506d09615dcd8f18f.png

几何法+三角公式+不等式

最后回到我们的老熟人——古希腊著名数学家托勒密Ptolemy这里。在上一篇文章中,我们说到,Ptolemy的“弦表”是现存最早的“正弦表”,其值指的是2α°弧所对弦长|BC|的值.

6410a874629cfebda58153f374845a94.png

Ptolemy的“弦表”中的弦长|BC|

计算中Ptolemy取圆周为360等分,半径为120等分。为免混淆,下面用# sinα°来表示Ptolemy的“弦值”,以区别于现在的sinα°。

具体步骤如下:

1d59d977eaf80e0a4e095edcccc24b98.png

“弦表”绘制步骤

古希腊的数学著作大多以几何形式呈现,数学概念是几何的、数学推导也是几何的。Ptolemy的著作也不例外,上面的推导过程记录在《至大论》(Almagest)一书中,篇幅有限,不能一一说明它们的具体推导过程,但如果你需要继续思考下去,下面的3个问题会是一个好的出发点:


问题1:如何计算sin72°的值

问题2:如何用“托勒密定理”推导“正弦的和、差角公式”?

问题3:如何用“托勒密定理”推导“半角公式”?


以上问题答案,可参考附录【2】

62390032e61c17cc1015849c549bf6d2.png

Ptolemy绘制的“弦表”建立在几何——尤其是托勒密定理的基础上,并且已经有了等价于现代“正弦的和、差公式”、“半角公式”等三角公式,更难能可贵的是大胆的使用了“不等式”来逼近函数值。后世的印度、阿拉伯数学家对他的方法、成就做了继承和发展,逐步演变成现在比较成熟的“三角学”。

84156f10b657c0d4dac6e8323ec28903.png

“正弦的和公式”

阿拉伯数学家瓦法(Wafa)是第一个计算现代意义下的“正弦值”的人,他使用“不等式逼近法”编制了高度精密的“正弦表”。在计算30′正弦值得时候,使用了不等式:

1b9c3cb97d28acce64ec6768eac24ca8.png

最后计算得到sin30′≈0.008726536673.这个近似值精确到了小数点后9位。这在以前的“弦表”里是见不到的,没错,Wafa创了记录。

56b61f205a67badd8513e2df23c57af5.png

阿布·瓦法(Abū al-Wafāʾ,公元940-998年)

到这里,我们对“弦表”的制作史介绍就告一段落了,三角学这门学科从隶属于天文学,历经千年后独立发展并逐步壮大,离不开一代代的数学巨匠们的奋斗,让我们一起向这些伟大的开拓者和继承者们致敬!

f0a932218a11de0514b49d579c9ded21.png

附录:

【1】.微积分的历程.William Dunham.人民邮电出版社.2012

【2】.世界数学通史(上).梁宗巨.辽宁教育出版社.2005. P438-440

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值