Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
Version | Description |
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. |
Report an issue | ||
<< Manipulation de matrices | Manipulation de matrices | matrix >> |