不用sqrt()函数,如何求平方根 |
您所在的位置:网站首页 › c语言求平方根用什么表示 › 不用sqrt()函数,如何求平方根 |
1,牛顿迭代法 牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。 他可以快速求出平方根的近似值。 例如,我们想求n的平方根(n>0),他的标准值是x. f(x)=x^2-n 就是这个函数与x轴交点出的正值就是所求x。 首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。
我们不断用过一个点的切线与x轴相交的点来逼近真实值就好了。例如我们假设x0,那么就有一点(x0,f(x0))在这条曲线上,切线的斜率为2*x0.我们很容易求出这条切线与x轴的交点坐标((n+x0^2)/(2*x0),0) 得出下一个逼近值是(x0+n/x0)/2,继续带入逼近多次即可。 但是,有可能会遇到牛顿迭代法无法收敛的情况。比如函数有多个零点,或者函数不连续的时候。 double sqrt1(int n) { if(n1e-9||res*res-n |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |