编写程序:用迭代法求x=根号a。

求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn),要求前后两次求出的x的差的绝对值小于10的负5次方。
最新回答
相爱到放下

2024-11-04 10:43:58

#include"stdio.h"
#include"math.h"
void main()
{
float x1=1,x2,a;
printf("input a\n");
scanf("%f",&a);
x2=a;
while(fabs(x1-x2)>=1e-5)
{
x1=x2;
x2=(x1+a/x1)/2;
}
printf("%f,%f",x1,x2);
}
孤独的王后°

2024-11-04 02:52:09

1.
一般来说,迭代法的收敛结果与初值有一定关系,但这里因为函数
x=a^(1/2)
是单调的,所以这里迭代法的收敛性与初值无关。
2.
这里的初值决定了迭代次数,即初值与求值的速度有关。
3.
lz感兴趣的话,可以看一些“数值分析”“计算方法”有关的书籍。
往事归零

2024-11-04 15:57:46

我看不懂啊..公式打清楚一点嘛.或者截图.
一丁温暖

2024-11-04 01:51:56

a