作业帮 > 综合 > 作业

牛顿迭代法在开方中的应用,最好有C代码~

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 22:01:54
牛顿迭代法在开方中的应用,最好有C代码~
牛顿迭代法在开方中的应用,最好有C代码~
求a的平方根,其实就是求
f(x)=x^2 - a的两个解
我以求正的那个为例
先对f(x)求导
f'(x)=2x
所以对于x1来说,x1-(f(x1)/2x1)是比x1更优的一个值(自己随便画个图就明白了,先把x1的切线做出来,f(x1)/2x1就是把一条直角边变成另一条)
-----------------------------
x1-(f(x1)/2x1)化简得到:x1-((x1^2 - a)/2x1) = x1-((x1 - a/x1)/2)=(x1 + a/x1)/2
-----------------------------
所以我一开始只要随便代入一个数x(求正根就代入正的),然后不断地让它等于(x + a/x)/2即可
-----------------------------
代码就这样
int x=500;(随便一个数)
for(i=1;i