calculate mean af cell

1 visualizzazione (ultimi 30 giorni)
fereshte
fereshte il 12 Lug 2014
Modificato: fereshte il 13 Lug 2014
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 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 13 Lug 2014
Modificato: Azzi Abdelmalek il 13 Lug 2014
Each 10 rows from what?
fereshte
fereshte il 13 Lug 2014
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

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 12 Lug 2014
Modificato: Azzi Abdelmalek il 13 Lug 2014
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 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 13 Lug 2014
Look at edited answer
fereshte
fereshte il 13 Lug 2014
Modificato: fereshte il 13 Lug 2014
thank you so much.

Accedi per commentare.

Più risposte (1)

Roger Stafford
Roger Stafford il 12 Lug 2014
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 Commento
fereshte
fereshte il 12 Lug 2014
Modificato: fereshte il 12 Lug 2014
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?

Accedi per commentare.

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by