Equal

lhs==rhs

如果 lhsrhs 相同,lhsrhs 返回 True.

更多信息

  • lhsrhs 用来表示一个即将使用函数如 Solve 等操作的符号方程.
  • 如果 lhsrhs 是同一表达式,lhsrhs 返回 True.
  • 如果通过比较数字或其它原始数据,比如字符串,lhsrhs 确实不相等,lhsrhs 返回 False.
  • 对于近似数,如果它们至多在最后八个二进制位不同(粗略地计算,等价于至多在最后两个十进制位不同),则它们被认为是相等的.
  • 机器精度的允许误差基于数字精度而降低.
  • 22. 的结果为 True.
  • 如果所有 ei 相等,e1==e2==e3 的结果为 True.
  • Equal[e] 的结果为 True.
  • 对于精确数值,Equal 在内部通过数值近似建立不等式. 这个过程可能受到全局变量 $MaxExtraPrecision 设置的影响.
  • lhsrhs 包含诸如 IndeterminateOverflow 的对象时,Equal 保留不求值.
  • StandardFormInputForm 中,lhsrhs 可以输入为 lhs\[Equal]rhslhsrhs.
  • 可由 \[LongEqual]lhsrhs 输入.
  • TraditionalForm 中,lhs==rhs 的输出结果为 lhsrhs.

背景

  • Equal[expr1,expr2] 返回 True,如果 expr1expr2 数值相等,False,如果它们不相等并且未被计算(如果不能建立相等性). 例如,Equal[(1+Sqrt[5])/2,GoldenRatio] 返回 TrueEqual[1,2] 返回 FalseEqual[1,a] 返回未被计算. Equal[expr1,expr2] 可使用双等号 expr1==expr2 输入或使用 \[Equal] 字符,如 expr1expr2. 多自变数形式 Equal[expr1,expr2,], 也可以输入为 expr1==expr2,返回 True 如果所有表达式 expri 是数值相等,False,如果至少两个不相等并没有被计算. 单个自变数形式 Equal[expr] 返回 True(有点矛盾的是,单个自变数的形式 Unequal[expr] 也是这个结果).
  • 如果机器精度 (MachinePrecision) 或更多的数字只是在最后 7 个二进制数字不同的话则认为是相等的. 低于机器精度的数字相等性是建于最低精度数的精度内. 例如,1.01`2==1 返回 True,而 1.01`3==1 返回 False. 对于确切的数值量,Equal 使用数值近似建立不等性,其可以受全局变量 $MaxExtraPrecision 的值所影响.
  • Equal 与其他符号相关. Set[expr1,expr2](可以使用单等号语法 expr1=expr2 进行输入) 计算 expr2 并把结果赋给 expr1 的值,其中 SameQ[expr1,expr2](可以使用三等号语法 expr1===expr2 输入) 返回 True. 如果 expr1expr2 是相等的,否则返回 False. 与 Equal 相反,SameQ 区别不同的数字表示;例如,SameQ[1,1.]SameQ[1.,1.+0.I] 均返回 False. SameQ 的行为也不同于 Equal,因为 SameQ 总是计算为 TrueFalse,其中,如果没有解决相等性,Equal 会仍然保留不被计算. Unequal(可以输入为 expr1!=expr2)与 Equal 相反. Equal 还有运算符形式 EqualTo. Equal 的布尔逻辑类似是 Equivalent.
  • 在某些情况下,当 Equal 返回未计算,如果给定的表达式有 ,可用 PossibleZeroQ 指明. 例如,Equal[Erf[Log[4]+2Log[Sin[Pi/8]]]-Erf[Log[2-Sqrt[2]]],0] 返回计算的,在第一个变量调用 PossibleZeroQ 返回 True(以及信息性消息表明零值不能被严格建立). 有时当 Equal 不能时,符号简化像 SimplifyFullSimplifyRootReduce 也可用于严格建立相等性(包括刚才给出的例子).

范例

打开所有单元关闭所有单元

基本范例  (2)

测试方程:

描述方程:

范围  (12)

數值等式  (6)

测试等式:

二进制数据最后七位近似值:

比较精确数值和近似数值:

比较两个精确数值,数值测试可能会有相反结果:

用符号方法证明相等:

Equal 的符号方法不足以证明等式:

RootReduce 判断两个数字是否相等:

Equal 在足够的精度下以数值方法证明不相等:

RootReduce 证明两个数字不相等:

$MaxExtraPrecision 证明不相等:

符號等式  (6)

符号比较:

Equal 不会自动证明这个等式:

使用 Expand 来证明:

符号方程:

Solve 证明方程:

Reduce 给出包括需要非正常参数的解决方案:

比较两个以上的表达式:

比较列表:

比较字符串:

属性和关系  (6)

非双参数的 EqualUnequal

非三参数的 Equal 不会自动单一化:

LogicalExpand 表达双参数 Unequal

非三参数 Equal 不等同于三参数 Unequal

Equal 测试数学表达式对象是否相等:

SameQ 测试表达式是否相等:

Equal 将无法判断是否相等的表达式原样输出:

FullSimplify 使用精确数值变换证明相等:

PossibleZeroQ 用数值和符号方法判断表达式是否为零:

PossibleZeroQ 用数值方法准确判断数值是否为零:

Solve 解答一般值参数的方程:

Reduce 给出包括非普通值参数的解决方案:

Reduce 求解特殊领域的方程:

可能存在的问题  (5)

判断时对机器精度附近的数值很敏感:

额外数字破坏相等性:

任意相似精度数值不存在这个问题:

自动精度下,Equal 会仅仅关注前十个有效数字:

测试机器精度成功:

Equal 忽略其他额外有效数字:

对于近似数,相等性可能不是可传递的:

Equal 不识别布尔操作符:

Equivalent 则识别:

Wolfram Research (1988),Equal,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Equal.html (更新于 2007 年).

文本

Wolfram Research (1988),Equal,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Equal.html (更新于 2007 年).

CMS

Wolfram 语言. 1988. "Equal." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2007. https://reference.wolfram.com/language/ref/Equal.html.

APA

Wolfram 语言. (1988). Equal. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Equal.html 年

BibTeX

@misc{reference.wolfram_2024_equal, author="Wolfram Research", title="{Equal}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/Equal.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_equal, organization={Wolfram Research}, title={Equal}, year={2007}, url={https://reference.wolfram.com/language/ref/Equal.html}, note=[Accessed: 21-November-2024 ]}