Обращение к элементам матрицы
Пусть задана матрица 4x3:
a = [1 2 3;
4 5 6;
7 8 9;
10 1 12];
Элемент во второй строке, третьем столбце
>> a(3,2)
ans =
8
Весь второй столбец (оператор :)
>> a(:,2)
ans =
2
5
8
1
Вся третья строка
>> a(3,:)
ans =
7 8 9
К элементу прямоугольной матрицы можно обратиться при помощи одного индекса
>> a(6)
ans =
5
В этом случае используется сквозная нумерация элементов в столбцах.
Блок матрицы
>> a(2:3,1:2)
ans =
4 5
7 8
Строки 2 и 4, столбцы 1 и 4
>> a([2,4],[1,3])
ans =
4 6
10 12
Все элементы матрицы одним столбцом (столбцы склеиваются друг за другом)
>> a(:)
ans =
1
4
7
10
2
5
8
1
3
6
9
12
Заменить все элементы в 3 строке нулями
>> a(3,:) = 0
a =
1 2 3
4 5 6
0 0 0
10 1 12
Логическое индексирование
Создадим последовательность
>> a = 1:10
a =
1 2 3 4 5 6 7 8 9 10
Результатом сравнения массива a с некоторым числом является логический массив единиц и нулей той же размерности, что и исходный массив, элементы которого заменяются на 1 (ИСТИНА) или 0 (ЛОЖЬ) в зависимости от результата сравнения этого элемента со сравниваемым значение (в примере ниже это число 3):
>> a > 3
ans =
1×10 logical array
0 0 0 1 1 1 1 1 1 1
Меньше или равно 3
>> a <= 3
ans =
1×10 logical array
1 1 1 0 0 0 0 0 0 0
Логическое индексирование можно использовать для выборки значений из матрицы, например, чтобы извлечь из матрицы a все значения, которые меньше 3 и больше 8 можно написать так
>> a(a < 3 | a > 8)
ans =
1 2 9 10