# Systems of Nonlinear Equations

Solve systems of nonlinear equations in serial or parallel

Find a solution to a multivariable nonlinear equation F(x) = 0. You can also solve a scalar equation or linear system of equations, or a system represented by F(x) = G(x) in the problem-based approach (equivalent to F(x) – G(x) = 0 in the solver-based approach). For nonlinear systems, solvers convert the equation-solving problem to the optimization problem of minimizing the sum of squares of the components of F, namely min(∑Fi2(x)). Linear and scalar equations have different solution algorithms; see Equation Solving Algorithms.

Before you begin to solve an optimization problem, you must choose the appropriate approach: problem-based or solver-based. For details, see First Choose Problem-Based or Solver-Based Approach.

For the problem-based approach, create problem variables, and then represent the equations in terms of these variables. For the problem-based steps to take, see Problem-Based Workflow for Solving Equations. To solve the resulting problem, use `solve`.

For the solver-based steps to take, including defining the objective function and choosing the appropriate solver, see Solver-Based Optimization Problem Setup.

## Functions

expand all

 `eqnproblem` Create equation problem (Since R2019b) `evaluate` Evaluate optimization expression or objectives and constraints in problem `infeasibility` Constraint violation at a point `optimeq` Create empty optimization equality array (Since R2019b) `optimvar` Create optimization variables `prob2struct` Convert optimization problem or equation problem to solver form `show` Display information about optimization object (Since R2019b) `solve` Solve optimization problem or equation problem `write` Save optimization object description (Since R2019b)
 `fsolve` Solve system of nonlinear equations `fzero` Root of nonlinear function `lsqlin` Solve constrained linear least-squares problems `lsqnonlin` Solve nonlinear least-squares (nonlinear data-fitting) problems `checkGradients` Check first derivative function against finite-difference approximation (Since R2023b)

 Optimize Optimize or solve equations in the Live Editor (Since R2020b)

## Objects

 `EquationProblem` System of nonlinear equations (Since R2019b) `OptimizationEquality` Equalities and equality constraints (Since R2019b) `OptimizationExpression` Arithmetic or functional expression in terms of optimization variables `OptimizationVariable` Variable for optimization