Создание векторов, индексирование массивов и 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,:) является mпервая строка матрицы 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 аналогичен оператору двоеточия :, но он дает прямой контроль над числом точек и всегда включает в себя конечные точки. The родственной функции logspace генерирует логарифмически разнесенные значения.
Когда вы создаете вектор для индекса в массив ячеек или массив структур (например или cellName{:}), MATLAB возвращает несколько выходы в списке, разделенном запятыми. Дополнительные сведения см. в разделе «Как использовать разделенные списками , разделенными запятыми».structName(:). fieldName