Каждая переменная в MATLAB ® является массивом, который может содержать много чисел. Когда необходимо получить доступ к выбранным элементам массива, используйте индексацию.
Для примера рассмотрим матрицу 4 на 4 A
:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A = 4×4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Существует два способа обращения к конкретному элементу массива. Цель наиболее распространенного способа - задать индексов строк и столбцов, такие как
A(4,2)
ans = 14
Менее распространенным, но иногда полезным, является использование одинарного индекса, который идёт вниз по каждому столбцу по порядку:
A(8)
ans = 14
Использование одинарного индекса для обращения к конкретному элементу массива называется линейной индексацией.
Если вы пытаетесь обратиться к элементам вне массива с правой стороны оператора назначения, MATLAB выдает ошибку.
test = A(4,5)
Index in position 2 exceeds array bounds (must not exceed 4).
Однако в левой части оператора назначения можно задать элементы, не относящиеся к текущим размерностям. Размер массива увеличивается, чтобы вместить новые элементы.
A(4,5) = 17
A = 4×5
1 2 3 4 0
5 6 7 8 0
9 10 11 12 0
13 14 15 16 17
Для обращения к нескольким элементам массива используйте оператор двоеточия, который позволяет вам задавать область значений в форме start:end
. Например, перечислите элементы в первых трех строках и во втором столбце A
:
A(1:3,2)
ans = 3×1
2
6
10
Только одно двоеточие без начальных или конечных значений задает все элементы в этом измерении. Например, выберите все столбцы в третьей строке A
:
A(3,:)
ans = 1×5
9 10 11 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
.