变量数据比较结果为false,但相减为0
技术分享
发布于 2025-07-23 13:39:09
查看 1过去340天
问题现象
例如:

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

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