Measurements

One should be aware that measurements are performed using data saved
in the plot structure as a simulation progresses. The accuracy of the
results is directly affected by the density of saved points. In
transient analysis, one may wish to use internal time point data by
setting the `steptype=nousertp` option. This avoids the
interpolation to tranient time increments which may reduce accuracy if
the increment is too coarse.

The following measurements are available when an interval has been specified.

`find`*expr*

Evaluate the difference:*expr*at target minus*expr*at trigger.`min`*expr*

Find the minimum value of*expr*.`max`*expr*

Find the maximum value of*expr*.`pp`*expr*

Find the (maximum - minimum) value of*expr*.`avg`*expr*

Compute the average of*expr*.`rms`*expr*

Compute the rms value of*expr*.`pw`*expr*

This will measure the full-width half-maximum of a pulse contained in the interval. The baseline is taken as the initial or final value with the smallest difference from the peak value. The algorithm will measure the larger of a negative going or positive going pulse.`rt`*expr*

This will measure the 10-90 percent rise or fall time of the edge contained in the interval. The reference start and final values are the values at the ends of the interval.

These functions are also available in general expressions outside of
the **measure** command: **mmin**, **mmax**, **mpp**, **mavg**, **mrms**, **mpw**, **mrft**. Each of these functions
takes three arguments: (*vector*, *scaleval1*, *scaleval2*). The two scale values frame the area of measurement.
These must be chosen to isolate the feature of interest for
rise/fall/width measurement. If not in range of the *vector*
scale, the *vector* scale endpoints are assumed.

When a point has been specified, the only measurement form available is

`find`*expr*

Evaluate*expr*at point.

A `.measure` statement can contain any number of measurements,
including no measurements. If no measurement is specified, the vector
produced contains only zeros, however the scale vector contains the
start and stop values, which may be the only result needed. The
created vector, which is added to the current plot, will be of length
equal to the number of measurements, with the results placed in the
vector in order.

The measurement scale point(s) in `.measure` statements are also
saved in a vector, which is the scale for the result vector. If the
measurement name is ```result`'', then the scale vector is named
```result_scale`''. The scale contains one or two values,
depending on whether it is a point or interval measurement.