Arrays 使用for循环获得矩阵中特定点的平均值
我有一个叫做V1all的矩阵,里面有1556480个变量。都在第一列。我试图得到平均每1024点。i、 e.前1024个点的平均值,然后是第二个1024个点的平均值,依此类推。最后我应该有一个1520点的矩阵。我有下面的代码,但我只得到一个值重复1520次Arrays 使用for循环获得矩阵中特定点的平均值,arrays,matlab,for-loop,matrix,Arrays,Matlab,For Loop,Matrix,我有一个叫做V1all的矩阵,里面有1556480个变量。都在第一列。我试图得到平均每1024点。i、 e.前1024个点的平均值,然后是第二个1024个点的平均值,依此类推。最后我应该有一个1520点的矩阵。我有下面的代码,但我只得到一个值重复1520次 V1 = zeros(1520,1); for jj = 1024:1024:1556480; V1(1:1520) = mean(V1all(jj-1023:jj)); end 知道我做错了什么吗?就这一点而言,Jer您可以在一行中完成:
V1 = zeros(1520,1);
for jj = 1024:1024:1556480;
V1(1:1520) = mean(V1all(jj-1023:jj));
end
知道我做错了什么吗?就这一点而言,Jer您可以在一行中完成:重塑为1024行矩阵,然后应用
mean
计算每列的平均值:
V1 = mean(reshape(V1all, 1024, []));
如果您真的想使用循环:您没有正确地索引V1
。按如下方式修改您的代码:
V1 = zeros(1520,1);
for n = 1:1520;
jj = 1024*n;
V1(n) = mean(V1all(jj-1023:jj));
end