从文档运行示例时,为什么nanmean函数错误?

时间:2018-11-01 03:41:25

标签: matlab nan mean

我正在尝试使用MATLAB中的nanmean函数忽略NaN值来计算矩阵的平均值。但是,当我测试从MATLAB documentation复制的代码时,MATLAB会抛出错误消息:

Error using sum
Invalid option. Option must be 'double', 'native', 'default', 'omitnan' or 'includenan'.

Error in mean (line 111)
        m = sum(x, dim, flag, 'omitnan');

Error in nanmean (line 17)
y = mean(varargin{:},'omitnan');

这真是令人困惑。使用MATLAB文档中的代码后,为什么会出现错误?

产生此错误的“正式”代码如下:

X = reshape(1:30,[2 5 3]);
X([10:12 25]) = NaN
y = nanmean(X,'all')

我正在使用MATLAB版本R2017a。

1 个答案:

答案 0 :(得分:0)

在最新的MATLAB版本R2018b中引入了'all'选项。您正在使用没有此功能的旧版本。

相反,将矩阵重塑为一列:

y = nanmean(X(:))

如果您拥有MATLAB许可证,则可以在此处访问您的MATLAB版本的文档:https://www.mathworks.com/help/releases/R2017a/matlab/functionlist.html

您还可以通过在MATLAB中键入doc nanmean来访问函数的文档。然后,您总是可以看到与您使用的MATLAB版本相对应的文档。