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

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

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 回答