我是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
这将从两个矩阵生成一个向量并返回一个您想要的均值向量,然后您可以使用reshape
,将其重新整形为 2x2
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