回到十六世纪,让我用初等数学方法编算三角正弦函数表
(2013-09-02 17:39:31)
标签:
教育 |
常用对数表总算编出来了,要问,是否摸到古人的边?还是不知道。但总算了了一桩心事。
二
Sin
0°=0
Sin 45°= (√2 )/2
=0.707106781
Sin 72°= √(10+2*√5 )
/4=0.951056516
1
2
3
就可以推算其他角度的Sin,但它们是属于派生的,列一些于下:
Sin
3°=0.052335956
Sin
18°=0.309016994
Sin
45°=0.707106781
Sin
75°=0.965925826
三
sin3α= sinα(3-4 sin2α),把Sin 3°=0.052335956作为已知数,sinα作为未知数,反过来便有:
Sinα= sin 3α/ (3-4 sin2α),由于α=1°,sin 3°=0.052335956,所以
Sin 1°= sin 3° / (3-4 sin21°)= 0.052335956/(3-4 sin2 1°)……(1)
于是就用迭代法反求sin1°。由于sin 1°是未知量,暂时取一个近似值,先代入sin2 1°,按(1)式计算,便得较好的sin 1°,再将此较好的sin 1°第二次代入sin2 1°,得第三次sin 1°,此后反复代入,直到
sin 1°收敛,不再变动,即为结果。计算表明:即使用误差极大的值,如
sin 1°= 0.1作第一次近似值,也只趋近六次。用较好的初始近似值时,迭代次数可以减少。所谓“较好的初始近似值”是用弧长来代替。弧长值为:α/180*3.1416=1/180*3.1416=0.01745333。在算例中第一次sin1°取0.01745,经过三次迭代收敛,最后sin 1°= 0.017452406。
现将迭代运算Sin 1°= 0.052335956/(3-4 sin2 1°) 结果列于下表,以见趋近情况。
算例 |
趋近 |
sin 1° 近似值 |
sin 1° 渐近结果 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
五
第一步
sin 1°= 0.017452400,cos 1°=0.999847695
sin 1°=sin(0+1)=sin0 cos1+cos0 sin1
=0.*0.999847695+1.* 0.017452400= 0.017452400、
cos1°=√(1- 0.017452400* 0.017452400)=0.999847695
第二步 己知 α=1, sin 1= 0.017452400,cos 1=0.999847695,β=1,
sin 1= 0.017452400,cos 1=0.999847695
sin2°=sin(1+1)=sin1cos1+cos1sin1
=0.017452400*0.999847695+0.999847695* 0.017452400= 0.034899484
cos2°=√(1- 0.034899484*0.034899484)=0.999390827
第三步 己知 α=2,sin 2= 0.034899484,cos 2=0.999390827,β=1,sin 1= 0.017452400,
cos 1=0.999847695
sin3°=sin(2+1)=sin2 cos1+cos2 sin1
= 0.034899484*0.999847695+0.999390827* 0.017452400=0.052335937
cos3°=√(1- 0.052335937*0.052335937)=0.998629536
第四步 己知 α=3,sin 3= 0.052335937,cos 3=0.998629536,β=1,sin 1= 0.017452400,
cos 1=0.999847695
sin4°=sin(3+1)=sin3 cos1+cos3 sin1
= 0.052335937*0.999847695+0.998629536*0.017452400=0.069756448
cos4°=√(1- 0.069756448*0.069756448)=0.997564052
第五步α=4,β=1,……循环下去。计算结果整理在表A的sin计算值中。
表A
|
|
控制点值 |
改正值 |
改正后Sin α |
|
|
|
|
|
|
|
|
0.000000000 |
0. |
|
0.000000000 |
0.000000000 |
|
0.017452400 |
|
|
0.017452406 |
0.017452406 |
|
0.034899484 |
|
|
0.034899497 |
0.034899497 |
|
0.052335937 |
|
|
0.052335956 |
0.052335956 |
|
0.069756448 |
|
|
0.069756473 |
0.069756474 |
|
0.087155711 |
|
|
0.087155743 |
0.087155743 |
|
0.104528425 |
|
|
0.104528463 |
0.104528463 |
|
0.121869299 |
|
|
0.121869343 |
0.121869343 |
|
0.139173050 |
|
|
0.139173101 |
0.139173101 |
|
0.156434408 |
0.156434465 |
|
0.156434465 |
0.156434465 |
|
0.173648114 |
|
|
0.173648177 |
0.173648178 |
|
0.190808926 |
|
|
0.190808995 |
0.190808995 |
|
0.207911615 |
|
|
0.207911690 |
0.207911691 |
|
0.224950972 |
|
|
0.224951053 |
0.224951054 |
|
0.241921808 |
|
|
0.241921895 |
0.241921896 |
|
0.258818951 |
|
|
0.258819044 |
0.258819045 |
|
0.275637256 |
|
|
0.275637355 |
0.275637356 |
|
0.292371599 |
|
105 |
0.292371704 |
0.292371705 |
|
0.309016883 |
0.309016994 |
111 |
0.309016994 |
0.309016994 |
|
0.325568038 |
|
116 |
0.325568154 |
0.325568154 |
|
0.342020021 |
|
121 |
0.342020142 |
0.342020143 |
|
0.358367822 |
|
126 |
0.358367948 |
0.358367950 |
|
0.374606461 |
|
131 |
0.374606592 |
0.374606593 |
|
0.390730991 |
|
137 |
0.390731128 |
0.390731128 |
|
0.406736501 |
|
142 |
0.406736643 |
0.406736643 |
|
0.422618115 |
|
147 |
0.422618262 |
0.422618262 |
|
0.438370995 |
|
152 |
0.438371147 |
0.438371147 |
|
0.453990343 |
0.453990500 |
157 |
0.453990500 |
0.453990500 |
|
0.469471402 |
|
161 |
0.469471563 |
0.469471563 |
|
0.484809455 |
|
164 |
0.484809619 |
0.484809620 |
|
0.499999831 |
|
168 |
0.499999999 |
0.500000000 |
|
0.515037902 |
|
172 |
0.515038074 |
0.515038075 |
|
0.529919087 |
|
175 |
0.529919262 |
0.529919264 |
|
0.544638855 |
|
179 |
0.544639034 |
0.544639035 |
|
0.559192720 |
|
183 |
0.559192903 |
0.559192903 |
|
0.573576249 |
|
186 |
0.573576435 |
0.573576436 |
|
0.587785062 |
0.587785252 |
190 |
0.587785252 |
0.587785252 |
|
0.601814830 |
|
192 |
0.601815022 |
0.601815023 |
|
0.615661280 |
|
194 |
0.615661474 |
0.615661475 |
|
0.629320193 |
|
196 |
0.629320389 |
0.629320391 |
|
0.642787409 |
|
198 |
0.642787607 |
0.642787610 |
|
0.656058827 |
|
200 |
0.656059027 |
0.656059029 |
|
0.669130402 |
|
202 |
0.669130604 |
0.669130606 |
|
0.681998154 |
|
204 |
0.681998358 |
0.681998360 |
|
0.694658163 |
|
206 |
0.694658369 |
0.694658370 |
|
0.707106573 |
0.707106781 |
208 |
0.707106781 |
0.707106781 |
|
0.719339591 |
|
208 |
0.719339799 |
0.719339800 |
|
0.731353491 |
|
208 |
0.731353699 |
0.731353702 |
|
0.743144615 |
|
208 |
0.743144823 |
0.743144825 |
|
0.754709369 |
|
208 |
0.754709577 |
0.754709580 |
|
0.766044232 |
|
209 |
0.766044441 |
0.766044443 |
|
0.777145750 |
|
209 |
0.777145959 |
0.777145961 |
|
0.788010543 |
|
209 |
0.788010752 |
0.788010754 |
|
0.798635300 |
|
209 |
0.798635509 |
0.798635510 |
|
0.809016785 |
0.809016994 |
209 |
0.809016994 |
0.809016994 |
|
0.819151836 |
|
207 |
0.819152043 |
0.819152044 |
|
0.829037366 |
|
205 |
0.829037571 |
0.829037573 |
|
0.838670363 |
|
202 |
0.838670565 |
0.838670568 |
|
0.848047893 |
|
200 |
0.848048093 |
0.848048096 |
|
0.857167100 |
|
198 |
0.857167298 |
0.857167301 |
|
0.866025205 |
|
196 |
0.866025401 |
0.866025404 |
|
0.874619511 |
|
193 |
0.874619704 |
0.874619707 |
|
0.882947400 |
|
191 |
0.882947591 |
0.882947593 |
|
0.891006335 |
0.891006524 |
189 |
0.891006524 |
0.891006524 |
|
0.898793860 |
|
185 |
0.898794045 |
0.898794046 |
|
0.906307605 |
|
180 |
0.906307785 |
0.906307787 |
|
0.913545279 |
|
176 |
0.913545455 |
0.913545458 |
|
0.920504679 |
|
171 |
0.920504850 |
0.920504853 |
|
0.927183685 |
|
167 |
0.927183852 |
0.927183855 |
|
0.933580262 |
|
162 |
0.933580424 |
0.933580426 |
|
0.939692461 |
|
158 |
0.939692619 |
0.939692621 |
|
0.945518421 |
|
153 |
0.945518574 |
0.945518576 |
|
0.951056367 |
0.951056516 |
149 |
0.951056516 |
0.951056516 |
|
0.956304613 |
|
142 |
0.956304755 |
0.956304756 |
|
0.961261559 |
|
135 |
0.961261694 |
0.961261696 |
|
0.965925696 |
|
128 |
0.965925824 |
0.965925826 |
|
0.970295603 |
|
121 |
0.970295724 |
0.970295726 |
|
0.974369948 |
|
115 |
0.974370063 |
0.974370065 |
|
0.978147491 |
|
108 |
0.978147599 |
0.978147601 |
|
0.981627081 |
|
101 |
0.981627182 |
0.981627183 |
|
0.984807659 |
|
|
0.984807753 |
0.984807753 |
|
0.987688254 |
0.987688341 |
|
0.987688341 |
0.987688341 |
|
0.990267991 |
|
|
0.990268068 |
0.990268069 |
|
0.992546082 |
|
|
0.992546150 |
0.992546152 |
|
0.994521835 |
|
|
0.994521893 |
0.994521895 |
|
0.996194647 |
|
|
0.996194695 |
0.996194698 |
|
0.997564009 |
|
|
0.997564048 |
0.997564050 |
|
0.998629503 |
|
|
0.998629532 |
0.998629535 |
|
0.999390805 |
|
|
0.999390824 |
0.999390827 |
|
0.999847684 |
|
|
0.999847694 |
0.999847695 |
|
1.000000000 |
1 |
|
1.000000000 |
1.000000000 |
sin 0
分析。这是一条开口向下的抛物误差曲线。共十个大区间,每区间的一次差分已成一条斜线,二次差分变成平缓的斜线,三次差分已近乎一条水平线。而每个大区间中,又有九个小区间。如果在每一个大区间中,按线性内插,则每一点上,每度,其平均内插误差在2以下,最大不会超过25 / 9 = 3的误差,即在54°到90°之间,可能会有3的误差。
于是将上述误差,在每个大区间内,分别作线性内插,把误差分配、分摊掉,算得第四列改正值。
改正后的Sin α,与正确的电脑Sin α相比,改正值残剩误差为3的,有14个,占16﹪,且分布在50°之后,正与上述分析相符。残剩误差为2的,有21个,占24﹪。残剩误差为0、1的,有55个,占60﹪。这样的结果,虽然还有点遗憾,但我只能满意了。如果再想提高其表面精度,只能把控制区间定为6°、甚至3°了。
现在,表A中每度的Sin,就可作为已知值,成为编算更小间隔(如1’、10“)的正弦表的控制值了。
查表A、得
再用0.870322552,按反三角正弦公式β= Arc Sinβ,反算得:
β= Arc (0.870322552)=60°29’46”,这就与出发的 60°30’有14”的误差,也就是表A的内插精度。其他算例如下:
|
|
反算 度 分 秒 |
误差(秒) |
|
|
|
|
|
|
|
|
|
|
30 |
|
44 30 |
|
|
|
60 |
|
|
|
75 30 |
|
|
|
|
|
|
|
|
|
|
|
正弦函数表有了,其他余弦、正切、余切函数表也就可以造了,所以也不再编算了。
我发现,浅绿色封面、硬精装的《六位三角函数表》已经绝迹,可能在我原先工作的单位“湖南省地质测绘队”还有,但早也不再使用,只是存放在后勤科的仓库里,并蒙着厚厚的灰尘了。
2013--08--