Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
resize_matrix
élague et/ou étend (et convertit) une matrice ou une hypermatrice
Séquence d'appel
resMat = resize_matrix(mat, nbRows, nbCols) resMat = resize_matrix(mat, nbRows, nbCols, resType) resMat = resize_matrix(mat, nbRows, nbCols, resType, padding) resMat = resize_matrix(mat, nbRows, nbCols, "" , padding) resMat = resize_matrix(mat, newSizes) resMat = resize_matrix(mat, newSizes, resType) resMat = resize_matrix(mat, newSizes, resType, padding) resMat = resize_matrix(mat, newSizes, "" , padding)
Paramètres
- mat
- Matrice à retailler, de type booléens, entiers encodés, décimaux (réels ou complexes), polynômes, ou texte 
- nbRows
- nouveau nombre de lignes de la matrice retaillée. Les lignes en trop sont supprimées. Les lignes manquantes sont créées. 
- nbCols
- nouveau nombre de colonnes de la matrice retaillée. Les colonnes en trop sont supprimées. Les colonnes manquantes sont créées. 
- newSizes
- vecteur spécifiant la nouvelle taille de - matselon chacune de ses dimensions.- S'il est plus court que - size(mat), il est complété avec des 1. Exemple: si- mattelle que- size(mat)==[ 4 3 3 2]est fournie, et- newSizes=[6 2]est spécifié,- newSizes = [6 2 1 1]sera utilisé.- Si - newSizesest plus long que- size(mat)avec- newSizes($)>1, une ou plusieurs dimensions sont ajoutées à- mat. Exemple: si- mattelle que- size(mat)==[ 4 3 ]est fournie avec- newSizes=[6 2 2], le résultat sera une hypermatrice de 2 pages, la seconde étant complètement initialisée.- newSizes = [nbRows, nbCols]peut être utilisé pour une matrice.
- resType
- option indiquant le type en lequel la matrice/hypermatrice retaillée doit être convertie. resType peut être "boolean", "constant", "string", "int8", "uint8", "int16", "uint16", "int32", and "uint32". - Aucune conversion n'est admise pour une matrice ou hypermatrice de polynômes, ni pour une hypermatrice de texte. 
- padding
- option de même type que - mat, spécifiant le contenu scalaire à affecter aux éléments ajoutés à- matlorsque sa taille selon une dimension est augmentée. La valeur utilisée par défaut est- 0(réels, complexes, entiers encodés, polynômes), ou- ""(texte), ou- %F(booléens).- Lorsque les types de - matet- paddingsont distincts, Scilab tente de convertir le type de- padding.- Pour les polynômes, le nom de l'inconnue du polynôme - paddingest forcé à celui de- mat.
- resMat
- matrice ou hypermatrice retaillée (et convertie) 
Description
Crée une matrice de taille [nbRows, nbCols] ou newSizes, ou une hypermatrice de taille newSizes.
            Si, pour une certaine dimension, la nouvelle taille est plus petite que l'initiale, la matrice est élaguée. Si la taille est agrandie, alors de nouveaux éléments valant padding sont ajoutés à la matrice/hypermatrice.
            Le nombre de dimensions peut être augmenté.
Le type du retour peut être modifié en spécifiant l'argument resType, avec les restrictions mentionnées ci-dessus.
Exemples
// Exemples de démonstration, dont avec des polynômes : resize_matrix // Matrice numérique M = grand(4, 3, "uin", -9, 9) resize_matrix(M, 3, 4) resize_matrix(M, [3 4 2]) resize_matrix(M, [3 4 2], "", %i) resize_matrix(M, [3 4 2], "string", %i) // Matrice de texte myMatString = ["Scilab", "the" ; "Open Source", "Scientific" ; "Software", "Package"] resize_matrix( myMatString, 5, 3 ) // Equivalent syntax for new sizes: resize_matrix( myMatString, [5 3], "", "$" ) // Contenu d'extension à façon // Elagage, extension et conversion d'une hypermatrice donnée h = rand(2, 3, 2)*200 resize_matrix(h, [3 2 3], "int8") resize_matrix(h, [3 2 3], "int8", -1) // Extension avec des -1 et conversion en int8 r = resize_matrix(h, [3 2 ] ,"" , -1) // Extension à façon, sans conversion size(r) // La dernière dimension réduite à un singleton a automatiquement été simplifiée // Matrice de polynômes x = poly(0, "x"); P = (1-x)^grand(4, 2, "uin", 0, 3) resize_matrix(P, 3, 3) resize_matrix(P, [3 3 2]) resize_matrix(P, [3 3 2], "", %z) // => L'inconnue de %z est forcée à celle de P => x // => La matrice de polynômes résultante n'est pas convertible
Voir aussi
Historique
| Version | Description | 
| 5.5.0 | Les polynômes et les hypermatrices sont désormais acceptés. La valeur affectée aux éléments d'extension peut être spécifiée. Les nouvelles tailles peuvent être spécifiées dans un vecteur. resize_matrix appelée sans paramètres affiche des exemples de démonstration. | 
| Report an issue | ||
| << repmat | Manipulation de matrices | squeeze >> |