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后没有变化。
matlab中squeeze函数用于删除矩阵中的单一维(Remove singleton dimensions),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个2x3的矩阵,将第一维却掉(因为第一位大小为1):
A=rand(1,2,3)
squeeze(A)
又比如:
A=rand(1,2,3)
squeeze(A)
又比如产生随机产生一个3x1x1x2的矩阵,在调用squeeze函数,第二维和第三维将去掉,结果是一个2维矩阵:
A=rand([3 1 1 2])
squeeze(A)
但是squeeze函数对二维矩阵没有影响,包括行向量,列向量和标量,比如:
A=rand([4 1])
squeeze(A)
比如:
A=rand([1 4])
squeeze(A)
比如:
squeeze(2.334)
总结
- 上一篇: ASM模型对人脸特征点的检测
- 下一篇: Fast Radial Symmetry