2013-03-10 35 views
0

我應該將所有的矩陣合併成一個,它水平連接乘以大矩陣元素導致無限

matrix = [matrix1 matrix2 matrix3];

現在我必須找到32 x 2039尺寸的矩陣的平均值。

我試圖通過每一行循環使用意味着該行multipled和元素的數量是2039年

回答我得到的是-Inf,所有的時間除以所有元素。

幫助將不勝感激。 感謝

我的代碼有什麼我可以的情況下,還記得

[r, c] = size(matrix); 
for i = 1:r 
    rowvalues = matrix(i,[1:c]); 
    mean(i,1) = mean2(rowvalues); %or mean(rowvalues,2); 
end 

結果-Inf。

我的目標是計算矩陣的平均值,應該是39×1維。 謝謝

回答

0

當一行的元素是-Inf時,整行將有一個mean = -Inf。 我建議你用下面的代碼檢查:

% The indices of the occurences of -Inf in matrix 
mInfIndices=(matrix==-Inf); 
% Does the row contain an -Inf? 
mInfInRows=sum(mInfIndices,2)>0; 
disp(mInfInRows); 

這樣,您將看到哪些行包含-Inf。

+0

這是我的錯誤,我做了一個愚蠢的錯誤,我試圖通過乘以第一行的所有元素並將其除以元素的數量而不是總和來計算平均值。 – 2013-03-19 16:52:38