# fsolve: Solve System of Nonlinear Equations

### Description

Solve a system of `m` nonlinear equations of `n` variables.

### Usage

 ```1 2``` ```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.

### 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`.

### Value

List with

 `x` location of the solution. `fval` function value at the solution.

### Note

`fsolve` mimics the Matlab function of the same name.

### References

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

`broyden`, `gaussNewton`

### Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```## 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) ```

Search within the pracma package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.