2

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

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

我无法使用 mean 命令,并且不确定执行此操作的最佳方法是什么。

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

4

3 回答 3

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);
于 2013-02-20T15:16:20.363 回答
1

您应该将所有矩阵放在一个 3 维(矩阵?)mat中,如下所示:

mat(:,:,1) = mat1;
mat(:,:,2) = mat2;
mat(:,:,3) = mat3;
etc...

然后简单地说:

mean(mat, 3);

其中参数 '3' 规定您希望平均值在第 3 维上。

于 2013-02-20T15:23:35.383 回答
0

矩阵的平均值可以通过几种不同的方式计算。

首先,您可以计算每列的平均值,然后计算这些平均值的平均值:

colMeans = mean( A );
matMean = mean(colMean);

或者您可以将矩阵转换为列向量并直接计算平均值

matMean = mean( A(:) );
于 2013-02-20T15:16:27.337 回答