1. 首页
  2. > 税务筹划 >

平方根计算过程(解平方根的公式)

看到这个题目,您或许会有两个想法:


1.按按计算器就知道了,比如:√2=2^0.5=1.4142135623730950488016887242097……;


2.是不是要介绍“手算开平方”?实在抱歉,曾经的我也不是个十分专心的学生,竟是忘了。当然,百度一下,再度钻研贴文也是可以的,不过兴趣待定。






其实,本文想说的还就是和想法1有关。您有没有想过:计算器又是怎样计算的呢?



我不确定计算器背后的算法一定是什么,但我确定的知道一种比较可行的方法:利用迭代函数迭代计算n次方根。今天就先来看看“二次方根”或“平方根”的计算方法。



二次方根迭代函数如下:


f(x)=x/2 C/(2*x)


其中:


x^2=C



C^0.5=x


即:函数中的C是被开方数,x是求解目标“二次方根”。



(备注:呃,请不要问我这个迭代函数是怎么来的,据说和“泰勒级数”有关,这得从“数学分析”中寻找答案,汗……)



什么是“迭代”?


①猜测一个初始值x0,比如:x0=1(不会猜,就选1);


②计算函数值x1,其中:x1=f(x0),即把x0代入迭代函数求值;


③迭代:x0=x1;


④反复循环②③两步直至符合指定的精度要求。



可见:迭代就是把上一次输出的结果作为下一次输入的结果并反复执行。



这样做神奇吗?来让我们试试。



例1.求根号2的值。


①x0=1


②x1= x/2 C/(2*x)=1/2 2/(2*1)=1.5


③x0=x1=1.5


④x1= x/2 C/(2*x)=1.5/2 2/(2*1.5)≈1.416666667


⑤x0=x1=1.416666667


⑥x1= x/2 C/(2*x)=1.416666667/2 2/(2*1.416666667)≈1.414215686


⑦x0=x1=1.414215686


⑧x1= x/2 C/(2*x)=1.414215686/2 2/(2*1.414215686)≈1.414213562


⑨……


只需迭代4次就可以得到9位小数精度,足够应付很多计算需要了。






例2.求1234567的平方根。


呵呵,手算基本是不可能的,小数位数多,会让人抓狂的,下面是电子表格计算的数据,供参考:


第1次 1


第2次 617284


第3次 308643


第4次 154323.5


第5次 77165.74993


第6次 38590.87441


第7次 19311.43279


第8次 9687.68106


第9次 4907.558926


第10次 2579.561651


第11次 1529.078654


第12次 1168.235696


第13次 1112.507369


第14次 1111.111582


第15次 1111.110706


……


迭代了15次后,达到了一般稳定精度要求。不过,如果初始值不是1,而是与准确值更接近一些,比如1000,则迭代次数会大幅下降,如下:


第1次 1000


第2次 1117.2835


第3次 1111.127757


第4次 1111.110706


……


仅需4次。初值的选择是很重要的,好的初值估计,算是核心技术。



本文算是帮您打开了一扇门,但同时,您会发现更多关上的门,比如:三次方根呢?四次、五次、小数次、无理数次……方根呢?比如:被开方数是小数、负数、无理数……呢?呵呵,这会让我们头很大的。




女儿的作品


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息