私はmatlabが初めてで、何か質問したいです。行列の平均行列を作成できる関数は matlab にありますか?
たとえば、次のような行列があります。
A = [ 1 2
3 4 ]
B = [ 3 2
1 2 ]
そして、先ほど意味した平均行列に必要なものは次のようなものです
Mean = [ 2 2
2 3 ]
誰にも提案がありますか?
私はmatlabが初めてで、何か質問したいです。行列の平均行列を作成できる関数は matlab にありますか?
たとえば、次のような行列があります。
A = [ 1 2
3 4 ]
B = [ 3 2
1 2 ]
そして、先ほど意味した平均行列に必要なものは次のようなものです
Mean = [ 2 2
2 3 ]
誰にも提案がありますか?
別のオプション:
mean([A(:) B(:)]')
ans =
2 2 2 3
これにより、2 つの行列からベクトルが作成され、必要な平均のベクトルが返されますreshape
。
reshape(mean([A(:) B(:)]'),size(A))
ans =
2 2
2 3
編集: Eitan は、より効率的な次のワンライナー ソリューションを提案しました。
mean(cat(ndims(A) + 1, A, B), ndims(A) + 1)
次のように簡単に実行できます。
a = [1 2 ;...
3 4];
b = [1 3 ;...
1 2];
sum = a + b;
mean = sum ./ 2;
そして、それは次のようになります。
mean =
1.0000 2.5000
2.0000 3.0000