首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inf还是Inf?nan还是NaN?

inf还是Inf?nan还是NaN?
EN

Stack Overflow用户
提问于 2013-01-11 06:27:19
回答 2查看 1.5K关注 0票数 7

似乎infInf在MATLAB中是完全相同的( nanNaN也一样,但Nan不一样)。有什么不同吗?

代码语言:javascript
复制
>> which inf
built-in (/Applications/MATLAB_R2011b.app/toolbox/matlab/elmat/inf)
>> which Inf
built-in (/Applications/MATLAB_R2011b.app/toolbox/matlab/elmat/Inf)

如果它们是相同的,那么在实践中应该使用哪一个?对于分配数组,我一直在使用x = inf(3,5)风格,遵循zerosones都是小写。对于单值赋值,我使用x = Inf。你认为这是一种一致的使用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-11 20:42:13

以下是MATLAB似乎使用的约定:

对于非数字:始终使用NaN ( isnan()等组合除外

For Infinite:对于函数使用inf,对于值使用Inf (对于倍数使用INFs,当然这不是命令)。请注意,这有点棘手,因为这意味着inf的计算结果是Inf

推论自:

help Inf:inf(N)是一个由inf组成的N乘N矩阵。

help nan:NaN(N)是一个N乘N的NaN矩阵。

help isnan:例如,isnan(pi NaN Inf -Inf)是0 1 0 0。

票数 2
EN

Stack Overflow用户

发布于 2013-01-11 06:32:08

在习惯用法上最一致的是naninf,但MATLAB为您提供了另一种将NaNInf大写的方法,就像您在其他任何地方都可以找到它一样,例如在打印输出中。请注意,MATLAB区分大小写。没有人会使用NanInF,所以MATLAB不提供这些“别名”。

编辑:用于数据向量的,就像在[3.7, 1.2, NaN, 3.1]中一样,我发现自己也一直在使用NaN,但下面的实验非常强烈地表明,这种使用是而不是与MATLAB的内部工作密切相关的。创建一个返回4的函数n = NaN(),并将其保存为当前文件夹中的NaN.m。像上面这样定义向量将导致[3.7, 1.2, 4.0, 3.1]表明MATLAB不将NaN理解为常量,并将查找一个函数,根据MATLAB的习惯,该函数应全部拼写为小写。

现在,让我们在忘记之前快速删除NaN.m,并继续在数据列中使用NaN

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14268423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档