Dimensions
Dimensions[expr]
用来给出 expr 的维数列表.
Dimensions[expr,n]
用来给出 expr 的往下至层 n 的维数列表.
更多信息和选项
- expr 必须是一个完整的数组,即特定层上 expr 的每一块都有同样的长度.(expr 的元素则可被认为填满一个超矩形区域.)
- 对于特殊数组对象,如 SparseArray、NumericArray 和 QuantityArray,Dimensions 给出对应的普通列表的维度.
- 可给出以下选项:
-
AllowedHeads Automatic 允许数组的每一层有什么样的标头 - AllowedHeads 选项的设置包括:
-
Automatic 默认设置 Inherited 任何层都只允许有 Head[expr] h 任何层都只允许有标头 h {h1,…} 在不同的层允许有任一 h1,… h1h2… 在不同的层或相同的层允许有 hi All 在不同的层允许有任意标头 "ListLike" 允许 List 及相关的标头 Full 在任意层允许有任意标头 - 设置 AllowedHeads"ListLike" 允许由 ArrayQ 识别出的所有标头,其中包括 List、SparseArray 和结构化数组标头,如 QuantityArray 和 SymmetrizedArray.
- 采用默认设置 AllowedHeads->Automatic 时,expr 中相邻的层必须有相同的标头,而普通列表、稀疏数组和结构化数组被视为有相同的标头.
范例
打开所有单元关闭所有单元范围 (5)
Dimensions 只统计不“规则”表达式的维数:
Dimensions 对于任意深度的数组起作用:
Dimensions 适用于特殊数组类型,包括 SparseArray 对象:
SymmetrizedArray 对象:
NumericArray 对象:
求矩阵的维度,该矩阵由 List 和不同的特殊数组标头混合而成:
Dimensions 适用于任意标头,不只是 List:
选项 (4)
应用 (2)
属性和关系 (7)
Dimensions 总是返回一个列表:
选项 AllowedHeads 的默认值允许列表、稀疏数组、结构化数组混合出现:
用 AllowedHeads"ListLike" 允许任何类似列表的数组,同时排除其他标头:
VectorQ、MatrixQ 和 ArrayQ 实际上使用 AllowedHeads"ListLike":
设置 AllowedHeads"ListLike" 不包括 ByteArray 和 NumericArray:
Length[Dimensions[expr]] 等于 ArrayDepth[expr]:
Dimensions[Array[h,dims]] 给出 dims:
如果 Dimensions[expr] 非空,则它的第一个元素等于 Length[expr]:
可能存在的问题 (1)
根据数值表达式的 FullForm 结构报告维数:
如果想要将所有数值表达式视为标量,对 AllowedHeads 使用设置 List 或 "ListLike":
文本
Wolfram Research (1988),Dimensions,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Dimensions.html (更新于 2020 年).
CMS
Wolfram 语言. 1988. "Dimensions." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/Dimensions.html.
APA
Wolfram 语言. (1988). Dimensions. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Dimensions.html 年