Фундаментальные классы MATLAB

Существует много различных типов данных, или classes, с которыми можно работать в 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Таблицы, Timetables
  • Таблицы являются прямоугольными контейнерами для данных смешанного типа, ориентированных на столбцы.

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

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

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

  • Манипуляция элементами, подобными числовым или логическим массивам.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы