Массивы ячеек из символьных векторов

Преобразование в Массив ячеек из символьных векторов

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

В то время как фраза "массив ячеек строк" часто использовалась, чтобы описать такие массивы, фраза не точна, потому что такой массив ячеек содержит векторы символов, не строки. Начиная в R2016b, MATLAB обеспечивает строковые массивы как другой средние значения хранения текста. Если вы создаете переменные, которые имеют тип данных string, хранят их в строковых массивах, не массивах ячеек. Для получения дополнительной информации смотрите, Представляют текст с Символьными массивами и Строковыми массивами.

Преобразуйте символьный массив в массив ячеек из символьных векторов. data дополнен пробелами так, чтобы каждая строка имела равное количество символов. Используйте cellstr, чтобы преобразовать символьный массив.

data = ['Allison Jones';'Development  ';'Phoenix      '];
celldata = cellstr(data)
celldata =

  3×1 cell array

    {'Allison Jones'}
    {'Development'  }
    {'Phoenix'      }

data является 3-by-13 символьный массив, в то время как celldata является 3-by-1 массив ячеек из символьных векторов. cellstr также разделяет пробелы в концах строк data.

Функция iscellstr определяет, является ли входной параметр массивом ячеек из символьных векторов. Это возвращает логический 1 (true) в случае celldata:

iscellstr(celldata)
ans =

  logical

   1

Используйте char, чтобы преобразовать назад в заполненный символьный массив.

chr = char(celldata)
chr =

  3×13 char array

    'Allison Jones'
    'Development  '
    'Phoenix      '

Для получения дополнительной информации о массивах ячеек см. Доступ к данным в Массиве ячеек.

Функции для Массивов ячеек из символьных векторов

Эта таблица описывает функции MATLAB для работы с массивами ячеек из символьных векторов.

Функция

Описание

cellstr

Преобразуйте символьный массив в массив ячеек из символьных векторов.

char

Преобразуйте массив ячеек из символьных векторов в символьный массив.

string

При запуске в R2016b преобразуйте массив ячеек из символьных векторов в массив строк.

deblank

Удалите конечные пробелы из символьного массива.

iscellstr

Возвратите true для массива ячеек символьных массивов.

sort

Сортировка элементов в порядке возрастания или убывания.

strcat

Объединяйте символьные массивы или массивы ячеек символьных массивов.

strcmp

Сравните символьные массивы или массивы ячеек символьных массивов.

Можно также использовать следующие функции set с массивами ячеек из символьных векторов.

Функция

Описание

intersect

Установите пересечение двух векторов.

ismember

Обнаружьте членов набора.

setdiff

Возвратите разность множеств двух векторов.

setxor

Установите исключающее ИЛИ двух векторов.

union

Установите объединение двух векторов.

unique

Установите уникальные элементы вектора.