Last Modified: January 12, 2018

Performs 3D numerical integration using the adaptive Lobatto quadrature approach. You define the integrand using a strictly typed VI reference.

Variant to pass arbitrary values to the VI that **integrand** refers to.

Strictly typed reference to the VI that implements the expression to integrate.

Upper limits of the integral.

Upper limit of the first integral variable *x*.

**Default: **1

Upper limit of the second integral variable *y*.

**Default: **1

Upper limit of the third integral variable *z*.

**Default: **1

Lower limits of the integral.

Lower limit of the first integral variable *x*.

**Default: **0

Lower limit of the second integral variable *y*.

**Default: **0

Lower limit of the third integral variable *z*.

**Default: **0

Accuracy of the quadrature. A smaller **tolerance** leads to a more accurate **result** but requires more computation time.

How Does Tolerance Affect the Accuracy of the Quadrature?

This node compares the difference between the 4-points and 7-points Lobatto quadratures on the interval and uses **tolerance** to terminate the calculation iteration. If the difference is less than **tolerance**, this node stops the calculation iteration and moves on to the next interval.

**Default: **1E-05

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

Integral result.

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 evaluates the following integral:

${\int}_{{z}_{0}}^{{z}_{1}}{\int}_{{y}_{0}}^{{y}_{1}}{\int}_{{x}_{0}}^{{x}_{1}}f(x,y,z)dxdydz$

where

*x*_{1}is**x upper limit***x*_{0}is**x lower limit***y*_{1}is**y upper limit***y*_{0}is**y lower limit***z*_{1}is**z upper limit***z*_{0}is**z lower limit**

To obtain high accuracy, this node divides an interval cube into sub-cubes when the integrand *f*(*x*, *y*, *z*) varies sharply.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

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