我有一个包含 60 个矩阵的文件。我想获得这 60 个矩阵中每个值的平均值。
所以矩阵中[1,2]的[1,1]均值的均值。
我无法使用 mean 命令,并且不确定执行此操作的最佳方法是什么。
这是文件:https://dl.dropbox.com/u/22681355/file.mat
我有一个包含 60 个矩阵的文件。我想获得这 60 个矩阵中每个值的平均值。
所以矩阵中[1,2]的[1,1]均值的均值。
我无法使用 mean 命令,并且不确定执行此操作的最佳方法是什么。
这是文件:https://dl.dropbox.com/u/22681355/file.mat
你可以试试这个:
% 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);
您应该将所有矩阵放在一个 3 维(矩阵?)mat中,如下所示:
mat(:,:,1) = mat1;
mat(:,:,2) = mat2;
mat(:,:,3) = mat3;
etc...
然后简单地说:
mean(mat, 3);
其中参数 '3' 规定您希望平均值在第 3 维上。
矩阵的平均值可以通过几种不同的方式计算。
首先,您可以计算每列的平均值,然后计算这些平均值的平均值:
colMeans = mean( A );
matMean = mean(colMean);
或者您可以将矩阵转换为列向量并直接计算平均值
matMean = mean( A(:) );