Dimensions

Dimensions[expr]

用来给出 expr 的维数列表.

Dimensions[expr,n]

用来给出 expr 的往下至层 n 的维数列表.

更多信息和选项

  • expr 必须是一个完整的数组,即特定层上 expr 的每一块都有同样的长度.(expr 的元素则可被认为填满一个超矩形区域.)
  • 对于特殊数组对象,如 SparseArrayNumericArrayQuantityArrayDimensions 给出对应的普通列表的维度.
  • 可给出以下选项:
  • AllowedHeads Automatic允许数组的每一层有什么样的标头
  • AllowedHeads 选项的设置包括:
  • Automatic默认设置
    Inherited任何层都只允许有 Head[expr]
    h任何层都只允许有标头 h
    {h1,}在不同的层允许有任一 h1,
    h1|h2|在不同的层或相同的层允许有 hi
    All在不同的层允许有任意标头
    "ListLike"允许 List 及相关的标头
    Full在任意层允许有任意标头
  • 设置 AllowedHeads"ListLike" 允许由 ArrayQ 识别出的所有标头,其中包括 ListSparseArray 和结构化数组标头,如 QuantityArraySymmetrizedArray.
  • 采用默认设置 AllowedHeads->Automatic 时,expr 中相邻的层必须有相同的标头,而普通列表、稀疏数组和结构化数组被视为有相同的标头.

范例

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

基本范例  (1)

求矩阵的维度:

范围  (5)

Dimensions 只统计不规则表达式的维数:

Dimensions 对于任意深度的数组起作用:

只给出向下至层 2 的维数:

Dimensions 适用于特殊数组类型,包括 SparseArray 对象:

SymmetrizedArray 对象:

NumericArray 对象:

求矩阵的维度,该矩阵由 List 和不同的特殊数组标头混合而成:

Dimensions 适用于任意标头,不只是 List

选项  (4)

AllowedHeads  (4)

只考虑标头为 List 的嵌套表达式:

默认情况下,将具有任意标头的矩形嵌套表达式视为数组:

在不同的层允许出现列表和数值数组:

在同一层不能混合不同的标头:

允许同一层出现两种标头:

允许 List 以及其他一般数组表示:

只允许标头 List

以下两个设置不允许一般标头:

允许数组的每一层有不同的标头:

数组每一层的标头都一致:

完全忽略标头,只考虑表达式的树状结构:

应用  (2)

创建一个 MatrixQ,只接受列表矩阵:

创建几个表达式,进行测试:

函数 matrixQ 只对 listMat 给出 True,它既是一个矩阵,又有标头 List

MatrixQ 对所有已知的数组类型的矩阵给出 True

求被元胞自动机的10步演变后填充的区域的维数:

属性和关系  (7)

Dimensions 总是返回一个列表:

选项 AllowedHeads 的默认值允许列表、稀疏数组、结构化数组混合出现:

也允许在相邻的层出现单独的标头:

AllowedHeads"ListLike" 允许任何类似列表的数组,同时排除其他标头:

VectorQMatrixQArrayQ 实际上使用 AllowedHeads"ListLike"

设置 AllowedHeads"ListLike" 不包括 ByteArrayNumericArray

"ListLike" 和其他标头组合:

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 年).

文本

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 年

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_dimensions, organization={Wolfram Research}, title={Dimensions}, year={2020}, url={https://reference.wolfram.com/language/ref/Dimensions.html}, note=[Accessed: 17-November-2024 ]}