(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
本文探讨了在MATLAB中如何正确计算二维数组的均值,特别是在数组包含NAN值时的处理方法。通过对比mean2()函数和mean()函数的不同用法,介绍了将二维数组转换为一维数组并使用'omitnan'选项来排除NAN值计算均值的正确实践。
235

被折叠的 条评论
为什么被折叠?



