MATLAB является сокращением от "матричной лаборатории". В то время как другие языки программирования главным образом работают с числами по одному, MATLAB® разработан, чтобы работать, в основном, с целыми матрицами и массивами.
Все переменные MATLAB являются многомерными массивами, неважно какого типа данных. Матрица является двумерным массивом, часто используемым для линейной алгебры.
Чтобы создать массив из четырех элементов в одной строке, разделите элементы либо запятой (,) либо пробелом.
a = [1 2 3 4]
a = 1×4
1 2 3 4
Этот тип массива является вектором - строкой.
Чтобы создать матрицу, которая имеет несколько строк, разделите строки с точками с запятой.
a = [1 2 3; 4 5 6; 7 8 10]
a = 3×3
1 2 3
4 5 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 12 13
14 15 16
17 18 20
sin(a)
ans = 3×3
0.8415 0.9093 0.1411
-0.7568 -0.9589 -0.2794
0.6570 0.9894 -0.5440
Чтобы транспонировать матрицу, используйте одинарную кавычку ('
):
a'
ans = 3×3
1 4 7
2 5 8
3 6 10
Можно выполнить стандартное умножение матриц, которое вычисляет скалярные произведения между строками и столбцами, с помощью оператора *
. Например, подтвердите, что матрица, умноженная на её обратную матрицу, возвращает единичную матрицу:
p = a*inv(a)
p = 3×3
1.0000 0 -0.0000
0 1.0000 0
0 0 1.0000
Заметьте, что p
не является матрицей целочисленных значений. MATLAB хранит числа как значения с плавающей точкой, и арифметические операции чувствительны к небольшим различиям между фактическим значением и его представлением с плавающей точкой. Можно отобразить больше десятичных цифр с помощью команды format
:
format long
p = a*inv(a)
p = 3×3
1.000000000000000 0 -0.000000000000000
0 1.000000000000000 0
0 0 0.999999999999998
Сбросьте отображение к более короткому использованию формата
format short
формат влияет только на отображение чисел, не на то, как MATLAB вычисляет или сохраняет их.
Чтобы выполнить поэлементное умножение, а не умножение матриц, используйте .*
оператор:
p = a.*a
p = 3×3
1 4 9
16 25 36
49 64 100
Каждый из матричных операторов для умножения, деления и возведения в степень, имеет соответствующий оператор массивов, который действует поэтапно. Например, возведите каждый элемент массива
в третью степень:
a.^3
ans = 3×3
1 8 27
64 125 216
343 512 1000
Конкатенация является процессом слияния массивов, чтобы создавать массивы большего размера. На самом деле вы сделали свой первый массив путем конкатенации его отдельных элементов. Пара квадратных скобок []
является оператором конкатенации.
A = [a,a]
A = 3×6
1 2 3 1 2 3
4 5 6 4 5 6
7 8 10 7 8 10
Конкатенация массивов друг рядом с другом с использованием запятых называется горизонтальной конкатенацией. Каждый массив должен иметь то же количество строк. Точно так же, когда массивы имеют то же количество столбцов, можно конкатенировать вертикально с использованием точек с запятой.
A = [a; a]
A = 6×3
1 2 3
4 5 6
7 8 10
1 2 3
4 5 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