isequal和恒等为什么不一样
技术分享
发布于 2024-09-11 20:37:22
查看 5过去629天
一、问题现象
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科学计算环境