割线方法用于找到方程f(x)= 0的根。它从两个不同的估计x a和x b开始。这是一个涉及对根进行线性插值的迭代过程。如果f(x b )非常小,则迭代停止,然后x b是解。具体步骤如下。观察到有一个表达式丢失并标有?哪个合适的表达式可以代替?这样就可以遵循割线方法的所有步骤了吗?
割线
Initialize: xa, xb, ε, N // ε = convergence indicator
fb = f(xb) i = 0
while (i < N and |fb| > ε) do
i = i + 1 // update counter
xt = ? // missing expression for
// intermediate value
xa = xb // reset xa
xb = xt // reset xb
fb = f(xb) // function value at new xb
end while
if |fb| > ε
then // loop is terminated with i = N
write “Non-convergence”
else
write “return xb”
end if
(A) x b –(f b – f(x a ))f b /(x b – x a )
(B) x a –(f a – f(x a ))f a /(x b – x a )
(C) x b –(f b – x a )f b /(x b – f b (x a )
(D) x a –(x b – x a )f a /(f b – f(x a ))答案: (D)
说明: ttp://en.wikipedia.org/wiki/Secant_method
这个问题的测验