当前位置:首页 > 实用技巧 >

带根号的计算器在哪里(计算器根号怎么操作)

来源:原点资讯(www.yd166.com)时间:2023-11-10 07:22:52作者:YD166手机阅读>>

平常我们用到的 sqrt 函数求一个数的算术平方根,以前一直好奇究竟是如何计算的。

这篇文章我们就一起来探究一下。

二分法

以前我想到的一种方式是二分法;

假设求根号2的平方根;

假设最开始 min = 1.0,max = 2.0;

则它们的中间值 val = (min max)/2.0;

然后判断 num = val*val 的结果,

如果 num > 2;则 max = val;

如果 num < 2;则 min = val;

如果 num = 2;则 算术平方根是 val,返回。

当然有人会问,一直不等于能,当然我们可以设置计算次数;

比如执行超过 20 次后就返回,这样可以避免无线循环下去。

然而这种方法的收敛速度实在太慢,导致要计算很多次才能达到比较高的精度。

牛顿的方法

网上看到一个说是牛顿的计算方法,假设 f(x) = x^2-2;

在 x^2-2 的曲线上面,先找一个点A(X0,Y0),

过点A做曲线的切线交x轴于B(X1,0);

找到当前点B对应曲线上的点C(X1,Y1);

过点C做曲线的切线交x轴于D(X2,0);

找到当前点D对应曲线上的点E(X2,Y2);

过点E做曲线的切线交x轴于F(X3,0);

.........

按照这个过程一直下去,B D F....将会离曲线与x轴的交点越来越近,即逼近原理。

带根号的计算器在哪里,计算器根号怎么操作(1)

数学方法

那上面的坐标如何求取呢,对于点A,可以带入一个方便的坐标(1,-1);

由于CD是切线,点C为切点,则有如下关系:

斜率 y' = BC/BD

而:BD 可以看成是点B的x轴坐标减去点D的x轴坐标,即 BD = X1-X2;

BC 就是C点的y值,即Y1;

上面关系就变成:y' = Y1/(X1-X2)

转换一下:X1-X2 = Y1/y'

X2 = X1-Y1/y'

转换成标准的写法,则有: Xn = Xn-1 - f(Xn-1) / f '(Xn-1)

对于曲线 x^2-2 任意一点的切线可以根据多项式导数方式获取,即 f '(Xn-1) = 2x;

则有 Xn = Xn-1 - f(Xn-1) / 2x;

将A点(X0,Y0) 由曲线上的点(1,-1)带入时,

X1 = 1 - (-1/2*1) = 1.5; 此时 Y1 = 1.5^2-2 = 2.25-2 = 0.25;

X2 = 1.5 - 0.25/2*1.5 = 1.416666...667; 此时 Y1 = 0.0069444444...

以此类推

X6 = 1.4142135623730950488016887242096980785696718753772.......

对比网上查找到的根号2前100为如下:

1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850....

可以看到X6写出来的,仅仅是最后两位开始不一样。可见运算次数仅仅6次,精度已经如此高了。

代码实现

由于C/C 没找到比较稳定的高精度计算数据类,在此用Python代替了。

实现代码如下:

from decimal import Decimal from decimal import getcontext work_context = getcontext() work_context.prec = 1000 // 有兴趣的可以试试更高精度 num = Decimal(2) // 需要开方的数,可以试试3,5,7,11 。。。 def Xn(x, y): x -= y/(x*Decimal(2)) y = x*x-num return (x,y) x = Decimal(1) y = x*x-num for i in range(0,20): // 计算20次精度已经非常高了 x, y = Xn(x, y) print(x) 第20次结果:(好像精度已经达到1000位了) 1.414213562373095048801688724209698078569671875376948073176679737990732478462 10703885038753432764157273501384623091229702492483605585073721264412149709993 58314132226659275055927557999505011527820605714701095599716059702745345968620 14728517418640889198609552329230484308714321450839762603627995251407989687253 39654633180882964062061525835239505474575028775996172983557522033753185701135 43746034084988471603868999706990048150305440277903164542478230684929369186215 80578463111596668713013015618568987237235288509264861249497715421833420428568 60601468247207714358548741556570696776537202264854470158588016207584749226572 26002085584466521458398893944370926591800311388246468157082630100594858704003 18648034219489727829064104507263688131373985525611732204024509122770022694112 75736272804957381089675040183698683684507257993647290607629969413804756548237 28997180326802474420629269124859052181004459842150591120249441341728531478105 80360337107730918286931471017111168391658172688941975871658215212822951848847

