Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
5年前关闭。
有人可以解释以下代码吗?
ort变量有什么用?
在每次迭代中,X(n)应该更接近真实根。
您可以阅读有关Newton-Raphsone方法的信息(只需在Google上对其进行搜索),就可以得出该方程式。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
5年前关闭。
有人可以解释以下代码吗?
ort变量有什么用?
void squart_root(double a)
{
if (a>0.0){
double root = 1, ort = 0;
while(ort!=root)
{
ort = root;
root = ((a/root) + root) / 2;
}
printf("Root is : %lf",root);
}else if(a==0.00000){
printf("Root is : %lf",a);
}else{
printf("Cannot find the square root of a negative number");
}
}
最佳答案
这看起来类似于牛顿的计算平方根的方法(源自牛顿-拉夫森的方法)。
您可以阅读有关此here的更多信息。
看起来像:
X(n+1) = (A/X(n) + X(n))/2
It converges when X(n) = X(n+1) (that is in your case) or under some precision.
在每次迭代中,X(n)应该更接近真实根。
ort
的目的是保持X(n)并检查该收敛。当根收敛时,循环终止。这就是ort
在这里的原因。您可以阅读有关Newton-Raphsone方法的信息(只需在Google上对其进行搜索),就可以得出该方程式。
10-08 08:13