squeeze удаляет одиночные размерности ND-мерного массива

## Синтаксис

    r = squeeze(hypIn)

## Аргументы

hypIn

  ND-мерный массив любого встроенного типа (логические,... cell-массив, структуры)

r

  массив или ND-мерный массив того же самого типа.

## Описание

`squeeze(…)` удаляет одиночные размерности гиперматрицы или ND-мерного массива, для которых размер равен `1`. Если на входе `hypIn` является матрицей, то она возвращается как есть.

Scilab сжимает наивысшие одиночные размерности автоматически.

## Примеры

    // для двумерных входных матриц => нет действий
    u = squeeze(ones(1,4))
    size(u)

    // автосжатие высших одиночных размерностей:
    v = ones(2,3,1,1);
    size(v)

    // для фактического входного ND-мерного массива:
    w = squeeze(ones(1,3,1,4))
    size(w)

    // для четырёхмерного cell-массива
    c = cat(4, {%t}, {%pi}, {"abc"});
    size(c)
    x = squeeze(c)
    size(x)

    --> u = squeeze(ones(1,4))
     u  =
       1.   1.   1.   1.

    --> size(u)
     ans  =
       1.   4.

    --> // автосжатие высших одиночных размерностей:
    --> v = ones(2,3,1,1);
    --> size(v)
     ans  =
       2.   3.

    --> // для фактического входного ND-мерного массива:
    --> w = squeeze(ones(1,3,1,4))
     w  =
       1.   1.   1.   1.
       1.   1.   1.   1.
       1.   1.   1.   1.

    --> size(w)
     ans  =
       3.   4.

    --> // для четырёхмерного cell-массива
    --> c = cat(4, {%t}, {%pi}, {"abc"});
    --> size(c)
     ans  =
       1.   1.   1.   3.

    --> x = squeeze(c)
     x  =
      [1x1 boolean ]
      [1x1 constant]
      [1x1 string  ]

    --> size(x)
     ans  =
       3.   1.

## Смотрите также

- matrix
- гиперматрицы