js开根号_原生js数值开根算法

不借助Math函数求开根值

1、二分迭代法求n开根后的值

思路: left=0 right=n mid=(left+right)/2

比较mid^2与n大小

=输出;

>改变范围,right=mid,mid重新计算;

如此循环,不过只能是逼近,并不能完全正确,常识

2、牛顿迭代法求n开根后的值

1)理论上来讲,开根后的值为x,那么x^2=n,即可以将其转换为数学问题

2)令y=x^2-n,那么只需要求方程与x轴正方向的焦点就可以得出想要的结果

3)我们作x=a与方程交于(a^2-n),求得他的切线与x轴的交点(a,a^2-n),a一般从n开始

4)然后求得该点切线与x轴交点,此处需要了解切线公式:记曲线为y=f(x),则在点(a,f(a))处的切线方程为:y=f'(a)(x-a)+f(a),

5)重复步骤3,令x=步骤4的x值,如此循环即可逼近

有点绕,简单来讲就是设开根后的值为x,然后转换成方程,通过求切线与x轴交点值不断逼近方程的解,一般从x=n与方程交点的切线开始求,原因嘛:求根肯定是小于等于它自身的值,那么从n开始就没有疑问了,而且方程是曲线,方程一侧所有点切线与x轴交点的值一定是全部大于或者小于解的,迭代下去只会逼近解

//普通迭代法,initNum要开根的值 , 保留saveNum位小数,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值