Типы данных
- 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
− пропущенная дата