Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Курс «Программирование»
Лекция 4.
Массив ячеек.
Структуры.
Преподаватель:
Лысенко Александр Юрьевич
Национальный исследовательский университет «МИЭТ». Институт Биомедицинских Систем
Организационная часть
• Допуск к лабораторной работе: тест в Moodle.
o Пропуск теста: -2 балла.
o Меньше 50% правильных ответов: -1 балл.
o В обоих случаях тест пересдаётся в устной форме.
• Модификация показателя а/п (активность и посещаемость).
o Начальное значение: 8 баллов.
o Выход к доске: + 1 балл.
o Активность на лекции: +1 балл.
o Пропуск лекции: -1 балл.
o 9 баллов а/п: 4 балла за д.зач. автоматом.
o 10 баллов а/п: 8 баллов за д.зач. автоматом.
o 11 баллов а/п: 12 баллов за д.зач. автоматом.
Слайд 2/17
План лекции
1. Массив ячеек
• Объявление массива ячеек
• Основные функции для работы с массивом ячеек
2.Структура
• Объявление структуры
• Основные функции для работы со структурами
Слайд 3/17
Массив ячеек
Слайд 4/17
Массив ячеек
Массив — упорядоченный набор элементов, каждый из которых
хранит одно значение, идентифицируемое с помощью одного или
нескольких индексов. В простейшем случае массив имеет постоянную
длину и хранит единицы данных одного и того же типа, а в качестве
индексов выступают целые числа. Массив ячеек может хранить
единицы разного типа данных.
Синтаксис одномерного массива ячеек:
имя_переменной = {значения через запятую}
Синтаксис двумерного массива ячеек:
имя_переменной = {значения через запятую;
значения через запятую}
Слайд 5/17
Инициализация массива ячеек
С помощью оператора присваивания:
имя_переменной = {значения}
имя_переменной = {2, -4, ‘hi’, 5:10, [1:4; 6:-2:-2]}
ans = [2] [-4] 'hi' [1x6 double] [2x4 double]
На основе массива:
имя_переменной = num2cell(массив)
имя_переменной = num2cell([1, 2, 3; 4, 5, 6; 7, 8, 9])
ans = [1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Слайд 6/17
Обращение к элементу массива ячеек
Синтаксис:
имя_переменной{индекс, (индекс2, (индекс3))}
Примеры:
имя_переменной{2} = ‘hello’;
имя_переменной{6, 3} = ‘world’;
имя_переменной{1, 2, 3} = 45;
Слайд 7/17
Математические операторы
Отсутствуют
Слайд 8/17
Удаление элементов
Очищение значения:
массив{индекс} = []
a = {4, 2, 8, 3};
a{3} = [];
% a = [4], [2], [], [3]
Удаление элемента:
массив(индекс) = []
a = {4, 2, 8, 3};
a(3) = [];
% a = [4] [2] [3]
a = {4, 2, 8, 3; -5, -3, -9, 7};
a(2, :) = [];
% a = [4] [2] [8] [3]
Слайд 9/17
Структуры
Слайд 10/17
Структура
Структура (структурированный массив) – это массив, содержащий данные
любого типа и доступ к элементам которого осуществляется с помощью поля
(имени).
Синтаксис:
имя_переменной = struct()
Слайд 11/17
Инициализация структуры
При объявлении:
имя_переменной = struct(поле, значение, [...])
имя_переменной = struct(‘name’, ‘Ivan’, ‘age’, 19)
ans =
name: 'Ivan'
age: 19
С помощью оператора присваивания:
имя_переменной = struct()
имя_переменной.имя_поля = значение
имя_переменной.lesson = ‘math’;
имя_переменной.grade = 4
ans =
lesson: 'math'
grade: 4
Слайд 12/17
Обращение к элементу структуры
Синтаксис:
имя_переменной.имя_поля
Примеры:
имя_переменной.day = ‘Monday’;
имя_переменной.day
имя_переменной.money = 80;
имя_переменной.money
Слайд 13/17
Математические операторы
Отсутствуют
Слайд 14/17
Справочная
информация
Слайд 15/17
Список функций
Массивы ячеек
Функция
Описание
Пример
iscell
Является ли переменная массивом ячеек
iscell(x)
cell2mat
Преобразование массива ячеек в матрицу
cell2mat(x)
num2cell
Преобразование массива в массив ячеек
num2cell(x)
celldisp
Вывод значений массива ячеек
celldisp(x)
Структуры
Функция
Описание
Пример
isstruct
Является ли переменная структурой
isstruct(x)
fieldnames
Получить массив с полями структуры
fieldnames(x)
isfield
Является ли Y полем структуры X
isfield(X, Y)
getfield
Получить значение поля Y структуры X
getfield(X, Y)
Слайд 16/17
Примеры
Создание двумерной матрицы на основе последовательности:
array = reshape(1:20, 5, 4)
Сравнение двух вещественных чисел:
if abs(a – b) < 0.000001
Генерация случайного числа в диапазоне от a до b включительно:
value = rand() * (b – a) + a
Генерация случайного целого числа в интервале [a; b]:
value = round(rand() * (b – a) + a)
Слайд 17/17
Список использованных источников
1. Документация MatLab
https://www.mathworks.com/help/matlab/
2. Документация MatLab на русском языке
https://docs.exponenta.ru/R2019a/matlab/index.html
3. Википедия
https://ru.wikipedia.org/wiki/Цикл_(программирование)
4. Википедия
https://ru.wikipedia.org/wiki/Массив_(тип_данных)
Слайд 18/17