У меня есть структура в следующем формате:Mean полей в структуре с использованием structfun, Matlab
A.L1.data = <1000x3 double>
A.L2.data = <1000x3 double>
A.L3.data = <1000x3 double>
Я хотел бы получить среднее значение первого столбца всех полей, т.е. один вектор 1000 строки, которые являются средними для L1, L2 и L3.
Я попытался с помощью structfun со следующим кодом:
foo = structfun(@(x) mean(x.data(:,1)), A, 'UniformOutput', false)
Однако, это дает мне среднее (одно значение) каждого первого столбца, а не среднее значение всех полей.
Если я:
foo = structfun(@(x) mean(x.data), A, 'UniformOutput', false)
я получить среднее значение каждого столбца для каждого поля.
Как мне изменить свой код?
'x.data (:, 1)' используется для обозначения первого столбца, базового синтаксиса индекса MATLAB. Вместо этого попробуйте 'mean (x.data)'. – Adriaan