【问题标题】:Which is the difference between `min` and `nanmin`; `max` and `nanmax` in Matlab?`min` 和 `nanmin` 的区别是什么? Matlab中的“max”和“nanmax”?
【发布时间】:2013-10-31 00:07:30
【问题描述】:

Matlab 是这样描述nanminnanmax 的:

NANMIN 最小值,忽略NaNs。

NANMAX 最大值,忽略NaNs。

但事实上,minmax 也忽略了NaNs。

那我应该用哪个?

根据我的测试,nanminnanmax 更快。总是这样吗?

【问题讨论】:

  • @A.Donda minmax 请忽略 nan。你的例子是关于mean

标签: matlab


【解决方案1】:

nanmin 只是调用min

[varargout{1:nargout}]=min(varargin{:});

nanmax 也是如此。就是这样!

在过去的某些版本中,内置的minmax 更新为具有相同的功能,忽略了NaN,并且工具箱刚刚开始指向它们而不是维护它们自己的实现。只需使用 maxmin,除非您正在处理可能有自己实现这些功能的特殊类型。

【讨论】:

  • 添加关于“我应该使用哪个”的部分:应该使用minmax,因为它们是核心Matlab的一部分,而包装器nanminnanmax属于“金融工具箱”。
  • 统计工具箱也有它自己的nanminnanmax。在某些时候,标准的minmax 提供了相同的功能,而工具箱只是开始指向它们。
  • 所以Matlab改变了min的行为来忽略NaN的行为?他们怎么能这样做?毫无疑问,它会破坏代码。
  • @LuisMendo:这发生在 很久 之前:reference for Matlab 5 (PDF),版权于 1996 年 12 月,提到了 maxmin忽略NaN
  • @LuisMendo - 哎呀,也许我在想象它,​​他们总是有这些毫无意义的存根。我找不到 pre-5 版本。我从没想过我必须检查。
猜你喜欢
  • 2017-04-04
  • 1970-01-01
  • 2013-02-10
  • 2012-06-26
  • 2013-03-26
  • 1970-01-01
  • 2012-08-26
  • 2014-10-10
  • 2012-12-20
相关资源
最近更新 更多