2

我对 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 不会移​​动到以下列。任何帮助表示赞赏。

4

0 回答 0