Skip to contents

Remove dimensions of length 1

Usage

squeeze(A)

Arguments

A

input or array matrix

Value

An array with the same elements as the input array, but with dimensions of length 1 removed.

Details

This function implements the behavior of the homonimous function on Matlab. B = squeeze(A) returns an array with the same elements as the input array A, but with dimensions of length 1 removed. For example, if A is a 3-by-1-by-1-by-2 array, then squeeze(A) returns a 3-by-2 matrix. If A is a row vector, column vector, scalar, or an array with no dimensions of length 1, then squeeze returns the input A.

Note

This is basically a wrapper of drop() with a minor adjustment to adapt the output to what happens on Matlab

Author

Waldir Leoncio

Examples

A <- array(dim = c(2, 1, 2))
A[, , 1] <- c(1, 2)
A[, , 2] <- c(3, 4)
print(A)
#> , , 1
#> 
#>      [,1]
#> [1,]    1
#> [2,]    2
#> 
#> , , 2
#> 
#>      [,1]
#> [1,]    3
#> [2,]    4
#> 
squeeze(A)
#>      [,1] [,2]
#> [1,]    1    3
#> [2,]    2    4