Типы данных
- numeric − числовой тип (double по умолчанию):
a = 1;
- Численный массив:
a = [1 2 3] или a = [1,2,3] или a=1:3
- Матрица:
a = [1,2;3,4] или a = [1 2;3 4]
- logical − логический тип:
a = true/false; или a = 1 < 2;
- Операторы сравнения:
<, <=, >, >=, ==, ~=
- Логические операторы:
&, ||, ~
- char − символьный тип:
a = 'bcd'
- Объединение:
c = [a ' ' a];
- Замена слова:
c = replace(c, 'red', 'blue');
- str − строки:
a = "bcd"
- cell − ячейки:
a = {1, "abc", inf}; или a = cell(M, N);
- Индексация:
a{1...N};
- struct − структуры:
a = struct('age',25,'name','Me!');
- Индексация:
a.age
- table − таблицы:
a = table({'a';'b'}, [1;2])
- Индексация:
a.Var1(1) или a(1,1)
- datetime − дата и время:
a = datatime([yy,mm,dd,hh,mm,ss])
year(a), month(a), day(a),
Преобразование типов данных
- Числа в текст
- Без функций:
a = "num1: " + 1.2 + " "
string − массив строк ([1,2,3] → ["1", "2", "3"])
cellstr − в массив ячеек из символьных векторов
int2str − целые числа в char
- Текст в числа
str2double / str2num (чем вы отличаетесь?)
- Другое
cell2mat − массив ячеек в обычный массив
Векторы и матрицы
- Инициализация:
a = [1 2 3; 4 5 6]
- Случайная:
a = randi(a_max, n, m)
- Единичная:
a = eye(n) (eye(n,m) − обрезанная `eye(max(n,m)))
- Треугольник(нет) Паскаля:
a = pascal(n)
- Вектор-столбец:
a = [1; 2; 3]
- Вектор-строка:
a = [1 2 3]
- Скаляр и матрица 1×1 − одно и то же:
1 == [1]
n:m − арифметическая последовательность
n:m − последовательность от n по m с шагом 1
n:h:m − последовательность от n по m с шагом h
- Арифметические операции:
- Поэлементное сложение:
a + b
- Матричное умножение:
a * b
- Степень матрицы:
a ^ b
- Транспонирование:
a' (a.' − комплексная часть сохраняет знак)
- Инвертирование:
inv(a)
- Детерминант:
det(a)
- Число обусловленности для инверсии:
cond(a) (1 − численно устойчивая, inf − сингулярная матрица)
- Продукт Кронекера:
kron(a, b)
- p-норма:
norm(a, p) (по умолчаню p=2)
- 1-норма − сумма модулей
- 2-норма − Евклидова длина
- ∞-норма − максимальный элемент
Числовые литералы в Matlab
- Двоичное представление числа:
a = 0b100 → 4 (uint)
- Шестадцатеричное представление числа:
a = 0xA0 → 160 (uint)
- Экспоненциальное представление числа:
a = 1e4 → 10000
- Бесконечности:
inf, -inf
Нечисловые литералы в Python
nan − не число (not a number)
missing − отсутствующее значение нечисловых данных
NaT − пропущенная дата