matlab中为啥会出现NaN?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中为啥会出现NaN?相关的知识,希望对你有一定的参考价值。

是因为数据太小还是因为数据太大,或是因为不是数据?但是由公式计算出来的为什么会出现这种情况呢?

参考技术A NaN就是Not
a
Number
0/0,
∞/
∞,

∞等运算都会产生NaN
Matlab用NAN来真实记录0/0,
∞/
∞,

∞等运算的后果,避免可能因上述计算而造成的程序执行的中断。

为啥在 Sverige-Swedish CLR 4.0 中出现“NaN”的奇怪表示?

【中文标题】为啥在 Sverige-Swedish CLR 4.0 中出现“NaN”的奇怪表示?【英文标题】:Why the strange representation of 'NaN' in Sverige-Swedish CLR 4.0?为什么在 Sverige-Swedish CLR 4.0 中出现“NaN”的奇怪表示? 【发布时间】:2018-04-15 10:20:26 【问题描述】:

使用 Sverige-Swedish 作为操作系统的主要语言...

在 dotNET 4.0 的 C# 应用程序中,当我使用“G”格式调用“ToString”并且当前区域性在表示无效数字 (NaN) 的双精度数上时,生成的字符串不是预期的“NaN” .相反,我得到一个包含三个 U+00A4 实例的字符串( "¤¤¤" )。

我知道瑞典语中的术语可能不是“NaN”(尽管当操作系统设置为 Deutschland-German 时,字符串是“NaN”)但是这三个 Unicode 字符似乎不是一个非常在任何语言中表示“非数字”含义的有用方法。

谁能指点我解释一下?

【问题讨论】:

【参考方案1】:

这似乎是一个错误。如果您为每种文化打印代表 NaN 的所有字符串的列表,您会看到除瑞典语之外的每种语言都有“NaN”或相应语言中的其他有意义的描述:

foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))

    Console.WriteLine(String.Format("0:\t 1", ci, double.NaN.ToString("g", ci)));

【讨论】:

啊,太棒了!我的开发机器正忙于进行 Windows 更新 >_ 我刚刚注意到复选标记不是绿色的,所以如果我忘记及时执行此操作,我深表歉意,如果是 SO 的错,那么我无法解决。无论哪种方式,复选标记现在都是绿色的。 x-D

以上是关于matlab中为啥会出现NaN?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中出现NAN怎么回事

MATLAB中出现NAN怎么回事

matlab里答案出现NaN是啥情况

带通滤波中数据中间出现nan值怎么处理

Matlab出现nan怎么处理

关于matlab中nan读取的问题