# Systems of Nonlinear Equations

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(∑*F _{i}*

^{2}(

*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

## Live Editor Tasks

Optimize | Optimize or solve equations in the Live Editor |

## Objects

`EquationProblem` | System of nonlinear equations |

`OptimizationEquality` | Equalities and equality constraints |

`OptimizationExpression` | Arithmetic or functional expression in terms of optimization variables |

`OptimizationVariable` | Variable for optimization |

## Topics

### Problem-Based Systems of Nonlinear Equations

**Solve Nonlinear System of Equations, Problem-Based**

Solve a system of nonlinear equations using the problem-based approach.

**Solve Nonlinear System of Polynomials, Problem-Based**

Solve a polynomial system of equations using the problem-based approach.

**Follow Equation Solution as a Parameter Changes**

Solve a sequence of problems using the previous solution as a start point.

**Nonlinear System of Equations with Constraints, Problem-Based**

Solve a system of nonlinear equations with constraints using the problem-based approach.

### Solver-Based Systems of Nonlinear Equations

**Solve Nonlinear System Without and Including Jacobian**

Use derivatives in nonlinear equation solving.

**Large System of Nonlinear Equations with Jacobian Sparsity Pattern**

Solve a nonlinear system of equations with a known finite-difference sparsity pattern.

**Large Sparse System of Nonlinear Equations with Jacobian**

Example of solving a nonlinear system of equations that has derivatives available.

**Nonlinear Systems with Constraints**

Learn techniques for solving nonlinear systems of equations with constraints.

### Code Generation

**Code Generation in Nonlinear Equation Solving: Background**

Prerequisites to generate C code for systems of nonlinear equations.

Example of code generation for solving systems of nonlinear equations.

**Optimization Code Generation for Real-Time Applications**

Explore techniques for handling real-time requirements in generated code.

### Parallel Computing

**What Is Parallel Computing in Optimization Toolbox?**

Use multiple processors for optimization.

**Using Parallel Computing in Optimization Toolbox**

Perform gradient estimation in parallel.

**Improving Performance with Parallel Computing**

Investigate factors for speeding optimizations.

### Algorithms and Options

Solve linear systems of equations, nonlinear equations in one variable, and
systems of *n* nonlinear equations in *n*
variables.

**Optimization Options Reference**

Explore optimization options.