A very basic question about nested for loops
1 次查看(过去 30 天)
显示 更早的评论
Hello all,
There are 2 persons, which each are pronouncing 9 vowels 10 times (I have in total 2*9*10 sound files). I've derived 2 features (F1 and F2) for each repetition of each vowel for all speakers, and now Im trying to compute mean and covariance for them . Here is where Im stuck: The sigma_est should result in 9 matrices of size 2x2 (as there are 9 vowels) , while it is just of size 2x2. It seems that the outset loop doesn't work properly to make 9 iterations of inner loops. What should I do in order to make it done? Thanks !
Here is the code:
Nvow = 9; % number of vowels
Nrep = 10; % number of repetition for each vowel
Nspeak = 2; % number of speakers in the group
for i=1:Nvow
for k=1:Nspeak
for j=1:Nrep
F1(i,k,j) = features_tst((k-1)*Nvow*Nrep+(i-1)*Nrep+j).value(1);
F2(i,k,j) = features_tst((k-1)*Nvow*Nrep+(i-1)*Nrep+j).value(2);
end
end
F11=reshape(squeeze(F1(i,:,:)),20,1);
F22=reshape(squeeze(F2(i,:,:)),20,1);
mu_est_F1 = sum(F11)/(Nrep*Nspeak);
mu_est_F2 = sum(F22)/(Nrep*Nspeak);
F=[F11 F22];
mu_est=[mu_est_F1 mu_est_F2];
sigma_est=cov(F);
end
0 个评论
采纳的回答
sixwwwwww
2013-10-26
Dear Negar, re-write the last line as follows:
sigma_est{i} = cov(F);
Then sigma_est will contain 9 matrices of 2x2 size in a cell array. I hope it helps. Good luck!
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!