牛顿迭代法求根C++
1个回答
展开全部
题目描述:
首先最常见的方法是二分法进行求值,这里主要注意精度,还有就是二分法的求值,但是这种方法有时候不满足题目给的时间复杂度的要求,那么需要一种新的方法来进行求值。
所以这里给出牛顿迭代法:
这里应该大学都知道,一个函数f(x) = x^3-y 的可以在坐标系上画出它的图。
随便找一个曲线上的A点(为什么随便找,根据切线是切点附近的曲线的近似,应该在根点附近找,但是很显然我们现在还不知道根点在哪里),做一个切线,切线的根(就是和x轴的交点)与曲线的根,还有一定的距离。牛顿、拉弗森们想,没关系,我们从这个切线的根出发,做一根垂线,和曲线相交于B点,继续重复刚才的工作:
之前说过,B点比之前A点更接近曲线的根点,牛顿、拉弗森们很兴奋,继续重复刚才的工作:
经过多次迭代后会越来越接近曲线的根(下图进行了50次迭代,哪怕经过无数次迭代也只会更接近曲线的根,用数学术语来说就是,迭代收敛了):
众所周知,f'(x) 是f(x)的导数,也是在某点上的一个切线方程。
牛顿它们根据上面的方法,不断的逼近根的方法,可以总结为以下的表示方法。
从而对于求立方根的时候,我们可以假设
求y的立方根表示, f(x)=0的时候,求x的值这样的数学模型。
根据上面的公式,我们可以得到
根绝这里的公式,我们就可以写出立方根的解法了。
参考:
牛顿迭代法
首先最常见的方法是二分法进行求值,这里主要注意精度,还有就是二分法的求值,但是这种方法有时候不满足题目给的时间复杂度的要求,那么需要一种新的方法来进行求值。
所以这里给出牛顿迭代法:
这里应该大学都知道,一个函数f(x) = x^3-y 的可以在坐标系上画出它的图。
随便找一个曲线上的A点(为什么随便找,根据切线是切点附近的曲线的近似,应该在根点附近找,但是很显然我们现在还不知道根点在哪里),做一个切线,切线的根(就是和x轴的交点)与曲线的根,还有一定的距离。牛顿、拉弗森们想,没关系,我们从这个切线的根出发,做一根垂线,和曲线相交于B点,继续重复刚才的工作:
之前说过,B点比之前A点更接近曲线的根点,牛顿、拉弗森们很兴奋,继续重复刚才的工作:
经过多次迭代后会越来越接近曲线的根(下图进行了50次迭代,哪怕经过无数次迭代也只会更接近曲线的根,用数学术语来说就是,迭代收敛了):
众所周知,f'(x) 是f(x)的导数,也是在某点上的一个切线方程。
牛顿它们根据上面的方法,不断的逼近根的方法,可以总结为以下的表示方法。
从而对于求立方根的时候,我们可以假设
求y的立方根表示, f(x)=0的时候,求x的值这样的数学模型。
根据上面的公式,我们可以得到
根绝这里的公式,我们就可以写出立方根的解法了。
参考:
牛顿迭代法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询