matlab中矩阵的均值矩阵

时间:2013-01-01 16:28:05

标签: matlab

我是matlab的新手,我想问一些问题。 matlab中是否有任何函数允许我制作矩阵的均值矩阵?

为了给你一些图片,例如我有这样的矩阵:

A = [ 1 2
      3 4 ]

B = [ 3 2 
      1 2 ]

然后我想要的平均矩阵我之前的意思是这样的

Mean = [ 2 2
         2 3 ]

有人有建议吗?

2 个答案:

答案 0 :(得分:5)

另一种选择:

 mean([A(:) B(:)]')

 ans =

        2     2     2     3

这将从两个矩阵中生成一个向量并返回您想要的均值向量,然后可以使用reshape将其重新整形为2x2,

reshape(mean([A(:) B(:)]'),size(A))

ans =

     2     2
     2     3

编辑:Eitan建议采用以下单线解决方案,效率更高:

mean(cat(ndims(A) + 1, A, B), ndims(A) + 1)

答案 1 :(得分: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