TSdev


The TSdev function returns the standard deviation of a data collection. The collection can be a Lua table or an object of type CImage, CArray, or CMatrix. To process a variable list of values and tables, use the VMean function. Also see the CStats:Sdev method.

Syntax

nStdDev, nStatus = TSdev( table )

nStdDev, nStatus = TSdev( CImage )

nStdDev, nStatus = TSdev( CArray )

nStdDev, nStatus = TSdev( CMatrix )

where

    table, CImage, CArray, or CMatrix contains the target data.

    nMean and nStdDev are the mean and standard deviation of the data.

    nStatus is the success code from the calculation (non-zero on failure).

  

All argument types except for the CImage class use double precision real numbers having data type "double". The CImage class supports values ranging from byte to double plus other data types. Numeric values other than double can be processed by first converting the table to a CImage. Note that you do not have to assign or use the 2nd or 3rd return value.

Examples

The following script returns the standard deviation in a table of 1 million random numbers.

t = TRand( 1000000 )

-- create a table of numbers

sd = TSdev( t )

-- find the standard deviation

Printf("Sdev= %lg\n", sd )

-- list the result

  

The next script returns the standard deviation for pixels inside a rectangle at the corner of a CImage.

V = AttachView( "CImageView" )

-- attach the topmost image window

Assert( V and V:Count() > 0 )

-- make sure an image window is on top

R = NewRect( 1, 20, 1, 40 )

-- rectangle for corner of image

sd = TSdev( V:GetImage(), R )

-- use the current image in the CImageView

Printf("Sdev= %lg\n", sd )

-- list the result

Related Topics

Table Functions

VMean

TMean

CImageView Class

CStats class