本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

size

数组大小

说明

示例

sz = size(A) 返回一个行向量,其元素包含 A 的相应维度的长度。例如,如果 A 是一个 3×4 矩阵,则 size(A) 返回向量 [3 4]sz 的长度为 ndims(A)

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

示例

szdim = size(A,dim) 返回维度 dim 的长度。

示例

A 是矩阵时,[m,n] = size(A) 返回行数和列数。

示例

[sz1,...,szN] = size(A) 分别返回 A 的每个维度的长度。

示例

全部折叠

创建一个随机矩阵并计算其行数和列数。

A = rand(4,3);
[m,n] = size(A)
m = 4
n = 3

创建一个随机三维数组并计算其大小。

A = rand(2,3,4);
sz = size(A)
sz = 1×3

     2     3     4

仅计算 A 的第二个维度的长度。

szdim2 = size(A,2)
szdim2 = 3

将每个维度的长度赋给单独的变量。

[sz1,sz2,sz3] = size(A)
sz1 = 2
sz2 = 3
sz3 = 4

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

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

A = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)
A=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Smith       38       71       176       124     93  
    Johnson     43       69       163       109     77  
    Williams    38       64       131       125     83  
    Jones       40       67       133       117     75  
    Brown       49       64       119       122     80  

计算该表的大小。尽管 BloodPressure 变量包含两列,但 size 只计算变量数。

sz = size(A)
sz = 1×2

     5     4

创建一个三维数组,并将每个维度的长度赋给单独的变量。每个输出参数对应于 A 的一个维度。

A = ones(3,4,5);
[sz1,sz2,sz3] = size(A)
sz1 = 3
sz2 = 4
sz3 = 5

计算 A 的大小时,仅指定两个输出参数。因为未指定第三个输出参数,所以 A 的第二个和第三个维度的长度值将折叠到 sz2 中。

[sz1,sz2] = size(A)
sz1 = 3
sz2 = 20

计算 A 的大小时,指定三个以上的输出变量。第四个和第五个输出参数设置为 1。

[sz1,sz2,sz3,sz4,sz5] = size(A)
sz1 = 3
sz2 = 4
sz3 = 5
sz4 = 1
sz5 = 1

输入参数

全部折叠

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

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | function_handle | cell | categorical | datetime | duration | calendarDuration | table | timetable

复数支持:

查询的维度,指定为正整数标量。size 返回 A 的维度 dim 的长度。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参数

全部折叠

数组大小,以非负整数组成的行向量形式返回。此向量的每个元素代表 A 的对应维度的长度。如果 A 是标量,则 sz 为行向量 [1 1]。如果 A 是表或时间表,则 sz 是包含行数和变量数的二元素行向量。位于单个变量中的多个列不会计算在内。

如果 Achar 类型的字符向量,则 size 返回行向量 [1 N],其中 N 是字符数。但是,如果 A 是字符串标量,则 size 返回 [1 1],因为它是字符串数组的单个元素。例如,比较字符向量和字符串的 size 的输出:

szchar = size('mytext')
szchar =

     1     6
szstr = size("mytext")
szstr =

     1     1
要计算字符串中的字符数量,请使用 strlength 函数。

数据类型: double

指定维度的长度,以非负整数标量形式返回。

数据类型: double

行数,当 A 是矩阵时,以非负整数标量形式返回。

数据类型: double

列数,当 A 是矩阵时,以非负整数标量形式返回。

数据类型: double

维度长度,以非负整数标量形式返回。当指定的输出参数数量等于 ndims(A) 时,每个参数代表 A 的相应维度的长度。如果指定的输出参数超过 ndims(A) 个,则多出的输出参数设置为 1。例如,对于大小为 [4 5] 的矩阵 A[sz1,sz2,sz3] = size(A) 返回 sz1 = 4sz2 = 5sz3 = 1

如果指定的输出参数少于 ndims(A) 个,则所有剩余的维度长度值都将折叠到列表中的最后一个参数中。例如,如果 A 是大小为 [3 4 5] 的三维数组,则 [sz1,sz2] = size(A) 返回 sz1 = 3sz2 = 20

数据类型: double

提示

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

另请参阅

| | | | |

在 R2006a 之前推出