Learn R Programming

pracma (version 1.9.3)

fsolve: Solve System of Nonlinear Equations

Description

Solve a system of m nonlinear equations of n variables.

Usage

fsolve(f, x0, J = NULL, maxiter = 100, tol = .Machine$double.eps^(0.5), ...)

Arguments

f
function describing the system of equations.
x0
point near to the root.
J
Jacobian function of f, or NULL.
maxiter
maximum number of iterations in gaussNewton.
tol
tolerance to be used in Gauss-Newton.
...
additional variables to be passed to the function.

Value

List with
x
location of the solution.
fval
function value at the solution.

Details

fsolve tries to solve the components of function f simultaneously and uses the Gauss-Newton method with numerical gradient and Jacobian. If m = n, it uses broyden.

References

Antoniou, A., and W.-S. Lu (2007). Practical Optimization: Algorithms and Engineering Applications. Springer Science+Business Media, New York.

See Also

broyden, gaussNewton

Examples

Run this code
## Not run: 
# # Find a matrix X such that X * X * X = [1, 2; 3, 4]
#   F <- function(x) {
#     a <- matrix(c(1, 3, 2, 4), nrow = 2, ncol = 2, byrow = TRUE)
#     X <- matrix(x,             nrow = 2, ncol = 2, byrow = TRUE)
#     return(c(X %*% X %*% X - a))
#   }
#   x0 <- matrix(1, 2, 2)
#   X  <- matrix(fsolve(F, x0)$x, 2, 2)
#   X
#   # -0.1291489  0.8602157
#   #  1.2903236  1.1611747
# ## End(Not run)

Run the code above in your browser using DataLab