Ячейка по сравнению с массивами структур

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

Массивы структур

Массивы структур содержат данные в полях, к которым вы получаете доступ по наименованию.

Например, сохраните терпеливые записи в массиве структур.

patient(1).name = 'John Doe';
patient(1).billing = 127.00;
patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];

patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];

patient
patient = 1x2 struct array with fields:
    name
    billing
    test

Создайте гистограмму результатов испытаний для каждого пациента.

numPatients = numel(patient);
for p = 1:numPatients
   figure
   bar(patient(p).test)
   title(patient(p).name)
   xlabel('Test')
   ylabel('Result')
end

Массивы ячеек

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

Например, храните температурные данные для трех городов в зависимости от времени в массиве ячеек.

temperature(1,:) = {'2009-12-31', [45, 49, 0]};
temperature(2,:) = {'2010-04-03', [54, 68, 21]};
temperature(3,:) = {'2010-06-20', [72, 85, 53]};
temperature(4,:) = {'2010-09-15', [63, 81, 56]};
temperature(5,:) = {'2010-12-09', [38, 54, 18]};

temperature
temperature = 5x2 cell array
    {'2009-12-31'}    {1x3 double}
    {'2010-04-03'}    {1x3 double}
    {'2010-06-20'}    {1x3 double}
    {'2010-09-15'}    {1x3 double}
    {'2010-12-09'}    {1x3 double}

Постройте температуры для каждого города по дате.

allTemps = cell2mat(temperature(:,2));
dates = datetime(temperature(:,1));

plot(dates,allTemps)
title('Temperature Trends for Different Locations')
xlabel('Date')
ylabel('Degrees (Fahrenheit)')

Другие контейнерные массивы

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

Смотрите также

| | | | | |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте