# size


数组大小

# 语法

sz = size(A)
szdim = size(A,dim)
sz1,...,szN = size(A)

# 说明

sz=size(A) 返回一个元组,其元素是 A 的相应维度的长度。例如,如果 A 是一个 3×4 矩阵,则 size(A) 返回元组 (3,4)。示例

如果 A 是表,则 size(A) 返回由表中的行数和变量数组成的二元素元组。


dim 为正整数标量时,szdim=size(A,dim) 返回维度 dim 的长度。示例


sz1,...,szN=size(A) 分别返回 A 的查询维度的长度。示例

# 示例

四维数组的大小

创建一个随机四维数组并返回其大小。

A = rand(2,3,4,5)
sz = size(A)
(2, 3, 4, 5)

仅查询 A 的第二个维度的长度。

szdim2 = size(A,2)
3
表大小

创建一个包含 5 行和 4 个变量的表。

using DataFrames
LastName = ["Smith";"Johnson";"Williams";"Jones";"Brown"];
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
A = DataFrame(:LastName=>LastName,:Age=>Age,:Height=>Height,:Weight=>Weight)
A = 5×4 DataFrame

Row │ LastName  Age    Height  Weight
    │ String    Int64  Int64   Int64
────┼─────────────────────────────────
  1 │ Smith        38      71     176
  2 │ Johnson      43      69     163
  3 │ Williams     38      64     131
  4 │ Jones        40      67     133
  5 │ Brown        49      64     119
sz = size(A)
(5,4)
使用单独的参数返回各个维度长度

创建一个随机矩阵,并分别返回行数和列数。

A = rand(4,3)
numRows,numCols = size(A)
(4, 3)

# 输入参数

A - 输入数组
标量 | 向量 | 矩阵 | 多维数组

输入数组,指定为标量、向量、矩阵、多维数组。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | Uint8 | Uint16 | Uint32 | Uint64 | Bool | Char | DataFrame

复数支持:

dim - 查询的维度
正整数标量

查询的维度,指定为正整数标量。如果 dim 的元素大于 ndims(A),则 size 在对应的输出元素中返回 1。

数据类型: Int64 | Int32 | Int16 | Int128 | UInt

# 输出参数

sz - 数组大小
由非负整数组成的元组

数组大小,以非负整数组成的元组形式返回。

  • sz 的每个元素表示 A 的对应维度的长度;
  • 如果 A 是标量,则 sz 为 ();
  • 如果 A 是表,则 sz 是包含行数和变量数的二元素元组。
szdim - 维度长度
非负整数标量

维度长度,当 dim 为标量时,以非负整数标量形式返回;如果指定维度参数的元素大于 ndims(A),则 size 在 szdim 的对应元素中返回 1。

sz1,...,szN - 分别列出的维度长度
非负整数标量

分别列出的维度长度,以逗号分隔的非负整数标量形式返回。

# 提示

要确定数组是否为空、标量,向量或矩阵,请使用函数 isempty、isa(A,Number)、isa(A,Vector)、isa(A,Matrix)。

# 另请参阅

length | ndims