2015-01-10 59 views
1

我有一個稱爲V1all的矩陣,其中包含1556480個變量。全部在第一列。我試圖獲得每1024點的平均值。即前1024個點的平均值,然後是第二個1024點,依此類推。最後我應該有1520分的矩陣。我有下面的代碼,但我只有一個值重複1520次。使用for循環獲取矩陣中特定點的平均值

V1 = zeros(1520,1); 
for jj = 1024:1024:1556480; 
V1(1:1520) = mean(V1all(jj-1023:jj)); 
end 

任何想法我做錯了什麼?問候,耶

回答

2

你能做到在同一行:重塑成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