NumericalOrder

NumericalOrder[e1,e2]

如果 e1<e2,给出 1,如果 e1>e2,给出 -1,如果 e1e2 数值上相等,则给出 0,如果 e1e2 在数值上不具有可比性,则按类型或使用标准顺序进行排序.

更多信息

  • NumericalOrder 给出了标准排序的通用替代,其中数字表达式、日期和 Quantity 对象按数值进行处理.
  • 对于数值表达式,首先按实部排序,如果实部一样,则按虚部的绝对值排序.
  • 把单位兼容的 Quantity 表达式转换成同一单位后,按数值大小进行比较.
  • 对于 DateObject 表达式,按 AbsoluteTime 进行比较.
  • 对于 TimeObject 表达式,按 AbsoluteTime 进行比较.
  • 如果 e1e2 都是数字但无法进行比较,则按数字表达式、量、日期和时间的顺序进行排序.
  • 数字表达式始终位于非数字表达式之前.
  • 如果 e1e2 都不是数值,NumericalOrder[e1,e2]Order[e1,e2] 一致.
  • NumericalOrder 使用所有可用的有效数字比较非精确的数字. 与 Equal 不同,它不允许任何额外的容差.
  • 可以在诸如 SortOrderedQOrdering 这样的函数中使用 NumericalOrder 作为排序函数.

范例

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

基本范例  (4)

这两个数字不是有序的:

这两个数字数值上相等:

比较数值表达式:

这与表达式的经典顺序不尽相同:

比较量:

比较日期:

范围  (6)

比较任意两个数值表达式:

- 比任意实值表达式都小:

比任意实值表达式都大:

按实部比较复值表达式:

当实部相同时,按虚部的绝对值比较:

比较单位兼容的量:

转换成同一单位后再进行比较:

AbsoluteTime 来比较 DateObject 表达式:

NumericalOrder 作为排序函数:

用有序置换进行排序:

结果没有按经典顺序排序,但在数值上是有序的:

应用  (1)

获取列表的数值顺序:

属性和关系  (8)

对于值不同的数值表达式,NumericalOrder 用数值对它们进行比较:

Order 总是从结构上对表达式进行比较,可能会给出不同的结果:

Order 一样,NumericalOrder 是表达式的反对称函数:NumericalOrder[e1,e2]==-NumericalOrder[e2,e1]:

Order 不同,对于不相同的 e1e2NumericalOrder[e1,e2] 可能会返回零:

对于可比表达式 e1e2,结果 NumericalOrder[e1,e2]0 意味着 e1-e2==0

NumericalOrder 使用所有可用的有效数字比较非精确的数字:

对于机器精度的数字,LessEqualGreater 等采用 7 位容差:

其他精度的非精确数字按其精度进行比较:

对于复值,NumericalOrder 按其实部进行比较,然后按虚部的绝对值进行比较:

这与 Order 的结果一致:

LessLessEqual 及相关函数不能比较复数:

等价的量的 NumericalOrder 为 0:

这两种表示的经典顺序是不一样的:

Equal 显示它们实际上是等价的量:

对于非数值表达式 e1e2NumericalOrderOrder 一致:

可能存在的问题  (1)

NumericalOrder 排序不能保证同一数字的不同表示的特定顺序:

对列表的置换给出的是不同的结果:

经典排序会以不同的方式进行排列:

NumericalOrder 给出 0 的情况,可以通过使用 Order 定义更严格的顺序来解决:

Wolfram Research (2017),NumericalOrder,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NumericalOrder.html.

文本

Wolfram Research (2017),NumericalOrder,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NumericalOrder.html.

CMS

Wolfram 语言. 2017. "NumericalOrder." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/NumericalOrder.html.

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_numericalorder, organization={Wolfram Research}, title={NumericalOrder}, year={2017}, url={https://reference.wolfram.com/language/ref/NumericalOrder.html}, note=[Accessed: 24-November-2024 ]}