MATLAB - аббревиатура от «матричная лаборатория». В то время как другие языки программирования в основном работают с числами по одному, MATLAB ® предназначен для работы в основном с целыми матрицами и массивами.
Все переменные MATLAB являются многомерными массивами, независимо от типа данных. Матрица - двумерный массив, часто используемый для линейной алгебры.
Чтобы создать массив с четырьмя элементами в одной строке, разделите элементы запятой (,) или пробел.
a = [1 2 3 4]
a = 1×4
1 2 3 4
Этот тип массива является вектором строки.
Чтобы создать матрицу с несколькими строками, разделите строки точкой с запятой.
a = [1 3 5; 2 4 6; 7 8 10]
a = 3×3
1 3 5
2 4 6
7 8 10
Другим способом создания матрицы является использование функции, например, ones, zeros, или rand. Например, создайте вектор столбца 5 на 1 из нулей.
z = zeros(5,1)
z = 5×1
0
0
0
0
0
MATLAB позволяет обрабатывать все значения в матрице с помощью одного арифметического оператора или функции.
a + 10
ans = 3×3
11 13 15
12 14 16
17 18 20
sin(a)
ans = 3×3
0.8415 0.1411 -0.9589
0.9093 -0.7568 -0.2794
0.6570 0.9894 -0.5440
Для транспонирования матрицы используйте одну кавычку ('):
a'
ans = 3×3
1 2 7
3 4 8
5 6 10
Можно выполнить стандартное умножение матрицы, которое вычисляет внутренние произведения между строками и столбцами, используя * оператор. Например, подтвердите, что матрица, умноженная на обратную, возвращает единичную матрицу:
p = a*inv(a)
p = 3×3
1.0000 0.0000 -0.0000
0 1.0000 -0.0000
0 0.0000 1.0000
Обратите внимание, что p не является матрицей целых значений. MATLAB хранит числа как значения с плавающей запятой, а арифметические операции чувствительны к небольшим различиям между фактическим значением и его представлением с плавающей запятой. Вы можете отобразить больше десятичных цифр с помощью format команда:
format long
p = a*inv(a)p = 3×3
0.999999999999996 0.000000000000007 -0.000000000000002
0 1.000000000000000 -0.000000000000003
0 0.000000000000014 0.999999999999995
Сброс отображения в более короткий формат с помощью
format shortformat влияет только на отображение чисел, а не на то, как MATLAB вычисляет или сохраняет их.
Для выполнения элементного умножения, а не матричного умножения, используйте .* оператор:
p = a.*a
p = 3×3
1 9 25
4 16 36
49 64 100
Каждый из матричных операторов умножения, деления и мощности имеет соответствующий оператор массива, который работает по элементам. Например, поднять каждый элемент a к третьей мощности:
a.^3
ans = 3×3
1 27 125
8 64 216
343 512 1000
Конкатенация - это процесс соединения массивов для создания более крупных массивов. Фактически, вы сделали свой первый массив, объединив его отдельные элементы. Пара квадратных скобок [] - оператор конкатенации.
A = [a,a]
A = 3×6
1 3 5 1 3 5
2 4 6 2 4 6
7 8 10 7 8 10
Конкатенация массивов рядом друг с другом с помощью запятых называется горизонтальной конкатенацией. Каждый массив должен иметь одинаковое количество строк. Аналогично, если массивы имеют одинаковое количество столбцов, можно объединить их по вертикали с помощью точки с запятой.
A = [a; a]
A = 6×3
1 3 5
2 4 6
7 8 10
1 3 5
2 4 6
7 8 10
Комплексные числа имеют как действительную, так и мнимую части, где мнимой единицей является квадратный корень из -1.
sqrt(-1)
ans = 0.0000 + 1.0000i
Для представления мнимой части комплексных чисел используйте либо i или j.
c = [3+4i, 4+3j; -i, 10j]
c = 2×2 complex
3.0000 + 4.0000i 4.0000 + 3.0000i
0.0000 - 1.0000i 0.0000 +10.0000i