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