如何推导椭圆周长初等公式
-
如何推导椭圆周长初等公式
四川省美姑县中学
周钰承
★
关键词:函数模型,椭圆周长。
★
内容提要:如何推导出一个简单而
又精确椭圆周长公式?
利用信息技
术,搜集准确的数据;建立恰
当的函数模型并求解;对函数模型
进行检验、评价和应用。
<
/p>
有一个困惑笔者多年的现象:一些小学生常常追问老师,椭圆周长是怎样计
算的?而到了高中,
他们已经学习了椭圆的方程式,
却
再也没有一个学生问到这
个问题。
是多年的应试教育,
吞噬了他们的求知欲吗?兴趣是最好的老师,
当前
的信息技术足以让高中学生重回小学时代。利用信息技术构建函数解决实际问
题,通常
需要三个步骤:搜集数据代表;构建函数模型并求解;检验、评价与应
用。
第一步,搜集数据代表。
x
2
y
2
椭
圆的标准方程是
2
2
1
(
a
b
)
。
其中
a
,
b
表
示椭圆的长半轴长及短半轴
a
b
长。在
因特网搜索“椭圆周长”,可以很快找到椭圆积分的表达式。但由于该公
式中的被积函数
的原函数不是初等函数,
所以迄今为止,
尚没有准确的椭圆周长
的初等函数公式。打开不同的网页,我们可以找到椭圆周长著名的项名达公式:
1
2
2
< br>1
3
2
e
4
1
3
5
p>
2
e
6
1
3
5
7
< br>
2
e
8
C
2
a
p>
1
e
< br>
(
1
)
2
2
4
p>
3
2
4
6
5
2
4
6
< br>
8
7
p>
其中
e
为离心率。根据(
1
)式,可写出计算椭圆周
长
C
的计算机程序,并得到表
1
:
Private Sub Form_Click ( )
a = 1
:
’
长半轴
长度。
a
、
b
可根据实际问题改为其它值
b = 0.15
:’
短半轴长度,应不大于
a
,否则两者互换
e = sqr(1-b*b/a/a)
:
’
椭圆离心率
k0 = 0.25*e^2
:
’
(
p>
1
)式括号中的第二项
s = 1-k0
:
’
(
p>
1
)式括号中的前二项
for
I = 2
to
1000000
:
’
级数算到百万项,一般计算机只需几秒钟
k =
k0*(2*I-1)^2/(2*I)^2*(2*I-3)/(2*I-1)*e*e
:
’
(1)
式括号中的某一项
s = s
–
k
:
’
将各项累加到
s
中去,最终就得到
(1)
式括号中的值
k0 = k
:
’
为计算下一项,将前一项结果赋给
k0
next
I
:
’
循环
print
2*3.1415926535*a*s
:
’
打印或显示计算结果
End Sub
a
椭圆周长
b
1
0.00
4.
…
1
1
1
1
1
1
1
1
0.01
0.10
0.25
0.50
0.75
0.90
0.99
1.00
4.
…
4.
…
4.2892108875
…
4.8442241100
…
5.5258730400
…
5.9731604325
…
6.2518088479
…
6.2831853070
…
表
1
第二步,构建函数模型并求解。
<
/p>
项名达公式虽然易于设计程序,
但不利于函数建模。
另一个级数公式更容易被高中学
生理解:
25
8
49
10
C
(
a
b
)[
1
< br>
……
]
(
2
)
p>
4
64
256
16
384
65536
其中
2
< br>4
6
a
b
,
(
a
b
)
。
p>
a
b
如果利用这个公式来计算椭圆周长,
当
a
与
b
的值比较接近时,
只需要级数前两项就
可以达到相当高的准确率,但当
a
与
b
的取值相差较大时,
即使是用到级数第十项,
误差还
相当大。我们可以根据这个
级数公式,构建一个新的函数模型。
在公式(
2
)中,设:
25
8
49
10
< br>
…………………………(
3
)
4
64
25
6
16384
65536
则(
2
)变形为:
p>
2
4
6
C
(
a
b
< br>)[
1
]
…………………………………………………(
4
)
我们改造函数模型,考虑到函数(
3
)具有三个重要特征:
1.
< br>各项均含有因式
;
2.
2
a
b
椭圆周长趋近于圆周长
C
2
a
,
此时
0<
/p>
;
3.
当
b
p>
0
0
,
a
b
4
时,
1
,椭圆周长趋近两倍长
轴长,即
C
4
a
,此时
。因此,我们构建
当
b
a
时,
函数模型:
x
y
2
2
< br>
…………………………………………………………(
5
)
z
p>
w
2
(
5
)式中
是自变量,
C
a
p>
b
1
,
x
,
y
,
z
,
w
< br>为待定系数。为了
,
(
a
b
)
a
b
使函数(
5
)拟合函数(<
/p>
3
)
,我们取表
1
中最具有代表性的数据。用
b=0.25,b=0.50,b
=0.75
那三行数据,把三个点的坐标
(
,
)
: