我有一个包含60个矩阵的文件。我希望得到这60个矩阵中每个值的平均值。
所以矩阵的[1,1]均值[1,2]的平均值。
我无法使用mean命令,我不确定这是最好的方法。
这是文件:https://dl.dropbox.com/u/22681355/file.mat
答案 0 :(得分:4)
你可以试试这个:
% concatenate the contents of your cell array to a 100x100x60 matrix
c = cat(3, results_foptions{:});
% take the mean
thisMean = mean(c, 3);
要舍入到最接近的整数,可以使用
roundedMean = round(thisMean);
答案 1 :(得分:1)
你应该将所有矩阵放在一个三维(矩阵?), mat 中,如下:
mat(:,:,1) = mat1;
mat(:,:,2) = mat2;
mat(:,:,3) = mat3;
etc...
然后简单地说:
mean(mat, 3);
其中参数'3'规定您希望平均accros为第三维。
答案 2 :(得分:0)
矩阵的均值可以通过几种不同的方式计算。
首先,您可以计算每列的平均值,然后计算这些均值的平均值:
colMeans = mean( A );
matMean = mean(colMean);
或者您可以将矩阵转换为列向量并直接计算均值
matMean = mean( A(:) );