Creating for loop for matrixes?
1 view (last 30 days)
Show older comments
jack star
on 18 Apr 2016
Edited: Azzi Abdelmalek
on 18 Apr 2016
Hi all. I am using these codes to calculate To and Fo. I have matrix x(150x160) and I need to process each column of it x(:,1),x(:,2),x(:,3),...,x(:,160) I think the problem is pks and locs have different matrix dimensions for each frames. How can I create for loop to find To and Fo?
For example codes for x(:,1) :
autocor=xcorr(x(:, 1));
[pks,locs] = findpeaks(autocor)
X=pks;
[a,z1] = max(X);
X(z1)= NaN;
[b,z2] = max(X);
To=(abs(locs(z1)-locs(z2)))/Fs;
Fo=1/To
0 Comments
Accepted Answer
Azzi Abdelmalek
on 18 Apr 2016
Edited: Azzi Abdelmalek
on 18 Apr 2016
To=cell(1,10);
Fo=To;
for k=1:10
autocor=xcorr(x(:, 1));
[pks,locs] = findpeaks(autocor)
X=pks;
[a,z1] = max(X);
X(z1)= NaN;
[b,z2] = max(X);
To{k}=(abs(locs(z1)-locs(z2)))/Fs;
Fo{k}=1/To{k}
end
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!