MATLAB中的xcorr命令

MATLAB中的xcorr命令,matlab,cross-correlation,Matlab,Cross Correlation,根据文档,对于xcorr命令,没有像conv那样方便的'same'选项来保持输出与其中一个输入相同的大小 除了计算适当的索引和谈论子数组之外,还有什么方法可以解决这个问题吗?你是对的,xcorr没有这样的东西,问题是即使你指定MAXLAG,你也会得到一个长度为2*MAXLAG+1的向量,所以它总是很奇怪。如果您的输入信号是奇数,您可以调用xcorr(a,b,(长度(a)-1)/2)。如果你用偶数或任意长度的数据,恐怕你必须使用子数组计算 R = xcorr( a,b, floor(length(

根据文档,对于
xcorr
命令,没有像
conv
那样方便的
'same'
选项来保持输出与其中一个输入相同的大小


除了计算适当的索引和谈论子数组之外,还有什么方法可以解决这个问题吗?

你是对的,
xcorr
没有这样的东西,问题是即使你指定
MAXLAG
,你也会得到一个长度为2*MAXLAG+1的向量,所以它总是很奇怪。如果您的输入信号是奇数,您可以调用
xcorr(a,b,(长度(a)-1)/2)。如果你用偶数或任意长度的数据,恐怕你必须使用子数组计算

R = xcorr( a,b, floor(length(a)/2) );
R = R( 1:length(a) );