不需要用循环,直接一个语句即可:
a=rand(10000,1); % 测试数据
b1=mean(reshape(a,[100 100]),2);
含义是,把原10000x1的列向量转换成100x100的矩阵,其中第1列是a的1-100个元素,第2列是a的101-200个元素,依次类推。然后求平均值是沿着第2维,也就是把100个100x1的列向量对应位置的元素求平均。
当然,如果你一定想要循环也可以,那样应该是
for n=1:100,
b(n)=mean(a(n:100:end));
end
你可以验证,两种做法的结果相同
isequal(b1,b')
温馨提示:答案为网友推荐,仅供参考