#matlab #multidimensional-array #average
#matlab #многомерный массив #среднее
Вопрос:
У меня есть вызываемая структура Task
, которая содержит выходные данные предварительной обработки с помощью надстройки для анализа ЭЭГ Fieldtrip.
Это включает в себя вызываемый массив Task.trial
, а также заголовок и другие выходные данные, требуемые Fieldtrip. Мне нужно сохранить это, чтобы я мог впоследствии запустить код визуализации.
Task.trial
представляет собой массив ячеек различной длины. Каждый участник завершает 132 испытания, но не все испытания проходят предварительную обработку. Это оставило различное количество испытаний на одного участника около 120. Для простоты Task.trial представляет собой массив размером 1×120 ячеек. Каждая ячейка Task.trial
содержит двойную ячейку размером 66×500, представляющую каналы ЭЭГ x кадр (при 500 Гц).
Я хочу усреднить Task.trial
по последовательным испытаниям. Я не хочу, чтобы он усреднялся по кадрам или по каналам, поэтому я считаю, что ищу среднее значение в 3-м измерении. Однако следующий код:
TaskAverage = mean (Task.trial,3);
Приводит к следующей ошибке:
Неопределенная функция ‘sum’ для входных аргументов типа ‘cell’.
Ошибка в среднем (строка 115) y = сумма (x, dim, флаг) / размер (x, dim);
Я прочитал здесь множество вопросов, касающихся многомерных массивов и усреднения, а также справочной документации matlab. У меня очень ограниченное понимание основ кодирования matlab, поэтому я не могу понять, как это исправить. Кто-нибудь может объяснить, как заставить это работать?
Моя текущая альтернатива — индивидуально добавлять каждую таблицу данных (120 испытаний x Столько участников).
Комментарии:
1. Если все содержимое имеет разные размеры, как вы ожидаете их усреднения?
2. Эй, я робот-автоответчик! Вы довольны?