Nans 的两个矩阵的平均值,每个元素的元素

Posted

技术标签:

【中文标题】Nans 的两个矩阵的平均值,每个元素的元素【英文标题】:mean of two matrixes with Nans, element per element 【发布时间】:2020-03-20 20:15:39 【问题描述】:

我希望每个元素有两个矩阵元素的 nanmean。我似乎无法使用函数nanmean 来做到这一点,因为它不会对每个元素的元素求和。

简化示例:

A= [1 1 1 
    1 1 1
    1 nan 1];

B=[3 3 3
   3 3 3
   3 3 3];

我想要的结果:

C= [2 2 2
    2 2 2
    2 3 2];

所以 nan 被忽略了。

我在https://nl.mathworks.com/matlabcentral/answers/366304-how-to-sum-up-multiple-matrices-element-by-element 上找到的每个元素求和的一种方法

A(:,:,1)=randi([1 3],100,100);
A(:,:,2)=randi([1 3],100,100);
A(:,:,3)=randi([1 3],100,100);
A(:,:,4)=randi([1 3],100,100);
B=zeros(size(A,1),size(A,2));
for i=1:size(A,3)
    B=B+A(1:size(A,1),1:size(A,2),i);
end
disp(B)

但这不是 nansum。如果不考虑 nans,我怎么能做到这一点?

【问题讨论】:

【参考方案1】:

您可以沿第 3 个维度连接矩阵,然后沿该维度应用 nanmean

C = cat(3,A,B);
C = nanmean(C,3);

(当然你可以把这两个语句写成一个,我这样写是为了清楚。)

【讨论】:

以上是关于Nans 的两个矩阵的平均值,每个元素的元素的主要内容,如果未能解决你的问题,请参考以下文章

我如何以向量化方式对矩阵中的每个第n个元素求平均?

如何在两个 Pandas 数据帧中找到元素调和平均值

矩阵乘法中每个单元格的平均值,而不仅仅是 python 中的总和

两个独立数据框列表中所有元素的平均值和标准差

如何按一个元素分组并在 Javascript 中找到另一个元素的平均值?

具有 nans 的数据框列的移动平均值