我目前正在使用以下代码来获取存储在结构matData
中的8766个矩阵的平均值,但当我查看Mcell
(1x8766个单元格)内存储在每个单元格中的所有值时与单元格1x1中的重复。我想知道我做错了什么,因为我将采用这个结构中所有矩阵的nanmean
。
Mcell = arrayfun(@(x) matData(sprintf('(%d)',x)).shape, 1:8766, 'uni', 0);
M = nanmean( reshape(cell2mat(Mcell), 192, 144, []), 3 );
额外备注:matData
是1x8766结构,matdata
中有1个字段文件被称为matData(i).shape
i=1:8766
,其中192x144为双。
感谢您的所有输入和帮助。
答案 0 :(得分:1)
您只需要struct2cell
,cell2mat
和nanmean
的组合:
matData = cell2struct(num2cell(randn(192,144,8766),[1,2]), 'shape', 1); % Sample input
result = nanmean(cell2mat(struct2cell(matData)),3);