В этом примере показано, как считывать и записывать данные в массив ячеек и из него.
Создайте массив ячеек 2 на 3 из текстовых и цифровых данных.
C = {'one', 'two', 'three';
1, 2, 3}C=2×3 cell array
{'one'} {'two'} {'three'}
{[ 1]} {[ 2]} {[ 3]}
Существует два способа ссылки на элементы массива ячеек. Заключить индексы в гладкие скобки, (), чтобы обратиться к наборам ячеек - например, чтобы определить подмножество массива. Заключить индексы в фигурные скобки, {}, для ссылки на текст, цифры или другие данные в отдельных ячейках.
Индексы массива ячеек в гладких скобках относятся к наборам ячеек. Например, чтобы создать массив ячеек 2 на 2, который является подмножеством C, используйте гладкие круглые скобки.
upperLeft = C(1:2,1:2)
upperLeft=2×2 cell array
{'one'} {'two'}
{[ 1]} {[ 2]}
Обновите наборы ячеек, заменив их одинаковым количеством ячеек. Например, замените ячейки в первой строке C с массивом ячеек эквивалентного размера (1 на 3).
C(1,1:3) = {'first','second','third'}C=2×3 cell array
{'first'} {'second'} {'third'}
{[ 1]} {[ 2]} {[ 3]}
Если ячейки в массиве содержат числовые данные, их можно преобразовать в числовой массив с помощью cell2mat функция.
numericCells = C(2,1:3)
numericCells=1×3 cell array
{[1]} {[2]} {[3]}
numericVector = cell2mat(numericCells)
numericVector = 1×3
1 2 3
numericCells является массивом ячеек 1 на 3, но numericVector является массивом типа 1 на 3 double.
Доступ к содержимому ячеек - числам, тексту или другим данным внутри ячеек - осуществляется путем индексации фигурными скобками. Например, для доступа к содержимому последней ячейки C, используйте фигурные скобки.
last = C{2,3}last = 3
last - числовая переменная типа double, поскольку ячейка содержит double значение.
Аналогично, можно индексировать фигурными скобками для замены содержимого ячейки.
C{2,3} = 300C=2×3 cell array
{'first'} {'second'} {'third'}
{[ 1]} {[ 2]} {[ 300]}
Доступ к содержимому нескольких ячеек можно получить, проиндексировав фигурные скобки. MATLAB ® возвращает содержимое ячеек в виде списка, разделенного запятыми. Поскольку каждая ячейка может содержать данные различного типа, этот список нельзя назначить одной переменной. Однако список можно назначить тому же числу переменных, что и ячейки. MATLAB ® присваивает переменным порядок столбцов.
Назначение содержимого четырех ячеек C до четырех переменных.
[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2}r1c1 = 'first'
r2c1 = 1
r1c2 = 'second'
r2c2 = 2
Если каждая ячейка содержит один и тот же тип данных, можно создать одну переменную, применив оператор конкатенации массива, [], в список, разделенный запятыми.
Объедините содержимое второй строки в числовой массив.
nums = [C{2,:}]nums = 1×3
1 2 300