Creating for loop for matrixes?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Azzi Abdelmalek
2016 年 4 月 18 日
編集済み: Azzi Abdelmalek
2016 年 4 月 18 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!