isequal和恒等为什么不一样
技术分享
发布于 2024-09-10 16:40:08
查看 17过去656天
一、问题现象
isequal和恒等为什么不一样,为什么NaN==NaN返回值是false,但是isequal(NaN,NaN)=true。
二、解决方法 / 步骤
上述现象是 Julia 语言特性与 Matlab 语言特性不一致导致的,推荐使用 ==。
1、julia 的 isequal 类似于 == ,除了对浮点数和缺失值的处理。
(1) isequal将所有浮点NaN值视为彼此相等,将-0.0视为不等于0
(2) isequal将missing视为等missin

2、matlab的 == 和isequal的返回值相同
实现isequal的默认实现调用 == ,所以不涉及浮点值的类型一般只需要定义 ==。
所属专栏:Julia语言
产品信息:Syslab科学计算环境
系统信息:Win10或11