Statistics of past execution periods



stats = statistics(rate) returns statistics of previous periods of code execution. stats is a struct with these fields: Periods, NumPeriods, AveragePeriod, StandardDeviation, and NumOverruns.

Here is a sample execution graphic using the default setting, 'slip', for the OverrunAction property in the Rate object. See OverrunAction for more information on overrun code execution.

The output of statistics is:

stats = 

              Periods: [0.7 0.11 0.7 0.11]
           NumPeriods: 4
        AveragePeriod: 0.09
    StandardDeviation: 0.0231
          NumOverruns: 2

Input Arguments

expand all

Rate object, specified as an object handle. This object contains the information for the DesiredRate and other info about the execution. See rateControl for more information.

Output Arguments

expand all

Time execution statistics, returned as a structure. This structure contains the following fields:

  • Period — All time periods (returned in seconds) used to calculate statistics as an indexed array. stats.Period(end) is the most recent period.

  • NumPeriods — Number of elements in Periods

  • AveragePeriod — Average time in seconds

  • StandardDeviation — Standard deviation of all periods in seconds, centered around the mean stored in AveragePeriod

  • NumOverruns — Number of periods with overrun


expand all

Create a Rate object for running at 20 Hz.

r = robotics.Rate(2);

Start a loop and control operation using the Rate object.

for i = 1:30
    % Your code goes here

Get Rate object statistics after loop operation.

stats = statistics(r)
stats = struct with fields:
              Periods: [1x30 double]
           NumPeriods: 30
        AveragePeriod: 0.5000
    StandardDeviation: 0.0020
          NumOverruns: 0

See Also

| |


Introduced in R2019b