I have a cell:
BED4{6,4,4}=[]; eg. BED4{1}{1}{1} ans = [8x1 double] [8x1 double] [8x2 double] [8x1 double]
I would like to calculate mean as if it were through a for loop along the red arrow:

So far I need to do this ...
figure('color',[1 1 1]) titles={'Direct care','Housekeeping','Mealtimes','Medication rounds','Miscellaneous care','Personal care'}; for care=1:6 subplot(3,2,care) clear ame pci1 pci2 gn for position=1:4 for patient=1:4 a(:,:,position,patient,care)=cell2mat(BED4{care}{position}{patient}); end end m=mean(mean(a(:,1,:,:,care),4),3); e=mean(mean(a(:,2,:,:,care),4),3); pci1=mean(mean(a(:,3,:,:,care),4),3); pci2=mean(mean(a(:,4,:,:,care),4),3); gn=a(:,5,1,1,care); if care==1 b={m,e,pci1,pci2,gn}; %store for posterity end h=errorbar(gn,m,e,'sr'); set(h,'linestyle','--','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','white',... 'MarkerSize',5); ylabel('Relative Risk '); xlabel('Patient contact count'); title(titles{ii}) set(gca,'xtick',0:2:8) axis([-2 8 0 1]) end
which gives:
