牛顿迭代法求一个数的立方根,平方根_用牛顿迭代法计算根号19的平方根[通俗易懂]

牛顿迭代法求一个数的立方根,平方根_用牛顿迭代法计算根号19的平方根[通俗易懂]牛顿迭代法求一个数的立方根、平方根_用newton法计算85的立方根

牛顿迭代法求一个数的立方根,平方根_用牛顿迭代法计算根号19的平方根[通俗易懂]"


// 不调用原有的库函数,求一个数的立方根、平方根 ——牛顿迭代法,不得不说牛顿太伟大了!

我们现在先求平方根: 设函数 f(x) = x^2 – a  ,那么求 a 的平方根等价于求 f(x) = 0 , 由牛顿迭代公式有:

  x = x0 – f(x0)/f `(x0)                           f `(x) 为函数 f(x)  的一阶导数 f `(x) != 0)

进行迭代:

     x1 = x0 –f(x0)/f `(x0) 

     x2 = x1 – f(x1)/f `(x1) 

 x3 = x2 – f(x2)/f `(x2) 

 ……

 xk+1 = xk – f(xk)/f `(xk)  (k = 0,1,2,3……)


同样道理,求立方根时 我们设函数 f(x) = x^3 – a,  那么求  a  的立方根等价于求 f(x) = 0

具体代码:

//迭代法求立方根
	public double getCube(double input){
		double x = 1;
		double x1 = x - (x*x*x - input) / (3*x*x);
		while(x - x1 >0.000000001 || x - x1 < -0.000000001){
  
   //判断精度
			x = x1;
			x1 = x - (x*x*x - input) / (3*x*x);
		}
		return x1;
	}
	
	//迭代法求平方根
	public double getSqrt(double input){
		double x = 1;
		double x1 = x - (x*x - input)/(2*x);
		while(x - x1 > 0.00000001 || x - x1 < -0.00000001){
			x = x1;
			x1 = x - (x*x - input)/(2*x);
		}
		return x1;
	}


今天的文章牛顿迭代法求一个数的立方根,平方根_用牛顿迭代法计算根号19的平方根[通俗易懂]分享到此就结束了,感谢您的阅读。

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注