Size: a a a

2018 July 30

GS

Georgy Shepelev in comput.math
отдаю в функцию взаимокорреляции два набора точек
источник

GS

Georgy Shepelev in comput.math
и получаю, что нужно второй (красный) график сдвинуть вправо на 17 * step
источник

GS

Georgy Shepelev in comput.math
график функции взаимокорреляции
источник

GS

Georgy Shepelev in comput.math
и вот, как она мне говорит их надо сдвинуть
источник

g

gsomix in comput.math
Georgy Shepelev
[R, lag] = xcorr(y2, y(lagDiff:end));
[~,I] = max(abs(R));
lagDiff = lag(I)

plot(lag, R)

plot(x, y, x2 - lagDiff * (right - left) / count, y2)

lagDiff =  17
Почему max(abs(R))?
источник

GS

Georgy Shepelev in comput.math
честно - не знаю. Смотрю пример из матЛаба по xcorr - Delay between two correlated signals  - http://www.mathworks.com/help/signal/ref/xcorr.html
источник

GS

Georgy Shepelev in comput.math
и у них всё работает, естественно )
источник

GS

Georgy Shepelev in comput.math
и графики там куда "мощнее" моего синтетического
источник

GS

Georgy Shepelev in comput.math
gsomix
Почему max(abs(R))?
и, кстати, конкретно в этом случае - без разницы
источник

GS

Georgy Shepelev in comput.math
просто максимум совпадает с макс(абс)
источник

g

gsomix in comput.math
Сдвинул, наверное, неправильно. Сейчас, почитаю доку.
источник

GS

Georgy Shepelev in comput.math
давай я свои соображения расскажу
источник

GS

Georgy Shepelev in comput.math
функция эта ничего не знает об абсциссах последовательностей
источник

GS

Georgy Shepelev in comput.math
и, соответственно, результат её работы - это относительный сдвиг одной последовательности от другой по абсциссам одной из них
источник

GS

Georgy Shepelev in comput.math
вот, что я законспектировал, когда читал документацию -
Когда мы найдём максимум взаимокорреляции, то получим некий сдвиг.

Это сдвиг, по формуле, значит, насколько сдвинут по индексам
первый массив.

Если этот сдвиг отрицательный, то при расчёте в формуле
по отрицательным индексам используются нули. Иными словами,
первый график будет дополняться слева нулями (x[i + k]; 0).
Ещё раз иными словами - график сдвигается вправо, а слева
"приклеивается" прямая y = 0.

Если сдвиг положительный: первый график (x) дополняется нулями
справа. Иными словами, сдвигается влево.
источник

GS

Georgy Shepelev in comput.math
что-то я сейчас перечитываю эти строки и осознаю, что вообще картина должна быть другой
источник

GS

Georgy Shepelev in comput.math
мне надо для y2 последовательности взять абсциссы y, со сдвигом на -lagDiff * step
источник

GS

Georgy Shepelev in comput.math
совсем запутался (
источник

g

gsomix in comput.math
@geshep Да, это занятно. Проверь второй по величине положительный максимум.
источник

GS

Georgy Shepelev in comput.math
всё таки я ошибся
источник