exponenta event banner

Основные классы MATLAB

Существует множество различных типов данных или классов, с которыми можно работать в MATLAB ®. Можно создавать матрицы и массивы данных с плавающей запятой и целочисленных данных, символов и строк, логическихtrue и false значения и так далее. Обработчики функций связывают код с любой функцией MATLAB независимо от текущей области. Таблицы, расписания, структуры и массивы ячеек обеспечивают способ хранения различных типов данных в одном и том же контейнере.

В MATLAB 16 основных классов. Каждый из этих классов имеет форму матрицы или массива. За исключением дескрипторов функций, эта матрица или массив имеет минимальный размер 0 на 0 и может вырасти до n-мерного массива любого размера. Дескриптор функции всегда скаляр (1 на 1).

Все основные классы MATLAB показаны на диаграмме ниже:

Числовые классы в программном обеспечении MATLAB включают подписанные и неподписанные целые числа, а также числа с плавающей запятой с одинарной и двойной точностью. По умолчанию MATLAB сохраняет все числовые значения как плавающую точку с двойной точностью. (Тип и точность по умолчанию изменить нельзя.) Можно сохранить любое число или массив чисел в виде целых чисел или в виде одной точности. Целочисленные массивы и массивы с одной точностью обеспечивают более эффективное хранение данных, чем массивы с двойной точностью.

Все числовые типы поддерживают базовые операции с массивами, такие как подстрочный индекс, изменение формы и математические операции.

Можно создавать двухмерные double и logical матрицы, использующие один из двух форматов хранения: full или sparse. Для матриц с в основном нулевыми элементами разреженная матрица требует доли пространства хранения, необходимого для эквивалентной полной матрицы. Разреженные матрицы вызывают методы, специально приспособленные для решения разреженных задач.

Эти классы требуют различных объемов хранения, наименьшим из которых является logical значение или 8-битовое целое число, которое требует только 1 байт. Важно помнить об этом минимальном размере, если вы работаете с данными в файлах, написанных с точностью менее 8 бит.

В следующей таблице более подробно описаны основные классы.

Имя класса

Документация

Надлежащее использование

double, singleЧисла с плавающей запятой
int8, uint8, int16, uint16, int32, uint32, int64, uint64Целые числа
char, stringСимволы и строки
  • Тип данных для текста.

  • Собственный или Юникод ®.

  • Преобразует в числовое значение или из него.

  • Использовать с регулярными выражениями.

  • Для нескольких символьных массивов используйте массивы ячеек.

  • Начиная с R2016b, текст также можно хранить в строковых массивах. Дополнительные сведения см. в разделе string.

logicalЛогические операции
  • Используется в реляционных условиях или для тестирования состояния.

  • Может иметь одно из двух значений: true или false.

  • Также полезно при индексировании массивов.

  • Двумерные массивы могут быть разреженными.

function_handleДескрипторы функций
  • Указатель на функцию.

  • Разрешает передачу функции другой функции

  • Также можно вызывать функции вне обычной области.

  • Используется для задания функций обратного вызова графики.

  • Сохраните файл в MAT и восстановите его позже.

table, timetableСтолы, Расписания
  • Таблицы представляют собой прямоугольные контейнеры для данных смешанного типа, ориентированных на столбцы.

  • Таблицы имеют имена строк и переменных, которые идентифицируют содержимое.

  • Расписания также обеспечивают хранение данных в таблице со строками, помеченными временем. Функции расписания могут выполнять синхронизацию, повторную выборку или агрегирование данных с временной меткой.

  • Используйте свойства таблицы или расписания для хранения метаданных, таких как переменные единицы.

  • Манипулирование элементами, похожими на числовые или логические массивы.

  • Доступ к данным по числовому или именованному индексу.

  • Можно выбрать подмножество данных и сохранить контейнер таблицы или извлечь данные из таблицы.

structСтруктуры
  • В полях хранятся массивы различных классов и размеров.

  • Доступ к одному или всем полям/индексам в одной операции.

  • Имена полей определяют содержимое.

  • Метод передачи аргументов функции.

  • Используется в списках, разделенных запятыми.

  • Для накладных расходов требуется больше памяти

cellМассивы ячеек
  • В ячейках хранятся массивы различных классов и размеров.

  • Позволяет свободно упаковывать данные по своему усмотрению.

  • Манипулирование элементами аналогично числовым или логическим массивам.

  • Метод передачи аргументов функции.

  • Используется в списках, разделенных запятыми.

  • Для накладных расходов требуется больше памяти

Связанные темы