Filter löschen
Filter löschen

How to make a for loop for fft?

5 Ansichten (letzte 30 Tage)
Sag
Sag am 16 Feb. 2016
Kommentiert: Sag am 16 Feb. 2016
Cell Final is (1x15) and it has vectors each 1x2545. I want to run fft function for each vector of cell Final using a for loop. Ultimately I have to compare data from all the 15 row vectors. Here what I have tried:
Final=1x15 cell and each element is a 1x2545 vector
Fs = 1.0173e+03; % Sampling frequency
L = 2500; % Length of signal
NFFT = 2^nextpow2(L);
f=Fs/2*linspace(0,1,NFFT/2+1);
for yy=1:length(Final);
YY= fft(Final(1),NFFT)/L;
YY(1)=[];
power=(2*abs(YY(1:NFFT/2+1)));
plot(f,power);
end

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 16 Feb. 2016
Sag - if Final is a cell array, then your for loop would look something like
for k = 1:length(Final)
YY = fft(Final{k},NFFT)/L;
% etc.
end
Note how we use the indexing variable k to access the kth cell element of Final using the braces {}.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by