牛顿迭代法开方

输入一个整数x,求x的1/2次幂

牛顿迭代公式推导:
1、F(x) = X ^ 2 - N,求F(x) = 0与X轴的交点
2、原理:
找到X轴交点最靠近的整数,然后让它对应的Y值通过增量不断靠近0,获得X轴的近似值
分析:
(1)切线方程:Y1 - Y0 = k ( X1 - X0)
(2)因为Y0= X0 ^ 2 - N,Y1 = 0,得到X1 = X0 - Y0 / k
(3) 求导公式:当X = X0时,k = 2 * X0
(4)X1 = X0 - (X0^2 - N)/ (2*X0) = X0 / 2 + N / (2 * X0)
(5)迭代3次获取的近似值可以精确度达到10 ^ -10
原理:找到X轴交点最靠近的整数,然后让它对应的Y值通过增量不断靠近0,获得X轴的近似值

实现求1/2次幂的Java代码:

    public class MySqrt {
   
    
        /*
        * (1)先找到左边最靠近的值
        * (2)利用牛顿迭代法3次可以得到误差较小的近似值
        * */
        public static double sqrt (int x) {
   
            if(x 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值