- crosscorr function requires two vector inputs. Ain01_correct(i,2) it is not (it is a number). Notice also that AinO1_incorrect(:,2) is just the second column of your matrix (not a row).
- correlationAinO1 = z'; what is that???
Cross correlation Between two matrices row by row
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Flavia Aluisi
il 23 Feb 2017
Modificato: Massimo Zanetti
il 23 Feb 2017
Good morning, I have a problem with the cross correlation (crosscorr command), I'm trying to do a cross correlatation btw 2 matrices with dimension 96*3000, and I wrote this small loop:
[r, c] = size(AinO1_correct);
for i=1:r
[xcf,lags,bounds]=crosscorr(AinO1_correct(i,2) , AinO1_incorrect(:,2));
correlationAinO1 = z';
end
but i got this error 'First series must be a vector.' I don't know what is wrong could please help me?
0 Commenti
Risposta accettata
Massimo Zanetti
il 23 Feb 2017
Modificato: Massimo Zanetti
il 23 Feb 2017
There are some issues in your code.
I assume what you want is:
[r, c] = size(AinO1_correct);
for i=1:r
[xcf,lags,bounds]=crosscorr(AinO1_correct(i,:) , AinO1_incorrect(i,:));
end
notice that arguments of crosscorr function are row vectors from your matrices.
IMPORTANT check the size of the two matrices is the same before running the code.
2 Commenti
Massimo Zanetti
il 23 Feb 2017
Modificato: Massimo Zanetti
il 23 Feb 2017
This is due to the fact that having not supplied the number of lags, MATLAB uses a default value numLags=20. Then, the output size is 20*2+1, accordingly.
This is explained in the help page of the function crosscorr, read carefully paragraphs related to numLags input and xcf,lags outputs.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Particle & Nuclear Physics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!