двоеточие (:) оператор "двоеточие"

## Описание

Символ двоеточие `:` может использоваться для того, чтобы явным образом формировать векторы (см. также linspace, logspace):

j:k

  является вектором `[j, j+1,...,k]` (пустой, если `j>k`);

j:d:k

  является вектором `[j, j+d, ..., j+m*d]` .

Двоеточие также может использоваться для того, чтобы выделить выбранные строки, столбцы и элементы векторов и матриц (см. также выделение, вставка):

A(:)

  является вектором, состоящим из всех элементов `A` в виде одного столбца;

A(:,j)

  является `j`-тым столбцом `A`;

A(i,:)

  является `i`-той строкой `A`;

A(j:k)

  является вектором-столбцом

                                  [A(j)
                                  A(j+1)
                                  ...
                                  A(k)]

A(:,j:k)

  is

                                  [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)]

  если `A` имеет размеры `M` на `N`;
A(j:k,:)

  is

                                  [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)]

  если `A` имеет размеры `M` на `N`;
A(:)=w

  заполняет матрицу `A` элементами `w` (если `w` является матрицей, то элементы заполняются столбец за столбцом).

Обратите внимание, что если `i`, `j`, `k` или `d` являются нецелыми числами, то будет использоваться только целая часть.

`type(:)` равно 129. `typeof(:)` равно `"implicitlist"`.

## Примеры

    a = 1:5
    b = 1:3:12
    A = matrix(1:42,7,6);
    // вектор, состоящий из всех элементов A
    A(:)

    // j-тый столбец A
    A(:,j)

    // i-тая строка A
    A(i,:)

    // элементы столбцов с j по k и всех строк
    A(:,j:k)

    // элементы всех столбцов и строк с j to k
    A(j:k,:)

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

    // если индексы являются нецелыми
    i = 1:0.4:10; //индексы
    A(i)

## Смотрите также

- доллар
- extraction
- matrix
- linspace
- logspace

## История

6.0

- `type(:)` равен 129 (как и у `1:$`) вместо 1. `size(:)` неопределён (вместо `[-1,-1]`).
- `typeof(:)` теперь `"implicitlist"`, как и у `1:$`.
- `%i:10` теперь выдаёт ошибку.