变量数据比较结果为false,但相减为0
技术分享
发布于 2025-08-06 16:30:06
查看 2过去300天
问题现象
例如:

比较两个变量,REPL 返回 Error,但两个变量相减为零

解决方法
步骤 1:
导致这种情况的原因是以下几点:
寻找是否存在非0项
findall(!iszero.data)
步骤 2:
==是要求数据完全一致,可以先用方法1来检验是否真的完全一致,但计算结果可能存在精度差异,如果是为了比较两者是否一致可以使用 isapprox(a,b) 的方法
步骤 3:
typeof 看数据类型,数据类型不一致会导致==判断时返回 false
建议使用 all(a .== b)
所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境