设要求根的数为n, 定义f(x) = x^2 - n
应用Newton's Method估算 f(x) = 0 的正数解。首先猜测X[0] (X[0] > 0)为方程的解,之后根据recurrence relation: X[i] = X[i-1] - f(X[i-1]) / f''(X[i-1]) = (X[i-1] + n / X[i-1]) / 2 使X[i]不断逼近准确解。 当误差小于一定范围时,返回当前估算值。
double sqrtRecursive(double n, double guess)
{
if(abs(guess * guess - n) < 0.00001)
return guess;
else
return sqrtRecursive(n, (guess + n/guess)*0.5);
}
2011年2月19日星期六
订阅:
博文评论 (Atom)
没有评论:
发表评论