我正在尝试使用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。
答案 0 :(得分:0)
在最新的MATLAB版本R2018b中引入了'all'
选项。您正在使用没有此功能的旧版本。
相反,将矩阵重塑为一列:
y = nanmean(X(:))
如果您拥有MATLAB许可证,则可以在此处访问您的MATLAB版本的文档:https://www.mathworks.com/help/releases/R2017a/matlab/functionlist.html
您还可以通过在MATLAB中键入doc nanmean
来访问函数的文档。然后,您总是可以看到与您使用的MATLAB版本相对应的文档。