matlab中的计算二维数组中所有非NAN元素的平均值

(1) 当二维数组AA不包含NAN时,
AA =

1 2 3
4 5 6
7 8 9

可以直接使用mean2()计算所有元素的均值 mean2(AA)= 4.6667

(2) 当二维数组AA包含NAN时,
AA =

2 3 5
4 6 NAN
7 8 9

直接使用mean2()会返回NAN。
也不能使用mean(mean(AA,2,‘omitnan’))或者 mean(mean(AA,1,‘omitnan’))。
mean(mean(AA,2,‘omitnan’)) = 5.4444
mean(mean(AA,1,‘omitnan’)) = 5.6667

正确做法应该是,将AA转换为一维数组,再使用mean( ,‘omitnan’).

AAt = reshape(AA, size(AA,1)*size(AA,2),1)
mean(AAt,‘omitnan’)
= 5.5000

猜你喜欢

转载自blog.csdn.net/SmartTiger_CSL/article/details/107142961