Векторное создание, индексирование массивов и for
- итерация цикла
x = j:k x = j:i:k A(:,n) A(m,:) A(:) A(j:k)
Двоеточие является одним из самых полезных операторов в MATLAB®. Это может создать векторы, массивы индекса, и задать for
итерации.
создает расположенный с равными интервалами векторный x
= j
:i
:k
x
использование 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
столбец th матричного A
.
A(m,:)
m
строка th матричного A
.
A(:,:,p)
p
страница th 3D массива 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