Организация данных в MATLAB
Выбери формат для чтения
Загружаем конспект в формате pptx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
Тип данны х (class) – множество значений переменной и
операций, определенных на этих значениях.
ТИПЫ ДАННЫХ
Числовы е
Логически
й
Ст роковы е
Специальн
ые
1
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Целочисленны е (integer)
БЕЗЗНАКОВЫ
Е
(unsigned)
ЗНАКОВЫЕ
(signed)
uint8
uint16
uint32
uint64
0:255
0:6553
5
0:2^321
0:2^641
int8
int16
int32
int64
-128:127
32768:3276
7
-2^31:2^31-1
-2^63:2^63-1
2
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Целочисленны е (integer)
3
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Целочисленны е (integer)
4
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Целочисленны е (integer)
5
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Вещест венны й с плавающей точкой (fl oat)
double
single
64 бита на одну
переменную
32 бита на одну
переменную
1.254e-12 = 1.254*10^-12
мантисса
порядок
6
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Вещест венны й с плавающей точкой (fl oat)
single
double
7
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
8
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Вещест венны й с плавающей точкой (fl oat)
Наименьшее число, выражаемое мантиссой: 2^52≈10^-16
9
Это предельная (машинная) точность формата
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
N=0:99;
plot(sin(N* pi))
10
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Вещест венны й с плавающей точкой (fl oat)
Наибольшее число, выражаемое
порядком: 2^1024≈1.797*10^308
Наименьшее число, выражаемое
порядком: 2^-1024≈2.225*10^-308
11
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Комплексны е с плавающей точкой (complex)
complex
double
128 бит на одну
переменную
complex
single
64 бита на одну
переменную
a+
bi
действительн
ая часть
мнимая
часть
12
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Комплексны е с плавающей точкой (complex)
13
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Комплексны е с плавающей точкой (complex)
Что будет, если выполнить операцию сложения?
14
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Комплексны е с плавающей точкой (complex)
15
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЧИСЛОВЫЕ ТИПЫ ДАННЫХ (numerical)
Специальны е числовы е значения
+Inf
-Inf
NaN
pi
i
1/0
-1/0
0/0
Pi≠pi
i
j
1i
1j
1/Inf=0
1/
NaN=NaN
1*NaN=Na
N
1+NaN=Na
N
……
16
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
0/1
1 бит на одну
переменную
0 = false
1 = true
17
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
18
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
Комбинация с переменными числового типа
19
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
Найти в тексте латинские буквы «j»
Монгjлия имеет плjщадь 1 564 116 км кв. (19
местj в мире) и, в оснjвном, представляет собjй
платj (возвышенная равнина с ровнjй или
волнистой слабj расчленённой поверхнjстью,
ограниченная отчётливыми уступами от сjседних
равнинных пространств) приподнятое на высjту
900—1500 м над урjвнем моря. Протяжённjсть с
севера на юг сjставляет 1260 км, а с запада на
вjсток — 2400 км.
20
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
21
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
22
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
23
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ЛОГИЧЕСКИЙ ТИП ДАННЫХ (logical)
24
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
char
16 бит на одну
переменную
(символ)
string
Упрощенная форма
для операций
объединения,
разделения строк,
поиска группы
символов в строке,
использование
регулярных
выражений (regexp) 25
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
Создание строки, обращение к элементу
26
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
Пример кодировок символов
27
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
28
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
Как называется кодировка?
29
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
Кодировка русских букв в UTF-16 (юникод)
30
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СТРОКОВЫЕ ТИПЫ ДАННЫХ (CHARACTERS /
STRINGS)
Объединение строк
31
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СПЕЦИАЛЬНЫЕ ТИПЫ ДАННЫХ
Datetime – определяет переменную, которую можно
трактовать как дату и/или время
Time Series – задает временной ряд (результат серии
наблюдений за величиной)
tf – задает передаточную функцию линейной динамической
системы
database.ODBCConnection – соединение с базой данных по
интерфейсу ODBC
и тд и тп …………………….
32
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СПЕЦИАЛЬНЫЕ ТИПЫ ДАННЫХ
33
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СПЕЦИАЛЬНЫЕ ТИПЫ ДАННЫХ
34
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СПЕЦИАЛЬНЫЕ ТИПЫ ДАННЫХ
35
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
СПЕЦИАЛЬНЫЕ ТИПЫ ДАННЫХ
Задача на самопроверку
Дат ы две произвольны е даты , посчитат ь
количест во рабочих часов меж ду ними.
Пят ничны е и предпраздничны е дни по 7 часов.
36
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ
37
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ
38
Лекция 3. Организация данны х в MATLAB
ТИПЫ ДАННЫХ MATLAB
ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ
39
Лекция 3. Организация данны х в MATLAB
МАССИВЫ ДАННЫХ MATLAB (arrays)
Массив — совокупность данных одного типа с общим
именем,
к элементам которой можно обращаться по индексу или
набору индексов.
A=[a1 a2 … an; b1 b2 … bn; … ; x1 x2 … xn]
B=N1:k:Nend
Btr=B’
C1=zeros(N,M)
C2=ones(N,M)
C3=rand(N,M)
C3=randn(N,M)
C4=eye(N)
C5=randi(R,N, М)
40
Лекция 3. Организация данны х в MATLAB
МАССИВЫ ДАННЫХ MATLAB (arrays)
Изменение размеров массива при неизменном
41
Лекция 3. Организация данны х в MATLAB
МАССИВЫ ДАННЫХ MATLAB (arrays)
Обращение к элементам массива
и удаление элементов массива
42
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Ячеист ы е массивы — совокупность разнородных данных
произвольной размерности с общим именем, к элементам
которой можно обращаться по индексам.
ЗАДАЧА: сформироват ь и сохранит ь под общим
именем список ф амилий ст удентов группы .
ИДЕЯ: C=‘Иванов’
C(2,:)=‘Петров’
C(3,:)=‘Сидоров’
Используем массив
типа char
43
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
44
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
ЗАДАЧА: сформироват ь и сохранит ь под общим
именем список ф амилий ст удентов группы .
РЕШЕНИЕ:
C{1}=‘Иванов’
C{2}=‘Петров’
C{3}=‘Сидоров’
Используем ячеистый
массив, каждая
фамилия выступает в
роли отдельного
элемента
45
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
46
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
47
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Формирование ячеистого массива «столбиком»
48
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Формирование ячеистого массива из данных
разных типов
49
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Типичная ошибка при работе с ячеистыми
массивами (необходимость предварительной
50
очистки переменной)
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
51
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
52
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
53
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
54
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
55
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Обращение к ячейкам и их содержимому
56
Лекция 3. Организация данны х в MATLAB
ЯЧЕИСТЫЕ МАССИВЫ MATLAB (cell
arrays/cells)
Вложенные ячейки
57
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
ЗАДАЧА: сформироват ь и сохранит ь под общим
именем список ф амилий ст удентов группы .
РЕШЕНИЕ:
student.name='Иванов‘
student(2).name=‘Петров‘
Создаем структуру,
в ней объявляем
несколько полей
student(3).name=‘Сидоров'
58
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Создание структуры (одно поле)
59
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Создание структуры (одно поле)
60
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Создание структуры (два поля)
61
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Создание вложенной структуры
62
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Создание вложенной структуры
63
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Преобразование структуры данных
64
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Преобразование структуры данных
65
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Преобразование структуры данных
66
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
Преобразование структуры данных
67
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
http-запрос
import matlab.net.*
import matlab.net.http.field.*
request = matlab.net.http.RequestMessage;
response=request.send(URI('https://en.wikipedia.
org/w/api.php?action=query&titles=Scorpion&prop=
revisions&rvprop=content&format=json'));
68
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
http-запрос
69
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
http-запрос
70
Лекция 3. Организация данны х в MATLAB
СТРУКТУРЫ ДАННЫХ MATLAB (structures)
http-запрос
71