60 個の行列を含むファイルがあります。これらの 60 の行列全体で各値の平均を取得したいと思います。
したがって、行列全体の [1,1] の平均は [1,2] の平均です。
mean コマンドを使用できず、これを行う最善の方法がわかりません。
ファイルは次のとおりです。https://dl.dropbox.com/u/22681355/file.mat
60 個の行列を含むファイルがあります。これらの 60 の行列全体で各値の平均を取得したいと思います。
したがって、行列全体の [1,1] の平均は [1,2] の平均です。
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(:) );