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 的两个矩阵的平均值,每个元素的元素的主要内容,如果未能解决你的问题,请参考以下文章
矩阵乘法中每个单元格的平均值,而不仅仅是 python 中的总和