Ridders Zero Finder VI

Owning Palette: Zeros VIs

Requires: Full Development System

Determines a zero of a 1D function in a given interval. The function has to be continuous and has to have different signs at the end points of the interval. You must manually select the polymorphic instance to use.

Details  Example

Use the pull-down menu to select an instance of this VI.

 Add to the block diagram  Find on the palette

Ridders Zero Finder (Formula)

accuracy controls the accuracy of the zero determination. The default is 1.00E-8.
start is the leftmost point of the interval. The default is 0.0.
end is the rightmost point of the interval. The default is 0.0.
formula is a string describing the function. The formula can contain any number of valid variables.
zero is the determined zero of formula. zero is a good approximation only for the exact value.
f(zero) is the function value at the point given by zero. The answer should be very close to zero.
ticks is the time effort for the whole calculation of the function values in milliseconds.
error returns any error or warning from the VI. When start > end, the application interprets it as an error condition. The function values at the points start and end must have different signs to guarantee the existence of a zero in (start,end). You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Ridders Zero Finder (VI)

accuracy controls the accuracy of the zero determination. The default is 1.00E-8.
start is the leftmost point of the interval. The default is 0.0.
end is the rightmost point of the interval. The default is 0.0.
f(x) is a strictly typed reference to the VI that implements the 1D function. Create this VI by starting from the VI template located in labview\vi.lib\gmath\zero.llb\Zero Finder f(x) 1D.vit.

 Open template
data contains arbitrary values that pass to the VI that implements the function.
zero is the determined zero of f(x). zero is a good approximation for only the exact value.
f(zero) is the function value at the point given by zero. The answer should be very close to zero.
ticks is the time effort for the whole calculation of the function values in milliseconds.
error returns any error or warning from the VI. When start > end, the application interprets it as an error condition. The function values at the points start and end must have different signs to guarantee the existence of a zero in (start,end). You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Ridders Zero Finder Details

Given the function f(x) with f(a)*f(b) < 0, Ridders' method determines c = (a + b)/2 and calculates the new guess using the following equation:

The values start, cnew, and end are the base for the new iteration, depending on which of the following inequalities is true:

f(start) · f(cnew) < 0

f(cnew) · f(end) < 0

The algorithm stops if |ab| < accuracy.

Ridders' method is very fast and reliable.

Example

Refer to the Street Illumination Problem VI in the labview\examples\Mathematics\Scripts and Formulas directory for an example of using the Ridders Zero Finder VI.

 Open example  Find related examples