problem with mean in cell arrays
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
for k=1:8
cd(phonemes{k});
data=dir('*.pcm');
for i=1:length(data)
fid=fopen(data(i).name,'r');
phone{k}.train_sig{i}=fread(fid,inf,'int16');
phone{k}.train_mfcc{i}=frontend(phone{k}.train_sig{i});%extracting mfcc's
m{k}.e{i}=mean(phone{k}.train_mfcc{i});%each value for m{k}.e{i} is 1x12 array
fclose(fid);
end
v{k}=mean({m{k}.e{:}});%error undefined sum
end
i make this code and now i want to calculate the mean for m{k}.e{:},namely the mean for each m{k}. for all e{} elements !! any ideas ?? i tried v{k} but its wrong..any help??
0 commentaires
Réponse acceptée
Sven
le 18 Fév 2012
v{k} = mean([m{k}.e{:}])
The mean() function calculates the mean of an array of numbers, not a cell.
The above should work because you stated that each value for m{k}.e{i} is 1x12. If instead they were column matrices (ie, 12x1), then you couldn't concatenate them horizontally with [], but could instead use
mean(cat(1,m{k}.e{:}))
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!