# seqperiod

Compute period of sequence

## Syntax

`p = seqperiod(x)[p,num] = seqperiod(x)`

## Description

`p = seqperiod(x)` returns the integer `p` that corresponds to the period of the sequence in a vector `x`. The period `p` is computed as the minimum length of a subsequence `x(1:p)` of `x` that repeats itself continuously every `p` samples in `x`. The length of `x` does not have to be a multiple of `p`, so that an incomplete repetition is permitted at the end of `x`. If the sequence `x` is not periodic, then `p` = `length(x)`.

• If `x` is a matrix, then `seqperiod` checks for periodicity along each column of `x`. The resulting output p is a row vector with the same number of columns as `x`.

• If `x` is a multidimensional array, then `seqperiod` checks for periodicity along the first nonsingleton dimension of `x`. In this case:

• `p` is a multidimensional array of integers with a leading singleton dimension.

• The lengths of the remaining dimensions of `p` correspond to those of the dimensions of `x` after the first nonsingleton one.

`[p,num] = seqperiod(x)` also returns the number `num` of repetitions of `x(1:p)` in `x`. `num` might not be an integer.

## Examples

```x = [4 0 1 6; 2 0 2 7; 4 0 1 5; 2 0 5 6]; p = seqperiod(x) p = 2 1 4 3 ```

The result implies:

• The first column of `x` has period 2.

• The second column of `x` has period 1.

• The third column of `x` is not periodic, so `p(3)` is just the number of rows of `x`.

• The fourth column of `x` has period 3, although the last (second) repetition of the periodic sequence is incomplete.