Создание вектора, подстрочный индекс массива и for-итерация цикла
x = j:k x = j:i:k A(:,n) A(m,:) A(:) A(j:k)
Двоеточие является одним из наиболее полезных операторов в MATLAB ®. Он может создавать векторы, подстрочные массивы и указыватьfor итерации.
создает вектор с регулярным интервалом x = j:i:kx использование i как приращение между элементами. Векторные элементы примерно равны [j,j+i,j+2*i,...,j+m*i] где m = fix((k-j)/i). Однако, если i не является целым числом, тогда арифметика с плавающей запятой играет роль в определении, colon включает конечную точку k в векторе, так как k может быть не совсем равно j+m*i. Если указать нескалярные массивы, MATLAB интерпретирует j:i:k как j(1):i(1):k(1).
x = colon(j,k) и x = colon(j,i,k) являются альтернативными способами выполнения команд j:k и j:i:k, но используются редко. Эти синтаксисы обеспечивают перегрузку операторов для классов.
A(:,n), A(m,:), A(:), и A(j:k) являются общими индексирующими выражениями для матрицы A которые содержат двоеточие. При использовании двоеточия в качестве подстрочного индекса в индексирующем выражении, например A(:,n), он действует как сокращенный, чтобы включить все подстрочные индексы в конкретное измерение массива. Также принято создавать вектор с двоеточием для целей индексирования, например A(j:k). Некоторые индексные выражения объединяют оба использования двоеточия, как в A(:,j:k).
Обычные индексные выражения, содержащие двоеточие:
A(:,n) является nТретий столбец матрицы A.
A(m,:) является m4-я строка матрицы A.
A(:,:,p) является pвосьмая страница трехмерного массива A.
A(:) изменяет форму всех элементов A в один вектор-столбец. Это не имеет эффекта, если A уже является вектором столбца.
A(:,:) изменяет форму всех элементов A в двумерную матрицу. Это не имеет эффекта, если A уже является матрицей или вектором.
A(j:k) использует вектор j:k для индексации в A и, следовательно, эквивалентен вектору [A(j), A(j+1), ..., A(k)].
A(:,j:k) включает все подстрочные индексы в первом измерении, но использует вектор j:k для индексирования во втором измерении. Возвращает матрицу со столбцами [A(:,j), A(:,j+1), ..., A(:,k)].
for справочная страница содержит описание использования : в контексте операторов цикла.
linspace аналогичен оператору двоеточия :, но он дает прямой контроль над количеством точек и всегда включает конечные точки. Родственная функция logspace генерирует логарифмически разнесенные значения.
При создании вектора для индексирования в массив ячеек или структурный массив (например, или cellName{:}), MATLAB возвращает несколько выходов в списке, разделенном запятыми. Дополнительные сведения см. в разделе Использование списков, разделенных запятыми.structName(:).fieldName