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 - Русский - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Fonctions Elémentaires > Manipulation de matrices > flipdim

flipdim

retourne par blocs les éléments de x selon une dimension

Séquence d'appel

y = flipdim(x, dim [,sb])

Paramètres

x, y

scalaires, vecteurs, matrices, ou hypermatrices de n'importe quel type, de même taille

dim

entier positif, la dimension de x selon laquelle les éléments seront retournés

sb

entier positif, la taille des blocs à permuter

Description

A partir de x, un scalaire/vecteur/matrice/hypermatrice de n'importe quel type et deux entiers positifs dim et sb, cette fonction retourne les éléments de x par blocs de taille sb selon le nombre dimension dim de x (x et y ont la même taille)

Le paramètre optionnel sb (pour Size Block) permet de retounerles éléments de x par blocs de taille sb*size(x,2) (dim=1) ou size(x,1)*sb (dim=2).

Exemples

// Exemple 1 : selon la première dimension
x = [1 2 3 4; 5 6 7 8]
dim = 1
y = flipdim(x, dim)

// Exemple 2 : selon la deuxième dimension
dim = 2
y = flipdim(x, dim)

// Exemple 3 : selon la troisième dimension
x = matrix(1:24, [3 2 4])
dim = 3
y = flipdim(x, dim)

// Exemple 4 : premier exemple, mais avec des complexes
x = [1+%i 2*%i 3 4; 5 6-%i 7 8*%pi*%i]
dim = 1
y = flipdim(x, dim)

// Entiers :
x = int16(grand(4, 3, 2, "uin", -9, 9))
y = flipdim(x, 1)

// Booléens :
x = (grand(3, 4, "uin", -9, 9) > 0)
y = flipdim(x, 2)

// Textes :
x = matrix(strsplit("a":"x", 1:23), 4, 6);
x = x+x
flipdim(x, 2)

// Polynômes :
x = inv_coeff(grand(3, 9, "uin", 0, 3), 2)
flipdim(x, 1)

// Rationals :
n = inv_coeff(grand(3, 9, "uin", 0 ,3), 2);
d = inv_coeff(grand(3, 9, "uin", 0, 3), 2);
r = n./d
flipdim(r, 2)

Exemples utilisant sb :

X = [0 1 2 3 4 5 6 7 8 9 10 11];
flipdim(X, 2, 2) // => [10 11   8 9   6 7   4 5   2 3   0 1] // Taille du bloc = 2.
flipdim(X, 2, 3) // => [9 10 11   6 7 8   3 4 5   0 1 2]
flipdim(X, 2, 4) // => [8 9 10 11   4 5 6 7   0 1 2 3]
flipdim(X, 2, 6) // => [6 7 8 9 10 11   0 1 2 3 4 5]

// Erreur si sb ne divise pas la dimension ciblée de x.
y = flipdim(x, 2, 5); // size(X) = [1 12] et sb=5 ne divise pas 12.

History

VersionDescription
5.5.0 Extension de décimaux à tout type : booléens, entiers, chaines de caractères, polynômes et fractions rationnelles. Nouveau paramètre optionnel sb pour retourner x par blocs.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:30 CEST 2014