различия в corrcoef и xcorr

#matlab #signal-processing #correlation #cross-correlation

#matlab #обработка сигналов #корреляция #взаимная корреляция

Вопрос:

У меня есть две сложные функции (размер 1x1x2501), и мне нужно провести корреляцию между ними (взаимная корреляция).

Я пытался использовать эту команду:

 r=corrcoef(Hmimo_tb(1,:)',Hmimo_tb1(1,:)','coeff');
  

Где Hmimo_tb и Hmimo_tb1 — мои два сигнала, в которых единственным отличием является тот факт, что они были измерены в разных положениях. Разница между этими двумя сигналами максимально равна 1,5 e-13, поэтому на них влияет только шум.

В результате я получаю:

 ans =

1.0000             1.0000   0.0000i
1.0000 - 0.0000i   1.0000          
  

Функция, которую я собираюсь сопоставить, сложна, но значение 0.0000i оставляет у меня некоторые сомнения….
Еще одно сомнение заключается в том, что сигналы не равны на самом деле, как я уже говорил ранее, существует разница в 1,5 e-13, о которой не сообщается на вторичной диагонали, почему?

В чем разница между corrcoef и xcorr?


да, это правда, я пробовал с:

форматирование длинного g

и я получил в результате это:

Столбец 1

                       1                         
                      1    3.73593550274545e-11i
  

Столбец 2

                       1 -  3.73593550274545e-11i
                      1      
  

теперь, как я могу интерпретировать небольшое комплексное значение?что это представляет? Спасибо

Ответ №1:

Ответ может быть напечатан с меньшим количеством цифр, чем требуется, чтобы показать разницу порядка 1e-13. Возможно, оно было округлено до нуля, возможно, во время форматирования печати или, возможно, где-то еще при вычислении.

Комментарии:

1. да, это правда, я пробовал с: format long g и получил в результате это: Столбец 1 1 1 3.73593550274545 e-11i Столбец 2 1 — 3.73593550274545e-11i 1 теперь, как я могу интерпретировать небольшое комплексное значение? что это представляет? Спасибо