1

私はmatlabが初めてで、何か質問したいです。行列の平均行列を作成できる関数は matlab にありますか?

たとえば、次のような行列があります。

A = [ 1 2
      3 4 ]

B = [ 3 2 
      1 2 ]

そして、先ほど意味した平均行列に必要なものは次のようなものです

Mean = [ 2 2
         2 3 ]

誰にも提案がありますか?

4

2 に答える 2

5

別のオプション:

 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)
于 2013-01-01T22:20:21.560 に答える
3

次のように簡単に実行できます。

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
于 2013-01-01T17:17:07.583 に答える