Main Content

reshape

Redimensionner le tableau en réorganisant les éléments existants

Description

exemple

B = reshape(A,sz) redimensionne A en utilisant le vecteur de taille sz pour définir size(B). Par exemple, reshape(A,[2,3]) redimensionne A en matrice 2 x 3. sz doit contenir au moins 2 éléments, et prod(sz) doit être identique à numel(A).

exemple

B = reshape(A,sz1,...,szN) redimensionne A en tableau de sz1 x ... x szNsz1,...,szN indique la taille de chaque dimension. Vous pouvez spécifier une taille de dimension unique [] pour calculer automatiquement la taille de la dimension, de sorte que le nombre d’éléments dans B corresponde au nombre d’éléments dans A. Par exemple, si A est une matrice 10 x 10, reshape(A,2,2,[]) redimensionne les 100 éléments de A en tableau de dimension 2 x 2 x 25.

Exemples

réduire tout

Redimensionnez un vecteur de 1 x 10 en matrice de 5 x 2.

A = 1:10;
B = reshape(A,[5,2])
B = 5×2

     1     6
     2     7
     3     8
     4     9
     5    10

Redimensionnez une matrice carrée de 4 x 4 en matrice à 2 colonnes. Spécifiez [] pour la première dimension afin de permettre à reshape de calculer automatiquement le nombre approprié de lignes.

A = magic(4)
A = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

B = reshape(A,[],2)
B = 8×2

    16     3
     5    10
     9     6
     4    15
     2    13
    11     8
     7    12
    14     1

Il en résulte une matrice de 8 x 2 qui conserve le même nombre d’éléments que la matrice d’origine. Les éléments de B conservent également l’ordre des colonnes de A.

Redimensionnez un tableau de valeurs aléatoires de dimension 2 x 2 x 3 en matrice 6 x 2.

rng default
A = rand(2,2,3)
A = 
A(:,:,1) =

    0.8147    0.1270
    0.9058    0.9134


A(:,:,2) =

    0.6324    0.2785
    0.0975    0.5469


A(:,:,3) =

    0.9575    0.1576
    0.9649    0.9706

B = reshape(A,6,2)
B = 6×2

    0.8147    0.2785
    0.9058    0.5469
    0.1270    0.9575
    0.9134    0.9649
    0.6324    0.1576
    0.0975    0.9706

Arguments d'entrée

réduire tout

Tableau en entrée, spécifié sous forme de vecteur, de matrice ou de tableau multidimensionnel.

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | struct | datetime | duration | calendarDuration
Support des nombres complexes : Oui

Taille de la sortie, spécifiée sous forme d’un vecteur ligne de nombres entiers. Chaque élément de sz indique la taille de la dimension correspondante dans B. Vous devez spécifier sz pour que le nombre d’éléments de A et de B soient identiques. Autrement dit, prod(sz) doit être identique à numel(A).

Au-delà de la deuxième dimension, la sortie B ne reflète pas les dimensions suivantes de taille 1. Par exemple, reshape(A,[3,2,1,1]) produit une matrice de 3 x 2.

Exemple : reshape(A,[3,2])

Exemple : reshape(A,[6,4,10])

Exemple : reshape(A,[5,5,5,5])

Taille de chaque dimension, spécifiée sous forme de deux nombres entiers ou plus, avec au plus un [] (facultatif). Vous devez spécifier au moins deux tailles de dimension et une taille de dimension peut être spécifiée au maximum en tant que [], qui calcule automatiquement la taille de cette dimension pour s’assurer que numel(B) correspond à numel(A). Lorsque vous utilisez [] pour calculer automatiquement la taille d’une dimension, les dimensions que vous spécifiez explicitement doivent être divisées également par le nombre d’éléments de la matrice d’entrée numel(A).

Au-delà de la deuxième dimension, la sortie B ne reflète pas les dimensions suivantes de taille 1. Par exemple, reshape(A,3,2,1,1) produit une matrice de 3 x 2.

Exemple : reshape(A,3,2)

Exemple : reshape(A,6,[],10)

Exemple : reshape(A,2,5,3,[])

Exemple : reshape(A,5,5,5,5)

Arguments de sortie

réduire tout

Tableau redimensionné, renvoyé sous forme de vecteur, de matrice, de tableau multidimensionnel ou de cell array. Le type de données et le nombre d’éléments de B sont les mêmes que dans A. Les éléments de B conservent l’ordre de leurs colonnes par rapport à A.

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration

Conseils

  • La fonction reshape réorganise les éléments existants selon les données en entrée. Pour ajouter ou supprimer des éléments, utilisez plutôt la fonction resize.

Capacités étendues

Génération de code HDL
Générez du code Verilog et VHDL pour les designs FPGA et ASIC avec HLD Coder™.

Historique des versions

Introduit avant R2006a