size
数组大小
说明
以行向量 szdim
= size(A
,dim1,dim2,…,dimN
)szdim
形式返回维度 dim1,dim2,…,dimN
的长度。
[
分别返回 sz1,...,szN
] = size(___)A
的查询维度的长度。
示例
四维数组的大小
创建一个随机四维数组并返回其大小。
A = rand(2,3,4,5); sz = size(A)
sz = 1×4
2 3 4 5
查询 A
的第二个维度的长度。
szdim2 = size(A,2)
szdim2 = 3
查询 A
的最后一个维度的长度。
szdimlast = size(A,ndims(A))
szdimlast = 5
您可以通过指定向量维度参数,一次查询多个维度长度。例如,求 A
的第一个维度和第三个维度的长度。
szdim13 = size(A,[1 3])
szdim13 = 1×2
2 4
求 A
的第二个维度至第四个维度的长度。
szdim23 = size(A,2:4)
szdim23 = 1×3
3 4 5
您也可以使用单独的输入参数列出查询的各个维度。
szdim23 = size(A,2,3,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
— 输入数组
标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| function_handle
| cell
| categorical
| datetime
| duration
| calendarDuration
| table
| timetable
复数支持: 是
dim
— 查询的维度
正整数标量 | 由正整数标量组成的向量 | 空数组
查询的维度,指定为正整数标量、由正整数标量组成的向量或大小为 0×0、0×1 或 1×0 的空数组。如果 dim
的元素大于 ndims(A)
,则 size
在对应的输出元素中返回 1
。如果 dim
是空数组,则 size
返回 1×0 空数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
dim1,dim2,…,dimN
— 查询的维度列表
正整数标量
查询的维度列表,指定为用逗号分隔的正整数标量。如果列表中的元素大于 ndims(A)
,则 size
在对应的输出元素中返回 1
。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
输出参数
sz
— 数组大小
由非负整数组成的行向量
数组大小,以非负整数组成的行向量形式返回。
sz
的每个元素表示A
的对应维度的长度。如果sz
的任一元素等于0
,则A
是空数组。如果
A
是标量,则sz
为行向量[1 1]
。如果
A
是表或时间表,则sz
是包含行数和变量数的二元素行向量。位于单个变量中的多个列不会计算在内。如果
A
是char
类型的字符向量,则size
返回行向量[1 M]
,其中M
是字符数。但是,如果A
是字符串标量,则size
返回[1 1]
,因为它是字符串数组的单个元素。例如,比较字符向量和字符串的size
的输出:szchar = size('mytext')
szchar = 1 6
szstr = size("mytext")
要计算字符串中的字符数量,请使用szstr = 1 1
strlength
函数。
数据类型: double
szdim
— 维度长度
非负整数标量 | 由非负整数标量组成的向量 | 1×0 空数组
维度长度,当 dim
是正整数标量时返回非负整数标量,当 dim
是正整数向量时返回由非负整数标量组成的行向量,当 dim
是空数组时返回 1×0 空数组。如果指定维度参数的元素大于 ndims(A)
,则 size
在 szdim
的对应元素中返回 1
。
数据类型: double
sz1,...,szN
— 分别列出的维度长度
非负整数标量
分别列出的维度长度,以逗号分隔的非负整数标量形式返回。
如果未指定
dim
并且列出的输出参数少于ndims(A)
个,则所有剩余的维度长度值会折叠到列表中的最后一个参数中。例如,如果A
是大小为[3 4 5]
的三维数组,则[sz1,sz2] = size(A)
返回sz1 = 3
和sz2 = 20
。当指定
dim
时,输出参数的数量必须等于查询维度的数量。如果您指定的输出参数多于
ndims(A)
个,则多余的尾部参数将以1
的形式返回。
数据类型: double
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 Verilog 代码和 VHDL 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)