Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Fonctions Elémentaires > Matrice - façonnage > squeeze

squeeze

supprime les dimensions singletons d'un tableau N-dimensionnel

Séquence d'appel

r = squeeze(hypIn)

Arguments

hypIn

Tableau N-dimensionnel de type natif quelconque (booléen, numérique, texte, .., cellules, structures).

r

scalaire, vecteur, matrice ou tableau N-dimensionnel du même type.

Description

Elimine les dimensions singletons (= de taille 1) d'une hypermatrice ou d'un tableau N-dimensionnel. Les matrices sont inchangées.

Exemples

// Pour une matrice 2D => aucun changement
u = squeeze(ones(1,4))
size(u)

// auto-simplification des dimensions singletons les plus hautes :
v = ones(2,3,1,1);
size(v)

// Pour un tableau d'entrée réellement N-dimensionnel :
w = squeeze(ones(1,3,1,4))
size(w)

// Pour un tableau 4D de cellules :
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.

--> // auto-simplification des dimensions singletons les plus hautes :
--> v = ones(2,3,1,1);
--> size(v)
 ans  =
   2.   3.

-->  Pour un tableau d'entrée réellement N-dimensionnel :
--> 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.

--> // Pour un tableau 4D de cellules :
--> 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.

Voir aussi

  • matrix — redimensionne un tableau, à nombre et ordre inchangés des éléments
  • hypermatrices — Objet Scilab, matrices à N dimensions
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:19:18 CEST 2021