Matlab中size函数用法

目录

语法

说明

示例

四维数组的大小

表大小

使用单独的参数返回各个维度长度


        size函数的功能是计算数组大小。

语法

sz = size(A)
szdim = size(A,dim)
szdim = size(A,dim1,dim2,…,dimN)
[sz1,...,szN] = size(___)

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

  • 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函数。

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

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

  • 当指定 dim 时,输出参数的数量必须等于查询维度的数量。

  • 如果指定的输出参数多于 ndims(A) 个,则多余的尾部参数将以 1 的形式返回。

提示:要确定数组是否为空、标量或矩阵,请使用函数 isempty、isscalar 和 ismatrix。还可以使用isrow 和iscolumn函数确定向量的方向。

说明

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

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

​当 dim 为正整数标量时,szdim = size(A,dim) 返回维度 dim 的长度。从 R2019b 开始,您还可以将 dim 指定为正整数向量,以一次查询多个维度长度。例如,size(A,[2 3]) 以 1×2 行向量 szdim 形式返回 A 的第二个维度和第三个维度的长度。

​szdim= size(A,dim1,dim2,…,dimN) 以行向量 szdim 形式返回维度 dim1,dim2,…,dimN 的长度(从 R2019b 开始)。​

​[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

        从 R2019b 开始,可以通过指定向量维度参数,一次查询多个维度长度。例如,求 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 = rand(4,3);
[numRows,numCols] = size(A)
numRows = 4
numCols = 3

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值