squeeze函数

squeeze  除去size为1的维度

B = squeeze(A)

描述:

B = squeeze(A),B与A有相同的元素,但所有只有一行或一列的维度(a singleton dimension)被去除掉了。A singleton dimension的特征是size(A,dim) = 1。二维阵列不受squeeze影响; 如果 A 是一个row or column矢量或a scalar (1-by-1) value, then B = A.

比如,rand(4,1,3)产生一个均匀分布的阵列,共3页,每页4行1列,经过squeeze后,1列的那个维度就没有了,只剩下4行3列的一个二维阵列。而rand(4,2,3)因为没有1列或1行的维度,所有squeeze后没有变化。

  1. matlab中squeeze函数用于删除矩阵中的单一维(Remove singleton dimensions),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个2x3的矩阵,将第一维却掉(因为第一位大小为1):

    A=rand(1,2,3)

    squeeze(A)

    squeeze函数_第1张图片


  2. 又比如:

    A=rand(1,2,3)

    squeeze(A)

    squeeze函数_第2张图片




  3. 又比如产生随机产生一个3x1x1x2的矩阵,在调用squeeze函数,第二维和第三维将去掉,结果是一个2维矩阵:

     A=rand([3 1 1 2])

    squeeze(A)

    squeeze函数_第3张图片




  4. 但是squeeze函数对二维矩阵没有影响,包括行向量,列向量和标量,比如:

    A=rand([4 1])

    squeeze(A)




  5. 比如:

    A=rand([1 4])

    squeeze(A)


  6. 6

    比如:

    squeeze(2.334)

    matlab常用函数之squeeze函数


你可能感兴趣的:(squeeze函数)