在Matlab中用NaN的矩阵的均值

4 matlab matrix nan

可能重复:
在matlab函数中处理NaN

是否有一行命令允许您NaN在Matlab 中采用矩阵的元素平均值(忽略's)?例如,

>> A = [1 0 NaN; 0 3 4; 0 NaN 2]

A =

     1     0   NaN
     0     3     4
     0   NaN     2
Run Code Online (Sandbox Code Playgroud)

所以mean(A)应该是平等的(1+3+2+4+0+0+0)/7 = 1.4286

此外,我无法访问统计工具箱,所以我无法使用 nanmean()

Oli*_*rth 5

您可以使用isnan()过滤掉不需要的元素:

mean(A(~isnan(A)))
Run Code Online (Sandbox Code Playgroud)