手动计算开根号(泰勒展开法)

                     

贡献者: int256

预备知识 阶乘,泰勒展开

   这种方法的正确性,是依靠幂函数在 x0=1 处的泰勒展开来保障的。具体的证明需要用到泰勒展开,但是如果只是计算可以直接使用。

定理 1 幂函数的泰勒展开

   (1+x)k=1+k1!x+k(k1)2!x2+k(k1)(k2)3!x3+ .

   泰勒展开是一种常用的 “拟合” 方法,对于一个幂函数:(1+x)k,当 x 极小的时候(可以表示为 x0),就会有:

   (1+Δx)k1+kΔx+k(k1)2!(Δx)2 ,

   特别的,这里的 x 取正数负数都可以。

   我们的手动计算根号的这种方法就是由此得来。

   下面举例子来更明确的说明如何使用这种方法计算:

例 1 平方根的手动计算

   例如对于 101,我们要考虑将其拆为 1+Δx 的形式(其中 Δx 极小)。 我们找到一个距离 101 最近的平方数,即 102=100,之后将这 100 提出,之后就一定可以得到一个 101+Δx 的形式: 101=100×101100=101+1100 , 也就可以考虑对后半部分进行近似,即为: 1+1100=(1+1100)12=1+12×1100+12×(121)2!×(1100)2 ,

   计算得出这式的值为:1.0049875,将其代回 101=101+1100 就可以得到 101 的近似值 10110×1.0049875=10.049875

   可以计算得到 10.0498752100.9999875,是十分接近的。

   一般的来说,取到第二项 kx,也就是取近似 (1+Δx)k1+kΔx 就已经足够了。

   在使用这种方法的时候,精度是由 Δx 极小保证的,所以对于一些 “不友好” 的数,其没有距离很近的平方数,就需要用到一些 “凑” 的技巧,例如下面这个例子:

例 2 6 的手动计算

   6 直接找最近的平方数是会取到 4=29=3,对于这两者而言,提出后得到的式子分别为:21+123113,这剩余的部分都是较大的。例如对于后者,就算取到二阶近似(k(k1)2!(Δx)2)结果也是十分不准确的(对结果 2.3333 平方后得到 5.4443)。

   因此我们考虑对 6 乘以某一系数,使其接近一平方数。有如下过程: 6=126×22=1224=12251=52112552(112125)=2.45 .

   现在考虑将这结果平方验证:2.452=6.0025,是十分接近的。

   综上,这种方法优势在于对于任意次根号都是可以计算的而且过程较为简单,但缺点是需要配凑使得 Δx 极小。


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利