Каждая переменная в MATLAB® является массивом, который может содержать много чисел. Когда необходимо получить доступ к выбранным элементам массива, используйте индексацию.
Например, рассмотрите магический квадрат A
4 на 4:
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
Существует два способа обратиться к конкретному элементу в массиве. Наиболее распространенный способ состоит в том, чтобы задать индексы строки и столбца, такой как
A(4,2)
ans = 14
Менее распространенным, но иногда полезным, является использование одного индекса, который идёт вниз по каждому столбцу по порядку:
A(8)
ans = 14
Используя единственный индекс, чтобы обратиться к конкретному элементу в массиве называется линейной индексацией.
При попытке обратиться к элементам вне массива на правой стороне оператора присваивания, MATLAB выдает ошибку.
test = A(4,5)
Index exceeds matrix dimensions.
Однако на левой стороне оператора присваивания, можно задать элементы вне текущих размерностей. Размер массива увеличивается, чтобы разместить вновь прибывших.
A(4,5) = 17
A = 4×5
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17
Чтобы обратиться к нескольким элементам массива, используйте оператор двоеточия, который позволяет вам задавать область значений формы start:end
конец. Например, перечислите элементы в первых трех строках и втором столбце A
:
A(1:3,2)
ans = 3×1
2
11
7
Одно только двоеточие, без начальных или конечных значений, задает все элементы в той размерности. Например, выберите все столбцы в третьей строке A
:
A(3,:)
ans = 1×5
9 7 6 12 0
Оператор двоеточия также позволяет вам создавать равномерно распределенный вектор значений с помощью более общей формы start:step:end
.
B = 0:10:100
B = 1×11
0 10 20 30 40 50 60 70 80 90 100
Если вы не используете средний шаг, когда в start:end
, MATLAB использует значение шага по умолчанию 1
.