Octave can solve sets of nonlinear equations of the form

using the function `fsolve`

, which is based on the MINPACK
subroutine `hybrd`

.

For example, to solve the set of equations

you first need to write a function to compute the value of the given function. For example:

function y = f (x) y(1) = -2*x(1)^2 + 3*x(1)*x(2) + 4*sin(x(2)) - 6; y(2) = 3*x(1)^2 - 2*x(1)*x(2)^2 + 3*cos(x(1)) + 4; endfunction

Then, call `fsolve`

with a specified initial condition to find the
roots of the system of equations. For example, given the function
`f`

defined above,

[x, info] = fsolve ("f", [1; 2])

results in the solution

x = 0.57983 2.54621 info = 1

A value of `info = 1`

indicates that the solution has converged.

The function `perror`

may be used to print English messages
corresponding to the numeric error codes. For example,

perror ("fsolve", 1)

prints

solution converged to requested tolerance

Tolerances and other options for `fsolve`

may be specified using the
function `fsolve_options`

.

Go to the first, previous, next, last section, table of contents.