bisection.method {animation} | R Documentation |
Demonstration of the Bisection Method for root-finding on an interval
Description
This is a visual demonstration of finding the root of an equation on an interval using the Bisection Method.
Usage
bisection.method(
FUN = function(x) x^2 - 4,
rg = c(-1, 10),
tol = 0.001,
interact = FALSE,
main,
xlab,
ylab,
...
)
Arguments
FUN |
the function in the equation to solve (univariate) |
rg |
a vector containing the end-points of the interval to be searched
for the root; in a |
tol |
the desired accuracy (convergence tolerance) |
interact |
logical; whether choose the end-points by cliking on the curve (for two times) directly? |
xlab , ylab , main |
axis and main titles to be used in the plot |
... |
other arguments passed to |
Details
Suppose we want to solve the equation . Given two points a and
b such that
and
have opposite signs, we know by the
intermediate value theorem that
must have at least one root in the
interval
as long as
is continuous on this interval. The
bisection method divides the interval in two by computing
. There are now two possibilities: either
and
have
opposite signs, or
and
have opposite signs. The
bisection algorithm is then applied recursively to the sub-interval where the
sign change occurs.
During the process of searching, the mid-point of subintervals are annotated in the graph by both texts and blue straight lines, and the end-points are denoted in dashed red lines. The root of each iteration is also plotted in the right margin of the graph.
Value
A list containing
root |
the root found by the algorithm |
value |
the value of |
iter |
number of
iterations; if it is equal to |
Note
The maximum number of iterations is specified in
ani.options('nmax')
.
Author(s)
Yihui Xie
References
Examples at https://yihui.org/animation/example/bisection-method/
For more information about Bisection method, please see https://en.wikipedia.org/wiki/Bisection_method