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(∑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
Live Editor Tasks
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 |
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. - Generate Code for fsolve
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
- Equation Solving Algorithms
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.