大矩阵的自相关

时间:2013-06-06 15:13:06

标签: for-loop indexing

我对Matlab很新,我正在尝试计算大矢量场的自相关系数。基本上我有一个15x13664矩阵,在那里我想为每个COLUMN分别计算时间滞后直到列-1长度的自相关。我能够使用2个for循环计算1列的自相关,但是在获取Matlab然后移动到下一列时遇到了问题。我想将信息存储在一个矩阵中,该矩阵将每个自相关作为矩阵中的一列(即我的输出应该是14x13664 matirx)。我的代码如下:

b=1;%Start with column 1
for b=1:3,%Compute autocorrelation for first 3 columns
    N=15;%Total number of points in each column
    i=1;%set up variable for loop
    j=1;
    k=1;
    m=0;%time lag variable
    for index=1:15 % run autocorrelation 15 times
        L=15-m;%Stop multiplying u velocity once end is reached
        for index2=1:L,
            multiply(i,b)=Utest2(i,b).*Utest2(j+m,b);%Multiply fluctuating velocity by itself plus  time lag
            i=i+1;
            j=j+1;
        end
        Average(k,b)=sum(multiply(:,b)/N;%Find the average using number of points in multiply
        correlation(k,b)=Average(:,b)./(stdU.^2);%Find correlation
        m=m+1;%increase time lag
        index2=1;%Reset loop
        i=1;
        j=1;
        k=k+1;
        N=N-1;%Reduce number of point in multiply for each iteration
    end
    b=b+1;
end

我收到错误: 订阅的分配维度不匹配。

我不明白为什么Matlab不会转到下一栏。任何帮助表示赞赏。

0 个答案:

没有答案