MATLAB - Notation du côlon

le colon(:)est l'un des opérateurs les plus utiles de MATLAB. Il est utilisé pour créer des vecteurs, des tableaux d'indices etspecify for iterations.

Si vous souhaitez créer un vecteur de ligne, contenant des entiers de 1 à 10, vous écrivez -

1:10

MATLAB exécute l'instruction et renvoie un vecteur ligne contenant les entiers de 1 à 10 -

ans =                                                                           
                                                                                
   1    2    3    4    5    6    7    8    9   10

Si vous souhaitez spécifier une valeur d'incrément différente de un, par exemple -

100: -5: 50

MATLAB exécute l'instruction et renvoie le résultat suivant -

ans =
   100    95    90    85    80    75    70    65    60    55    50

Prenons un autre exemple -

0:pi/8:pi

MATLAB exécute l'instruction et renvoie le résultat suivant -

ans =
   Columns 1 through 7
      0    0.3927    0.7854    1.1781    1.5708    1.9635    2.3562
   Columns 8 through 9
      2.7489    3.1416

Vous pouvez utiliser l'opérateur deux-points pour créer un vecteur d'indices pour sélectionner des lignes, des colonnes ou des éléments de tableaux.

Le tableau suivant décrit son utilisation à cet effet (ayons une matrice A) -

Format Objectif
A(:,j) est la jème colonne de A.
A(i,:) est la ième rangée de A.
A(:,:) est le tableau bidimensionnel équivalent. Pour les matrices, c'est la même chose que A.
A(j:k) est A (j), A (j + 1), ..., A (k).
A(:,j:k) est A (:, j), A (:, j + 1), ..., A (:, k).
A(:,:,k) est la k ème page du tableau tridimensionnel A.
A(i,j,k,:) est un vecteur dans un tableau à quatre dimensions A. Le vecteur comprend A (i, j, k, 1), A (i, j, k, 2), A (i, j, k, 3), et ainsi de suite.
A(:) est tous les éléments de A, considérés comme une seule colonne. Sur le côté gauche d'une instruction d'affectation, A (:) remplit A, en conservant sa forme d'avant. Dans ce cas, le côté droit doit contenir le même nombre d'éléments que A.

Exemple

Créez un fichier de script et tapez le code suivant -

A = [1 2 3 4; 4 5 6 7; 7 8 9 10]
A(:,2)      % second column of A
A(:,2:3)    % second and third column of A
A(2:3,2:3)  % second and third rows and second and third columns

Lorsque vous exécutez le fichier, il affiche le résultat suivant -

A =
      1     2     3     4
      4     5     6     7
      7     8     9    10

ans =
      2
      5
      8

ans =
      2     3
      5     6
      8     9

ans =
      5     6
      8     9