Matlab — пакет прикладных программ для проведения вычислений и одноименный язык программирования. Изначально эта программа развивалась именно как ПО для работы с матрицами (облегчения машинного решения матричных уравнений) — Matrix Laboratory.
Что нужно знать новичку.
Как задать матрицу в матлаб?
>> a = [2 1 3; 0 2 6; 9 7 8]
a =
2 1 3
0 2 6
9 7 8
Указанная команда объявляет матрицу 3 на 3. Матрица (массив — матрица с одной строкой) объявляется при помощи квадратных скобок, строки разделяются точкой с запятой.
Обратите внимание, что если ставить в конце строки точку с запятой вывода в консоль не будет.
>> a = [2 1 3; 0 2 6; 9 7 8];
Для сложения, вычитания матриц используют + и —
Для поэлементного сложения .+
поэлементного умножения .* и т.д.
Как умножить (разделить) матрици?
Умножать матрици очень просто. Для это воспользуйтесь обычным оператором *
>> a = [1 2; 3 4]
a =
1 2
3 4
>> b = [5 6; 7 8]
b =
5 6
7 8
>> a * b
ans =
19 22
43 50
Для работы с матрицами предусмотрены операции левого и правого деления (ведь в случае матриц от перемены мест многое меняется).
Для деления матриц вы можете использовать слэши или же умножение матриц:
A\B = inv(A) * B; A/B = A * inv(B);
Пример для матриц объявленных выше:
>> a \ b
ans =
-3 -4
4 5
>> a / b
ans =
3.0000 -2.0000
2.0000 -1.0000
Логические операции для матриц
В матлаб есть возможность использовать логические операции для матриц. При этом все что не ноль — true.
Оперция или:
Обозначается вертикальной чертой или or(a,b)
>> a = [0 1; 0 2]
a =
0 1
0 2
>> b = [9 0; 0 19]
b =
9 0
0 19
>> a | b
ans =
1 1
0 1
Операция И:
Обозначается амперсандом или функцией and(a,b)
>> a & b
ans =
0 0
0 1
Инверсия:
>> not(a)
ans =
1 0
1 0
Исключающее ИЛИ:
>> xor(a,b)
ans =
1 1
0 0
Как найти элементы в массиве?
Поиск элементов по условию:
>> c = [3 2 -1 0 6];
>> ch=find(c<=2)
ch =
1 2 5
Выведены номера элементов. Т.е. первый, второй и пятый больше или равны двум.
Напомню, что массивы в матлаб нумеруются с единицы.
Как же получить элементы по номерам?
>> ca=c(ch)
ca =
3 2 6
Проверка массивов на соответствие условию.
Если хотя бы один элемент удовлетворяет условию — возвращена будет единица.
>> c1 = any(c<=5)
c1 =
1
Все элементы удовлетворяют условию:
>> c2 = all(c>7)
c2 =
1
Обращение к участкам матрицы
Выбираем строки со второй по третью, столбцы — с первого по третий.
>> a = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
a =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> a( 2:3 , 1:3 )
ans =
5 6 7
9 10 11
Как объединить матрицы?
>> a = [1 2 3]
a =
1 2 3
>> b = [4 5 6]
b =
4 5 6
>> c = [a b]
c =
1 2 3 4 5 6
Часть 2.
Продолжение следует.







