自学笔记十五:详谈Matlab中的Inf和NaN是什么鬼?

1.概念

众所周知,数学上表达无穷大使用符号“∞”,在Matlab中,用特殊字符“inf”表示无穷大,比如零除和溢出等这样的运算会产生无穷大,这导致结果太大而不能用传统的浮点值表示;

用特殊字符“NaN”表示既不是实数也不是复数的“非数字”的值,例如,当把Excel文件中的数据读取到Matlab中时,若只读取数值型数据,那么数据中的缺失值自动使用NaN来表达;

2.Inf的创建和产生

创建无穷大的函数是inf,除此之外,一些运算也会生成Inf;

程序示例:

a=inf

1/0 %无穷大

1e309 %超过存储范围,返回无穷大

realmax %浮点型最大取值范围

realmax+1e30 %最大取值+1e30并未返回无穷大值

realmax+1e300 %最大取值+1e300返回无穷大值

3. NaN的创建和产生

创建非值的函数是nan,除此之外,一些运算也会生成NaN;

程序示例:

a=nan %nan

inf/inf %nan

0/0 %nan

4. Inf的判断和运算

判读一个变量是否为无穷大使用函数isinf,在Matlab里,inf与inf相等判断为真;

程序示例:

isinf(exp(1000)) %返回逻辑1,是无穷大

inf==inf %返回逻辑值为真

inf+10 %返回Inf

inf-1e308 %返回Inf

inf+inf %返回Inf

5. NaN的判断和运算

判读一个变量是否为非值使用函数isnan,在Matlab里,nan与nan相等判断为假;

程序示例:

a=nan

isnan(a) %返回逻辑值为真

nan==nan %0假,非值无法定义,因此相互之间不相等

nan>0

nan<0

nan~=nan

%涉及nan的逻辑运算结果通常为0

End

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freexyn

码字不易,谢谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值