matrix
redimensionne un tableau, à nombre et ordre inchangés des éléments
Syntaxe
y = matrix(v, m, n) y = matrix(v, m1, m2, m3, ..) y = matrix(v, [sizes])
Paramètres
- v
Tout type de conteneur matriciel (matrice homogène de tous types de données ; tableau de cellules ; tableau de structures), à nombre quelconque de dimensions (vecteur, matrice, hypertableau N-dimensionnel), de toutes tailles.
- n, m, m1, m2, ..
entiers positifs : nouvelles tailles attendues après redimensionnement. Une des tailles peut être fixée à
-1
.- sizes
vecteur d'entiers positifs : nouvelles tailles à fixer.
- y
tableau redimensionné, avec
y(i)==v(i)
etsize(y,"*")==size(v,"*")
.
Description
Pour un tableau ou un hypertableau v
à n
x
m
éléments principaux, y = matrix(v, n, m)
ou
y = matrix(v, [n,m])
redimensionne v
en une
matrice ou un tableau 2D de taille n
x m
,
par indice linéarisé croissant des éléments de v
.
De même, pour un tableau ou un hypertableau v
à m1
x m2
x m3 ..
éléments principaux,
y = matrix(v, m1, m2, m3,..)
ou
y = matrix(v, [m1 m2 m3..])
redimensionne v
en une hypermatrice ou un hypertableau à m1
lignes,
m2
colonnes, m3 ..
pages, ...etc.
Dans tous les cas, l'ordre linéaire des éléments dans y
est le
même que celui dans v
: pour tout
1 <= i <= size(v,"*")
, y(i) = v(i)
.
Si une seule des tailles n
ou n
ou m1
etc.. est fixée à -1, sa valeur effective est automatiquement fixée telle que le nombre
total des éléments du tableau est inchangé.
|
Exemples
Avec une matrice numérique :
a = [1 3 5 7 9 11; 2 4 6 8 10 12] matrix(a, 4, 3) matrix(a, [3 4]) matrix(a, 3, -1) // into an hypermatrix: matrix(a, 3, 2, 2)
Avec une matrice de caractères :
t = strsplit("a":"x",1:23)' matrix(t,[3,8])
--> t = strsplit("a":"x",1:23)' t = !a b c d e f g h i j k l m n o p q r s t u v w x ! --> matrix(t,[3,8]) ans = !a d g j m p s v ! !b e h k n q t w ! !c f i l o r u x !
Avec un hypertableau de cellules :
c = makecell([2,3,2], %t,%z, %i,"abc", list(%pi,"a"), int8(23),cos,sind,"àèìòù",corelib, 0.5, 1/%z^2) rc = matrix(c, 3, 4) rc(8)==c(8) rc{8}.getshell
c = (:,:,1) [1x1 boolean] [1x1 polynomial] [1x1 constant] [1x1 string ] [ list ] [1x1 int8 ] (:,:,2) [ 1 fptr ] [ 1 function] [1x1 string] [ library] [ 1x1 constant] [ r ] --> rc = matrix(c, 3, 4) rc = [1x1 boolean ] [ list ] [ 1 fptr ] [1x1 constant] [1x1 string ] [1x1 constant] [ library ] [1x1 string ] [1x1 polynomial] [1x1 int8 ] [ 1 function] [ r ] --> rc(8)==c(8) ans = T --> rc{8}.getshell ans = cmd
Avec un tableau de structures :
clear s s(3,6).r = %pi matrix(s,2,9)
--> s(3,6).r = %pi s = 3x6 struct array with fields: r --> matrix(s,2,9) ans = 2x9 struct array with fields: r
Voir aussi
- colon (:) — Générateur de séries. Adresse tous les éléments d'une liste ou d'un tableau
- resize_matrix — élague et/ou étend (et convertit) une matrice ou une hypermatrice
- ndims — number of dimensions of an array
- size — taille d'un objet
- extraction — extraction à partir d'une matrice ou d'une liste
- transposition — opérateur de transposition, délimiteur de chaîne de caractères
- brackets [..] — Concaténation. Récipients d'une affectation. Résultats d'une function
- matrices — Objet Scilab, matrices
- hypermatrices — Objet Scilab, matrices à N dimensions
- makecell — Creates a cell array.
- struct — Builds a structure or an array of structures
- mlist — Objet Scilab, définition d'une liste typée
Report an issue | ||
<< flipdim | Matrice - façonnage | permute >> |