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

 我来答
gyber_end
2012-06-29 · TA获得超过140个赞
知道答主
回答量:209
采纳率:0%
帮助的人:151万
展开全部
求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<=10(越大越靠近);i++)
x=(x+a/x)/2;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式