在matlab中求和多个矩阵

时间:2013-02-20 15:09:10

标签: matlab

我有一个包含60个矩阵的文件。我希望得到这60个矩阵中每个值的平均值。

所以矩阵的[1,1]均值[1,2]的平均值。

我无法使用mean命令,我不确定这是最好的方法。

这是文件:https://dl.dropbox.com/u/22681355/file.mat

3 个答案:

答案 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(:) );