Taking the mean of a matrix with NaN's in Matlab [duplicate]

让人想犯罪 __ 提交于 2019-11-29 11:23:21

You can use isnan() to filter out the unwanted elements:

mean(A(~isnan(A)))
nanmean

Performs just like mean, but ignoring nans.

For example:

>> A = [1 0 NaN; 0 3 4; 0 NaN 2]
A =
     1     0   NaN
     0     3     4
     0   NaN     2
>> nanmean(A)
ans =
         0.333333333333333                       1.5                         3
>> nanmean(A,2)
ans =
                       0.5
          2.33333333333333
                         1
>> nanmean(A(:))
ans =
          1.42857142857143
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!