Передача содержимого Массивов ячеек к функциям

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

Передайте содержимое отдельной ячейки путем индексации с фигурными скобками, {}

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

randCell = {'Random Data', rand(20,2)};
plot(randCell{1,2})
title(randCell{1,1})

Figure contains an axes. The axes with title Random Data contains 2 objects of type line.

Постройте только первый столбец данных путем индексации далее в содержимое (многоуровневая индексация).

figure
plot(randCell{1,2}(:,1))
title('First Column of Data')

Figure contains an axes. The axes with title First Column of Data contains an object of type line.

Объедините числовые данные от нескольких ячеек Используя cell2mat

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

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

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

plot(dates, allTemps)

Figure contains an axes. The axes contains 3 objects of type line.

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

Этот пример строит X против Y , и применяет стили линии от 2 3 массива ячеек C.

X = -pi:pi/10:pi;
Y = tan(sin(X)) - sin(tan(X));

C(:,1) = {'LineWidth'; 2};
C(:,2) = {'MarkerEdgeColor'; 'k'};
C(:,3) = {'MarkerFaceColor'; 'g'};

plot(X, Y, '--rs', C{:})

Figure contains an axes. The axes contains an object of type line.

Похожие темы

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