1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/newton.method.R
\name{newton.method}
\alias{newton.method}
\title{Demonstration of the Newton-Raphson method for root-finding}
\usage{
newton.method(
FUN = function(x) x^2 - 4,
init = 10,
rg = c(-1, 10),
tol = 0.001,
interact = FALSE,
col.lp = c("blue", "red", "red"),
main,
xlab,
ylab,
...
)
}
\arguments{
\item{FUN}{the function in the equation to solve (univariate), which has to
be defined without braces like the default one (otherwise the derivative
cannot be computed)}
\item{init}{the starting point}
\item{rg}{the range for plotting the curve}
\item{tol}{the desired accuracy (convergence tolerance)}
\item{interact}{logical; whether choose the starting point by cliking on the
curve (for 1 time) directly?}
\item{col.lp}{a vector of length 3 specifying the colors of: vertical lines,
tangent lines and points}
\item{main, xlab, ylab}{titles of the plot; there are default values for them
(depending on the form of the function \code{FUN})}
\item{\dots}{other arguments passed to \code{\link{curve}}}
}
\value{
A list containing \item{root }{the root found by the algorithm}
\item{value }{the value of \code{FUN(root)}} \item{iter}{number of
iterations; if it is equal to \code{ani.options('nmax')}, it's quite likely
that the root is not reliable because the maximum number of iterations has
been reached}
}
\description{
This function provides an illustration of the iterations in Newton's method.
}
\details{
Newton's method (also known as the Newton-Raphson method or the
Newton-Fourier method) is an efficient algorithm for finding approximations
to the zeros (or roots) of a real-valued function f(x).
The iteration goes on in this way:
\deqn{x_{k + 1} = x_{k} - \frac{FUN(x_{k})}{FUN'(x_{k})}}{x[k + 1] = x[k] -
FUN(x[k]) / FUN'(x[k])}
From the starting value \eqn{x_0}, vertical lines and points are plotted to
show the location of the sequence of iteration values \eqn{x_1, x_2,
\ldots}{x1, x2, \dots}; tangent lines are drawn to illustrate the
relationship between successive iterations; the iteration values are in the
right margin of the plot.
}
\note{
The algorithm might not converge -- it depends on the starting value.
See the examples below.
}
\references{
Examples at \url{https://yihui.org/animation/example/newton-method/}
For more information about Newton's method, please see \url{https://en.wikipedia.org/wiki/Newton's_method}
}
\seealso{
\code{\link{optim}}
}
\author{
Yihui Xie
}
|