Special-Purpose Software: MATLAB Functions for Estimation of Peaks from Time Series
This page describes MATLAB functions for the estimation of peak
values from time series of such quantities as wind pressures and
wind-induced internal forces in structural members. While the maximum
and minimum values of a time series are readily evaluated, these
observed peaks can exhibit wide variability from one
realization to another due to the highly fluctuating nature of wind
pressures (i.e., significant differences might be expected in the
peak values of pressure time series obtained from several different
tests under nominally identical conditions in the same wind tunnel).
Therefore it is generally preferable to use a more stable estimator
for the expected peaks.
These functions estimate peaks by evaluating probability distributions for the peaks through extension of classical results for Gaussian processes, using the approach described in the following paper:
The following primary MATLAB functions are available for download:
|maxminest||The function maxminest can be called within MATLAB in the following alternative forms:|
[max_est, min_est] = maxminest(X)
[max_est, min_est] = maxminest(X, dur_ratio)
[max_est, min_est, max_std, min_std] = maxminest(...)
The function maxminest returns expected maximum and minimum
values of the input time series. Standard deviations can also be
returned if requested.
The first input argument, "X", contains time series from which peaks are to be estimated, and it can be either a vector or a matrix. If "X" is a matrix, then each row is a separate time series, and the output arguments "max_est" and "min_est" are column vectors giving the expected maximum and minimum values, respectively, of each row in "X".
The optional second input argument, "dur_ratio", specifies the ratio of the duration for which peaks are required to the duration of the time series. For example, if a time series with duration of 30 min is available but it is required to estimate the peaks of a time series of the same process with duration of 60 min, then a value of 2 would be specified for the second input argument. If the second input argument is omitted or is empty, then the default value of 1 is used for "dur_ratio".
If maxminest is called with four output arguments, then standard deviations of the maximum and minimum are returned in addition to the expected values. Standard deviations are returned in the output arguments "max_std" and "min_std", which are column vectors with the same size as "max_est" and "min_est".
|maxminqnt||The function maxminqnt is called within MATLAB as follows:|
|Syntax||[max_qnt, min_qnt] = maxminest(X, dur_ratio, CDF_qnt)|
The function maxminqnt computes quantiles (i.e., values
corresponding to specified probabilities of non-exceedance) of the
maximum and minimum values of the input time series.
This function requires three input arguments. The first two input arguments, "X" and "dur_ratio", are the same as described above for the function maxminest. If the second input argument is empty, then the default value of 1 is used.
The third input argument, "CDF_qnt", is a vector containing values of the cumulative distribution function (between zero and one) for which quantiles of the maxima are to be returned in the output argument "max_qnt". For the minima, quantiles corresponding to a cumulative distribution of 1-CDF_qnt are returned in the output argument "min_qnt". Therefore, if a value of 0.75, for example, is specified for "CDF_qnt", then the resulting value of "max_qnt" has a 25% probability of being exceeded in the positive direction, while the resulting value of "min_qnt" has a 25% probability of being exceeded in the negative direction. If the vector "CDF_qnt" has more than one element, then the output arguments "max_qnt" and "min_qnt" will be matrices, with their columns corresponding to the elements of "CDF_qnt" and their rows corresponding to the rows of "X".