Index-> contents reference index search Up-> SPT_HELP Histogram Functions histo Prev Next SPT_HELP-> SPTFunctionsByCategory Mathematical Functions Data Manipulation Functions SignalGeneratorMain AnalogFilterFunctions FIR Filter Design Window Functions IIR Filter Design FourierFunctions Plotting Functions Histogram Functions Histogram Functions-> histo histo Headings-> Description Example Reference

Histogram of Data Matrix
 Syntax `y = histo(`xdata,xends`) (no centers return)` Syntax `y = histo(`xdata,xends,xcenters`) (centers return)` Include: `include spt\histo.oms` See Also
``` ARGUMENTS:    INPUTS:       xdata    = MATRIX, any numerical type, coerced to DOUBLE for                  internal processing. Represents data to be                  histogrammed arranged in columns.       xends    = VECTOR, COLUMN, any numerical type, coerced to DOUBLE                  for internal processing. Represents the endpoints of                  the partition for the histogram.       xcenters = OPTIONAL, any numerical type, coerced to DOUBLE for                  internal processing. Used to return center points                  of the input partition.    RETURN: MATRIX, DOUBLE, histogram of input data on a column-by-column basis. ```
Description ``` ```Return a histogram of input data matrix. ``` ```Data to be histogrammed is input through matrix 'xdata'. Each column of the input is considered as a vector of data values. Each column is histogrammed independently of all other columns. ``` ```The endpoints of the partioning that forms the basis for the histogram are passed in through column vector 'xends'. These endpoints are sorted in ascending order before processing. This same partion is applied to all columns of the data input matrix. The number of intervals tested is therefore equal to [coldim(xends)-1]. Intervals are interpretted as being contiguous, i.e., there is no open space between any two intervals. The endpoints need not be evenly spaced. If the same endpoint is cited twice in the 'xends' vector an interval of zero width results. Each interval is half-open on its upper end. This means that the upper endpoint of the highest interval is not included in that interval. At least two endpoints must be specified. ``` ```The optional argument 'xcenters' may be used to return a column vector of the computed center points of each of the histogram intervals. Its type may be of any kind but will be returned as a DOUBLE column vector of [coldim(xends)-1] elements. This vector may be used to plot the columns of the returned histogram. ``` ```The returned histogram is normalized such that the sum of each column is equal to unity.

Example ``` ```Do a histogram of normally distributed noise data. Make several columns of input data, average them, and plot the averaged histogram to verify the typical gaussian "bell curve". ``` include spt\spthead.oms #--- Create AWGN distributed random data --- mean   =  0d0;  # Zero-mean sigma  =  1d0;  # STD = 1.0 Nsamp  = 2048;  # Samples of data per column Ncol   =  128;  # Number of columns of data ranseed;        # Randomize the noise generator xdata  = awgn(mean,sigma,Nsamp,Ncol); # Make the noise #--- Define x-axis partition --- Nends  =    51; # Number of interval endpoints xstart =  -4d0; # Starting amplitude xinc   = .16d0; # Increment per interval xends  = xstart + (seq(Nends)-1) * xinc; # Vector of endpoints #--- Do the histogram --- xcenters = novalue; # Declare return for center points H        = histo(xdata,xends,xcenters); # Make the histogram Havg     = rowsum(H);       # Add columns together for averaging Havg     = Havg/max(Havg);  # Normalize to Peak = 1.0 for plotting ``` Reference ``` ```