Когда вы создаете символьные массивы из векторов символов, все векторы должны иметь ту же длину. Это часто означает, что необходимо заполнить пробелы в конце векторов символов, чтобы компенсировать их длину. Однако другой тип массива 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 для работы с массивами ячеек из символьных векторов.
|
Функция |
Описание |
|---|---|
|
Преобразуйте символьный массив в массив ячеек из символьных векторов. | |
|
Преобразуйте массив ячеек из символьных векторов в символьный массив. | |
При запуске в R2016b преобразуйте массив ячеек из символьных векторов в массив строк. | |
|
Удалите конечные пробелы из символьного массива. | |
|
Возвратите | |
|
Сортировка элементов в порядке возрастания или убывания. | |
|
Конкатенация символьных массивов или массивов ячеек символьных массивов. | |
|
Сравните символьные массивы или массивы ячеек символьных массивов. |
Можно также использовать следующие функции set с массивами ячеек из символьных векторов.
|
Функция |
Описание |
|---|---|
|
Установите пересечение двух векторов. | |
|
Обнаружьте членов набора. | |
|
Возвратите разность множеств двух векторов. | |
|
Установите исключающее ИЛИ двух векторов. | |
|
Установите объединение двух векторов. | |
|
Установите уникальные элементы вектора. |