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