xcorr
Функция расчета взаимной и автокорреляции
Синтаксис
z = xcorr(x,y);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| x, y | array |
Массив-строка (вектор) действительных чисел |
Описание
xcorr – рассчитывает значение взаимной корреляционной функции между векторами
x и y. Если размерность векторов отличается, то вектор
меньшей размерности будет дополнен нулями до размерности второго вектора. Если в качестве
аргументов задать один и тот же массив, то функция будет возвращать значение
автокорреляционной функции заданного массива.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| z | array |
Функция возвращает массив значений взаимной корреляционной функции аргументов x
и y. Размерность выходного массива равна |
Пример
count = 16; // задаем число элементов
x = vector(count); // объявляем массив х
n = 0..(count-1);
for (i=1, cols(n))
x[i] = 0.7^n[i]; // заполняем массив х
y = circshift(x,5); // массив y создаем смещением массива х
z1 = xcorr(x,y); // считаем взаимную корреляцию
z2 = xcorr(x,x); // считаем автокорреляцию вектора х
lags = vector(count*2-1); // создаем и заполняем массив смещений для построения графиков корреляционных функций
for (i=-1*(count-1), count-1)
lags[i+count] = i;
Вычисляется взаимная корреляция векторов х и у (где
y - это x, циклически смещенный вправо на 5 элементов), а
также автокорреляция вектора х.
z1 и z2 от смещения
(lags) представляют собой графики взаимной корреляционной функции массивов
x и y, а также автокорреляционной функции массива
x соответственно. Наибольший всплеск корреляции возникает при значении
смещения, при котором входные массивы точно совпадают: для z1 это значение
lags равное -5, а для z2 - 0.

Дополнительные материалы
Нет.