我有一个名为'data'的结构,有100个条目,每个条目对应一个实验的参与者。 100个条目中的每一个包含多个6x6矩阵,给出不同的值。
例如,我的第一个参与者的矩阵示例是:
data.p001.matrixCB
18.9737 17.0000 14.2829 12.4499 11.7898 10.0995
18.1384 16.0000 13.4907 11.7898 11.2250 10.3441
14.7986 12.5300 11.7898 11.7473 12.2066 9.3808
14.3527 13.4536 12.9615 13.3417 12.7279 11.7047
18.0278 17.8885 17.6068 17.4642 17.1464 16.6132
24.1661 24.7790 23.7697 23.3880 22.6495 23.8537
...这是具有类似设置的结构中的100个条目之一。
我希望在100位参与者中获得矩阵中每个单元格的平均值。所以我会得到位置矩阵C(1,1)中100个值的平均值,以及矩阵中的所有其他位置。不幸的是,我无法看到这是如何完成的,并且帮助功能不太有用。非常感谢任何帮助!
答案 0 :(得分:1)
您可以将所有100个矩阵加总为Sum
,然后除以100 - Sum./100
,然后每个单元格代表每个索引上所有100个单元格的平均值。
例如 -
Sum = A + B ;
Sum./2 ;
答案 1 :(得分:1)
结构可能是一种痛苦。为避免输入大量代码,您可以采用以下方法:
此代码:
Mcell = arrayfun(@(x) data.(sprintf('p%03d',x)).matrixCB, 1:100, 'uni', 0);
M = mean( reshape(cell2mat(Mcell), 6, 6, []), 3 );