From 6:00 PM CST Friday, Feb 15th - 2:00 AM CST Sunday, Feb 17th, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

From 6:00 PM CST Friday, Feb 15th - 2:00 AM CST Sunday, Feb 17th, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Version:

Last Modified: January 12, 2018

Determines a set of solutions of a nonlinear system of equations in *n* dimensions beginning with randomly chosen start points. You define the equations with formulas.

Step size that this node uses to calculate the numerical derivatives of the given functions.

**Default: **1E-08

Formulas that define the *n*-dimension functions.

You only need to enter the left side of the equations that describe the nonlinear system. This node assumes that the right side is zero.

Entering Valid Variables

This node accepts variables that use the following format rule: variables must start with a letter or an underscore followed by any number of alphanumeric characters or underscores.

Names of the variables.

Variable names must start with a letter or an underscore followed by any number of alphanumeric characters or underscores.

Start values of the *n*-dimension interval where this node starts searching for the solutions. Each element in this array represents the start value of the corresponding variable in **variables**.

End values of the *n*-dimension interval where this node stops searching for the solutions. Each element in this array represents the end value of the corresponding variable in **variables**.

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

Maximum deviation of the calculated solution from the actual solution when determining the zeros.

**Default: **1E-08

Number of randomly chosen points between **start** and **end**. This node starts with these randomly chosen points and looks for zeros close to these points. The greater **number of trials** is, the higher the probability that this node finds all solutions.

**Default: **5

Determined values of the variables where the *n*-dimensional functions evaluate to zero.

These values are an approximation of the actual values of the variables where the functions evaluate to zero.

Function values at **zeros**. The values are expected to be nearly zero.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

This node generates random *n*-dimension points as specified by **number of trials** and looks for a solution close to each point. The greater the **number of trials**, the higher the probability that this node finds all solutions.

However, this node cannot guarantee finding all solutions because this node uses an algorithm that is fundamentally stochastic. If the random points are far from the actual solutions, the node might not find all (or any) solutions.

For example, if all the random points are close to a particular solution and far from other solutions, the node finds that particular solution multiple times and does not find other solutions. Generally, the node finds the solution closest to the random point for a particular trial.

To determine the solutions for the following nonlinear system in the interval [-1, 4; -1, 4; -1, 4], enter the following values on the panel:

2*x* + 3*y* + *z*^{2} - 6 = 0

-4*x* + *y*^{2} - 4*z* + 7 = 0

*x*^{2} + *y* + *z* - 3 = 0

formulas |
[2*x+3*y+z^2-6; -4*x+y^2-4*z+7; x^2+y+z-3] |

variables |
[x, y, z] |

start |
[-1, -1, -1] |

end |
[4, 4, 4] |

The following table lists the outputs of this node.

zeros |
[1, 1, 1; -0.404962, 0.593101, 2.242904] |

f(zeros) |
[3.91882E-11, 1.03903E-09, 2.04214E-11; 1.07497E-10, 1.61782E-11, 1.40149E-10] |

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application