colon (:) Générateur de séries. Adresse tous les éléments d'une liste ou d'un tableau

## Description

Le symbole `:` peut être utilisé pour former des vecteurs (voir aussi linspace, logspace) :

j:k

  est le vecteur `[j, j+1,...,k]` (ou la matrice vide si `j>k`);

j:d:k

  est le vecteur `[j, j+d, ..., j+m*d]` .

Cet opérateur peut aussi être utilisé pour sélectionner des lignes ou des colonnes d'un tableau, ou bien des sous-tableaux (voir aussi extraction, insertion) :

A(:)

  est le vecteur de tous les éléments du tableau `A`, considéré comme un vecteur colonne (les colonnes sont mises bout à bout);

A(:,j)

  est la `j`-ème colonne de `A`;

A(i,:)

  est la `i`-ème ligne de `A`;

A(j:k)

  est égal à `[A(j),A(j+1),...,A(k)]`;

A(:,j:k)

  est égal à

                    [A(1,j)  A(1,j+1)  ... A(1,k)
                    A(2,j)  A(2,j+1)  ... A(2,k)
                    . . . . . . . . . . .
                    A(M,j)  A(M,j+1)  ... A(M,k)]

  si `A` est de taille `M`-par-`N`;
A(j:k,:)

  est égal à

                    [A(j,1)    A(j,2)   ... A(j,N)
                    A(j+1,1)  A(j+1,2) ... A(j+1,N)
                    . . . . . . . . . . .
                    A(k,1)    A(k,2)   ... A(k,N)]

  si `A` est de taille `M`-par-`N`;
A(:)=w

  remplit le tableau `A` avec les composantes de `w` (prises colonne par colonne si `w` est un tableau 2D). `A` et `w` doivent avoir le même nombre d'éléments.

Merci de noter que même si `i`, `j`, `k` ou `d` ont une partie décimale, seule la partie entière sera utilisée.

`type(:)` est 129. `typeof(:)` est `"implicitlist"`.

## Exemples

    a = 1:5
    b = 1:3:12
    A = matrix(1:42,7,6);
    // Vecteur contenant tous les élements de A
    A(:)

    // La j-ème colonne de A
    A(:,j)

    //  La i-ème ligne de A
    A(i,:)

    // Eléments des colonnes j à k et toutes les lignes
    A(:,j:k)

    // Eléments de toutes les colonnes et les lignes j à k
    A(j:k,:)

    w = matrix(101:142,7,6);
    A(:) = w

    // Si les indices ne sont pas des valeurs entières
    i = 1:0.4:10; // Indices
    A(i)

## Voir aussi

- dollar
- extraction
- matrix
- linspace
- logspace

## Historique

6.0

- `type(:)` vaut 129 (comme pour `1:$`) au lieu de 1. `size(:)` est indéfinie (au lieu de `[-1,-1]`).
- `typeof(:)` est désormais `"implicitlist"`, comme pour `1:$`.
- `%i:10` produit désormais une erreur.