是不是感到震惊,代码竟然如此短!?

是的,没有看错,就这么一点点。

有兴趣的小伙伴可以试试 https://tool.lu/coderunner/ 的在线编译器;

左上角选择 Python 然后复制上面的代码,运行看看结果。(如下图)

按照同样的方式,大家是不是可以扩展出3次,5次.....等等的开方计算方式了?

带根号的计算器在哪里,计算器根号怎么操作(2)

总结

有时候思路正确了,所要做的反而就很少了!

我在心里十分佩服前人的智慧与伟大!

一起努力,加油!

栏目热文

心术宗小满打游戏是第几集(宗小满打游戏是哪集)

心术宗小满打游戏是第几集(宗小满打游戏是哪集)

文|令狐伯光《战长沙》是2014年山影拍摄的一部剧,但导演还是孔笙和张开宙,因为当时他们还没有脱离山影成立正午阳光。但是...

2023-11-10 06:51:19查看全文 >>

心术小满母亲下跪(心术宗小满妈妈求情哪一集)

心术小满母亲下跪(心术宗小满妈妈求情哪一集)

岚妃见此,不由得抿了抿唇,在心中感叹:果然姜还是老的辣啊。皇贵妃是在借她的手安排人,但又做得不露声色,真真是一点错处都挑...

2023-11-10 06:41:06查看全文 >>

心术打官司是哪一集(心术手术完成病人丢了是第几集)

心术打官司是哪一集(心术手术完成病人丢了是第几集)

不孝子用母亲生命讹医诈钱。老太太在儿子的搀扶下,儿子竟打算用她的命来跟医院讹钱。可陈力的心思,怎么可能逃得过经验丰富的医...

2023-11-10 06:54:47查看全文 >>

心术宗小满惹祸(心术宗小满妈妈求情哪一集)

心术宗小满惹祸(心术宗小满妈妈求情哪一集)

“妍妹妹,你的气色是越发好了,快请坐。”“岚姐姐是最体贴之人,姐姐夸本宫气色好,那必是真的好,连太医也说本宫的胎气甚稳。...

2023-11-10 07:03:37查看全文 >>

心术宗小满把病人扔走廊是哪集(心术赖跃金抢救是哪集)

心术宗小满把病人扔走廊是哪集(心术赖跃金抢救是哪集)

郭景春先生走了。享年93岁。今天上午9时,在石家庄市殡仪馆永安厅举行郭景春先生的告别仪式。我曾与先生有过一面之交。记不清...

2023-11-10 06:57:31查看全文 >>

根号计算公式在计算器上怎么打(计算器开根号公式怎么输入)

根号计算公式在计算器上怎么打(计算器开根号公式怎么输入)

2019年会计师继续实行无纸化上机考,2019年开始,会计师考试不再允许自带计算器!这对于不熟悉电脑操作的同学来说,无异...

2023-11-10 06:42:49查看全文 >>

开根号计算器咋用(普通计算器开根号怎么用)

开根号计算器咋用(普通计算器开根号怎么用)

手机是我们现在每个人都有的一种通讯工具,它除了一些比较老的老年人不会使用以及一些比较小的儿童不会使用之外,其实在很多成年...

2023-11-10 06:39:07查看全文 >>

屋顶出现开裂的原因(室内屋顶开裂是什么原因导致)

屋顶出现开裂的原因(室内屋顶开裂是什么原因导致)

天花吊顶是一种比较常见的吊顶方式,日常生活中,经常会发生天花吊顶开裂的事情,那么天花吊顶开裂如何处理?天花吊顶开裂原因有...

2023-11-10 06:46:43查看全文 >>

房顶出现裂缝是什么原因(房子房顶有裂缝是怎么回事)

房顶出现裂缝是什么原因(房子房顶有裂缝是怎么回事)

现在的农村自建房大多都是小别墅形状的,相应的,以前屋里跑明线的现象也减少了,大多都采用暗线管跑线,这样做的确美观,屋子...

2023-11-10 06:46:55查看全文 >>

文档排行