calculate mean af cell

1 次查看(过去 30 天)
I have a cell with 30 rows., In each row there are 39 columns. Every ten folders belong to one person. For each column I want to calculate the average value for the ten folders and give this value instead of 10 different amounts. then do it for folders from 11 to 20 and 21 to 30.
  7 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2014-7-13
编辑:Azzi Abdelmalek 2014-7-13
Each 10 rows from what?
fereshte
fereshte 2014-7-13
rows from 1 to 10 is person one.from 11 to 20 is person two.and 21 to 30 is person three.i want use this cell for person identification

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-7-12
编辑:Azzi Abdelmalek 2014-7-13
clear out
m1=reshape(1:30,10,3);
for k=1:3
m=data_matrix(m1(:,k));
f=num2cell(reshape([m{:}],39,[])',1);
out{1,k}=arrayfun(@(x) mean(cell2mat(f{x}'),2),1:39,'un',0);
end
out=repmat(out,10,1)
out=out(:)
  9 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2014-7-13
Look at edited answer
fereshte
fereshte 2014-7-13
编辑:fereshte 2014-7-13
thank you so much.

请先登录,再进行评论。

更多回答(1 个)

Roger Stafford
Roger Stafford 2014-7-12
If your "cell" is an ordinary 'double' 30 x 39 array, A, do this:
B = [mean(A(1:10,:),1);mean(A(11:20,:),1);mean(A(21:30,:),1)];
or else this:
B = reshape(mean(reshape(A,10,[]),1),3,[]);
Either method should work.
  1 个评论
fereshte
fereshte 2014-7-12
编辑:fereshte 2014-7-12
i dont write this code.please help me :( my cell attached above its 30*1 cell.then in each cell there are 39 features that they are numerical. name of cell is data_all.mat. what write instead of A?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by